我有一个适用于Windows平台的C++应用程序。此应用程序创建 .mat 文件。目前我们仅支持 4、5 和 7.3 版本的 matlab。我们希望添加对更高版本的 matlab 的支持。
在 matio.h(从 https://sourceforge.net/projects/matio/ 下载)的枚举 mat_ft 中,仅支持三个 matlab 版本 4、5 和 7.3
enum mat_ft {
MAT_FT_MAT73 = 0x0200, /**< @brief Matlab version 7.3 file */
MAT_FT_MAT5 = 0x0100, /**< @brief Matlab version 5 file */
MAT_FT_MAT4 = 0x0010, /**< @brief Matlab version 4 file */
MAT_FT_UNDEFINED = 0 /**< @brief Undefined version */
};
创建 .mat 文件 在调用 Mat_CreateVer 时,我们传递上面的枚举
`pMat = Mat_CreateVer(matFileName.append(".mat").toLocal8Bit().data(), NULL,` ***MAT_FT_MAT73***);
这对于 7.3 及以下的 matlab 版本来说是可以的。 我必须为 Matlab R2016b 和其他更高版本(直至 R2023b)调用 Mat_CreateVer() 那么我应该传递什么枚举值?
MAT 文件版本与引入时 MATLAB 的版本号相对应。 MAT 文件版本 7.3 适用于 MATLAB v7.3(版本 R2006b)及更高版本。自(R2023b 起)以来,文件格式未曾更改,因此仍然是最新的。请参阅此文档页面以获取 MAT 文件版本列表。
version
与由 matlabRelease
返回的版本之间存在差异。