目前我正在开发一个基于一些 MATLAB 代码的 C++ 程序。在开发期间,我需要将中间结果输出到 MATLAB,以便将 C++ 实现结果与 MATLAB 结果进行比较。我现在做的是用C++写一个二进制文件,然后用MATLAB加载这个二进制文件。以下代码显示了一个示例:
int main ()
{
ofstream abcdef;
abcdef.open("C:/test.bin",ios::out | ios::trunc | ios::binary);
for (int i=0; i<10; i++)
{
float x_cord;
x_cord = i*1.38;
float y_cord;
y_cord = i*10;
abcdef<<x_cord<<" "<<y_cord<<endl;
}
abcdef.close();
return 0;
}
当我有文件 test.bin 时,我可以使用 MATLAB 命令自动加载文件:
data = load('test.bin');
当输出数值数据时,这种方法可以很好地工作;但是,如果输出是具有许多成员变量的类,它可能会失败。我想知道是否有更好的方法来完成这项工作,不仅适用于简单的数值数据,而且适用于复杂的数据结构。谢谢!