Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-05
年龄: 41
帖子: 6
声望力: 0 ![]() |
![]()
做了些东西需要把数据从Matlab中导出变成2进制文件
用了下面的语句实现 fid=fopen(1.bin); count=fwrite(fid,a,’integer*1‘); 但是为什么数据少时(例如256个)就是对的, 但当数据多的时候(512*256),数据就会出错。 有没有人做过这些,给些指点~小女子不甚感激:lovely: |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24 ![]() |
![]()
请将具体问题帖出来,出错是在哪个地方?fwrite应该没问题吧……
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-03-05
年龄: 41
帖子: 6
声望力: 0 ![]() |
![]()
就是比如说我读 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位显示 |
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2008-02-26
年龄: 41
帖子: 71
声望力: 24 ![]() ![]() ![]() |
![]()
我倒是遇见过数据大的时候写不进的情况,只好分开来写入。虽然说fopen、fwrite等没有明确的数据长度的限制,但是还是有时会出问题。最好也要把permission写清楚。
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-03-05
年龄: 41
帖子: 6
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#6 |
高级会员
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24 ![]() |
![]()
我还是没有看懂你的数据文件的类型,对于matlab而言,数据格式有两种,一种是以ascii码编写的,一种是以二进制表示的,所以对于你的问题,好像.bin是ascii编码的数据文件,这样可以直接打开调用。如果要存为二进制编码的文件的话,可以直接用save命令,直接存成二进制的。
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【求助】请问谁有matlab工具箱应用方面的书? | casc42 | MATLAB论坛 | 5 | 2008-09-22 16:53 |
【求助】关于解高斯全主元消去的线性方程最后交换解的方法 | littlejedi | MATLAB论坛 | 1 | 2008-01-17 18:35 |
IIR滤波器设计防真,设计GUI界面 | leku | MATLAB论坛 | 2 | 2007-06-19 23:52 |
如何求贝塞尔函数的导数. | xiaorain19841202 | MATLAB论坛 | 0 | 2007-06-03 16:38 |