将Matlab代码移植到具有.mat数据集的C++

Port Matlab code to C++ having .mat dataset

本文关键字:mat 数据集 C++ Matlab 代码      更新时间:2023-10-16

我正在尝试将数据类型为struc.mat文件导出为hd5格式,以使其与使用coder的c++移植兼容。但hd5只接受数值。代码给出以下错误-

Error using ==> h5write at 54 Argument 'Data' failed validation isnumeric.

我不确定我是否正确使用它,尽管这是我的代码

h5write('myfile.h5','/model/filters',model.filters,1,146); 

也尝试过,但得到了相同的错误-

h5write('myfile.h5','/model/filters','face_p146_small.mat',1,146);

我的怀疑延续了我之前在这里提出的问题。任何关于将代码从Matlab移植到具有.mat文件格式数据的C++的帮助都将不胜感激。

最后我找到了我的场景的答案。由于我使用的算法使用非常复杂的数据,我需要使用二进制数据格式,但不支持Matlab支持的所有二进制数据格式转换/移植到C++。

将Matlab代码转换为C++时支持的所有函数的列表

http://www.mathworks.in/help/simulink/ug/functions-supported-for-code-generation--alphabetical-list.html

Matlab 支持的数据格式列表

http://www.mathworks.in/help/matlab/import_export/supported-file-formats.html

在转换中似乎不支持matlab支持的函数数据格式。

因此,我肯定要重写代码