对高于 7.3 的 MATLAB 版本使用 Mat_CreateVer

RKu*_*Kum 2 matlab matio

我有一个适用于 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 的更高版本。我应该传递什么枚举值?

Edr*_*ric 5

MAT 文件版本与引入时 MATLAB 的版本号相对应。MAT 文件版本 7.3 适用于 MATLAB v7.3(版本 R2006b)及更高版本。自(R2023b 起)以来,文件格式未曾更改,因此仍然是最新的。有关 MAT 文件版本的列表,请参阅此文档页面。

另请注意,MATLABversion和由 . 返回的版本之间存在差异matlabRelease