c – 将Matlab变量传递给C

我在一些Matlab代码中有一个非常大的数据结构,它是以数组为单元格的形式.我们想开发C代码来处理这些数据,但我需要一些方法来存储Matlab变量(我们在Matlab中生成)并在C/C++程序中打开它.桥接这两个程序的最简单方法是什么,以便我可以传输数据?

解决方法

如果您只是偶尔将数据从MATLAB移动到C,最简单的方法是将其写入二进制文件,然后从C中的文件中读取.这当然使C代码完全独立于MATLAB.

如果您的数据结构只是常规数组的单元数组,例如,这不一定是那么混乱.

a{1} = zeros(1,5);
a{2} = zeros(1,4);

您可以为每个单元格写一个标题,然后将数据写入文件.在上面的例子中,那将是:

[length{1} data{1} length{2} data{2}]

在上述情况中:

5 0 0 0 0 0 4 0 0 0 0

如果数组是2D,您可以通过编写:row,column,然后按行 – 主要顺序为每个单元格来扩展它.

这可能不太方便,但应该足够简单.您也可以将其保存为.mat文件并阅读,但我不建议这样做.在MATLAB中将它放在二进制格式中要容易得多.

如果你需要比文件方便的频率更频繁地移动数据,还有其他选择,但我能想到的只是以某种方式与MATLAB相关联.

相关文章

一.C语言中的static关键字 在C语言中,static可以用来修饰局...
浅谈C/C++中的指针和数组(二) 前面已经讨论了指针...
浅谈C/C++中的指针和数组(一)指针是C/C++...
从两个例子分析C语言的声明 在读《C专家编程》一书的第三章时...
C语言文件操作解析(一)在讨论C语言文件操作之前,先了解一下...
C语言文件操作解析(三) 在前面已经讨论了文件打开操作,下面...