我有一个适用于 Windows 平台的 C++ 应用程序。此应用程序创建 MAT 文件。目前我们仅支持 MATLAB 版本 4、5 和 7.3。我们希望添加对更高版本 MATLAB 的支持。
在.h(从https://sourceforge.net/projects/matio/下载)中,在 enum 中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 */
Run Code Online (Sandbox Code Playgroud)
};
要在调用时创建 MAT 文件,Mat_CreateVer我们传递上面的枚举
pMat = Mat_CreateVer(matFileName.append(".mat").toLocal8Bit().data(), NULL, MAT_FT_MAT73);
Run Code Online (Sandbox Code Playgroud)
这对于 7.3 以下的 MATLAB 版本来说是可以的。我必须要求Mat_CreateVer()MATLAB R2016b 和其他高达 R2023b 的更高版本。我应该传递什么枚举值?
MAT 文件版本与引入时 MATLAB 的版本号相对应。MAT 文件版本 7.3 适用于 MATLAB v7.3(版本 R2006b)及更高版本。自(R2023b 起)以来,文件格式未曾更改,因此仍然是最新的。有关 MAT 文件版本的列表,请参阅此文档页面。
另请注意,MATLABversion和由 . 返回的版本之间存在差异matlabRelease。
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |