加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 将Matlab变量传递给C

发布时间:2020-12-16 06:58:33 所属栏目:百科 来源:网络整理
导读:我在一些Matlab代码中有一个非常大的数据结构,它是以数组为单元格的形式.我们想开发C代码来处理这些数据,但我需要一些方法来存储Matlab变量(我们在Matlab中生成)并在C/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相关联.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读