0731820029 发表于 2009-8-29 20:21

MATLAB中如何读取二进制文件

我最近在做数据采集的程序,现在已经用VB编程采集了数据,并且以二进制文件保存的文件名为:data.byt,但是并不是".mat"格式的,请问如何读取啊?最近做实验比较急用!请各位高手多多帮忙啊!非常感谢!!
下面是我写的读取的程序,但是没有用啊!一运行就出错!
fid=fopen(weiyilidata,rb)
A=fread(fid,1000,double)
status=fclose(fid)

ChaChing 发表于 2009-8-29 21:16

出错提示??

0731820029 发表于 2009-8-30 10:02

回复 沙发 ChaChing 的帖子

我已经把二进制文件存放到MATLAB下面的work文件夹里了。。。。。出错提示如下:
??? Undefined function or variable "weiyilidata".

Error in ==> binaryread at 1
fid=fopen(weiyilidata.byt,rb)

ChaChing 发表于 2009-8-30 11:38

回复 板凳 0731820029 的帖子

报错是告知无此weiyilidata档案!?
weiyilidata是什麽? 是变数或档案名称?
若为档案名称, 应为fid=fopen('weiyilidata.byt','r')
试试看吧

0731820029 发表于 2009-8-30 14:24

回复 地板 ChaChing 的帖子

我试了一下还是出现同样的错误啊!我的文件weiyilidata.byt是我通过VB编写的采样程序所采集的振动试验中的力和位移数据。是不是因为我的数据是byt结构的,而不是dat结构的原因呢?我实在是找不到原因了,所以请高手们多多帮忙啊!非常感谢啊!

按照您的建议修改以后的语句是不是这样的?
fid=fopen(weiyilidata.byt,r);
A=fread(fid,1000,double);
status=fclose(fid);
但是出错还是:
??? Undefined function or variable "weiyilidata".

Error in ==> binaryread at 1
fid=fopen(weiyilidata.byt,r);

[ 本帖最后由 ChaChing 于 2009-8-30 18:15 编辑 ]

ChaChing 发表于 2009-8-30 18:12

应为fid=fopen('weiyilidata.byt','r')
注意那个引号!!

[ 本帖最后由 ChaChing 于 2009-8-30 18:13 编辑 ]

0731820029 发表于 2009-8-30 21:40

回复 6楼 ChaChing 的帖子

谢谢您的帮助!我明白了一些。。。
:@) 我刚接触MATLAB,有很多都不太明白,如果还有问题,还要麻烦您多多指教啊!

0731820029 发表于 2009-8-31 09:12

回复 6楼 ChaChing 的帖子

我又出现新的问题了。。。。为什么在执行第二句的时候也报错呢?出错提示如下:
??? Input argument "TotalBits" is undefined.

Error in ==> float at 36
if ischar(TotalBits)

Error in ==> binaryread at 2
A=fread('fid',1000,float);
请求高手指点一下啊!

ChaChing 发表于 2009-8-31 19:55

A=fread('fid',1000,float);
change to
A=fread(fid,1000,'float');
页: [1]
查看完整版本: MATLAB中如何读取二进制文件