声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2163|回复: 8

[编程技巧] MATLAB中如何读取二进制文件

[复制链接]
发表于 2009-8-29 20:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2009-8-29 21:16 | 显示全部楼层
出错提示??
 楼主| 发表于 2009-8-30 10:02 | 显示全部楼层

回复 沙发 ChaChing 的帖子

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

Error in ==> binaryread at 1
fid=fopen(weiyilidata.byt,rb)
发表于 2009-8-30 11:38 | 显示全部楼层

回复 板凳 0731820029 的帖子

报错是告知无此weiyilidata档案!?
weiyilidata是什麽? 是变数或档案名称?
若为档案名称, 应为fid=fopen('weiyilidata.byt','r')
试试看吧
 楼主| 发表于 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 编辑 ]
发表于 2009-8-30 18:12 | 显示全部楼层
应为fid=fopen('weiyilidata.byt','r')
注意那个引号!!

[ 本帖最后由 ChaChing 于 2009-8-30 18:13 编辑 ]
 楼主| 发表于 2009-8-30 21:40 | 显示全部楼层

回复 6楼 ChaChing 的帖子

谢谢您的帮助!我明白了一些。。。
:@) 我刚接触MATLAB,有很多都不太明白,如果还有问题,还要麻烦您多多指教啊!
 楼主| 发表于 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);
请求高手指点一下啊!
发表于 2009-8-31 19:55 | 显示全部楼层
A=fread('fid',1000,float);
change to
A=fread(fid,1000,'float');
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 08:29 , Processed in 0.056277 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表