登录论坛

查看完整版本 : 【求助】Matlab中数据导出


shalott
2008-03-05, 16:15
做了些东西需要把数据从Matlab中导出变成2进制文件
用了下面的语句实现
fid=fopen(1.bin);
count=fwrite(fid,a,’integer*1‘);

但是为什么数据少时(例如256个)就是对的,
但当数据多的时候(512*256),数据就会出错。

有没有人做过这些,给些指点~小女子不甚感激:lovely:

dnping
2008-03-05, 16:40
请将具体问题帖出来,出错是在哪个地方?fwrite应该没问题吧……

shalott
2008-03-05, 20:03
就是比如说我读 I 的数据,然后从串口精灵把文件打开
I 原来的值是 3 4 3 4 4 6 5 5 4……是一个(1,309*376)的矩阵
但是在产口中打开文件后数据是:00 00 01 03 04 04 04 04 02 05 05 03 03 06 06 04 00 01……
I 的数据类型是 uint8
串口用16位显示

xyz20070912
2008-03-06, 11:13
我倒是遇见过数据大的时候写不进的情况,只好分开来写入。虽然说fopen、fwrite等没有明确的数据长度的限制,但是还是有时会出问题。最好也要把permission写清楚。

shalott
2008-03-07, 21:14
那么你做的最大的数据量能够多少呢?
我倒是遇见过数据大的时候写不进的情况,只好分开来写入。虽然说fopen、fwrite等没有明确的数据长度的限制,但是还是有时会出问题。最好也要把permission写清楚。

dnping
2008-03-08, 08:36
我还是没有看懂你的数据文件的类型,对于matlab而言,数据格式有两种,一种是以ascii码编写的,一种是以二进制表示的,所以对于你的问题,好像.bin是ascii编码的数据文件,这样可以直接打开调用。如果要存为二进制编码的文件的话,可以直接用save命令,直接存成二进制的。