返回信息流数据文件格式如下:
3F 0B C6 A8 //float的四个字节
3F 7B E7 6D
数据保存在一个txt文件中
现在问题是如何用matlab按照float格式进行读取。试了下fread,结果不对,或许是用错了。请指教啊。
这是一条镜像帖。来源:北邮人论坛 / matlab / #10202同步于 2013/8/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
matlab读取float数据文件
zj123
2013/8/28镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
这样子可以吗?
fid = fopen('float.txt','r');
varname = textscan(fid,'%s%s%s%s%[\r\n]');
fclose(fid);
data = [varname{:,1},varname{:,2},varname{:,3},varname{:,4}]
【 在 zj123 的大作中提到: 】
: 数据文件格式如下:
: 3F 0B C6 A8 //float的四个字节
: 3F 7B E7 6D
: ...................
【 在 yanglei5658 的大作中提到: 】
: 这样子可以吗?
: [color=#8A2BE2]fid = fopen('float.txt','r');
: varname = textscan(fid,'%s%s%s%s%[\r\n]');
: ...................
我表达不清楚。。。。是txt文件里存着数据,四个一组是float的内存字节的内容,现在要把float数的值读到matlab里面,想知道怎么做,不是分别把内存里的四个字节读出来。
float类型在内存中如何存储,这是不是很清楚,但是如果是想直接把十六进制数据转化为float数据,估计不好弄。
一般是先把数据读到matlab中,再进行转化。
【 在 zj123 的大作中提到: 】
: 我表达不清楚。。。。是txt文件里存着数据,四个一组是float的内存字节的内容,现在要把float数的值读到matlab里面,想知道怎么做,不是分别把内存里的四个字节读出来。
【 在 zj123 的大作中提到: 】
: 数据文件格式如下:
: 3F 0B C6 A8 //float的四个字节
: 3F 7B E7 6D
: ...................
命令你如果容不好的话你就采用专用的数据导入工具,应该可以找到,import data界面;
然后里面一定要设置好你的数据分隔方式,你这个应该是空格符,然后别忘了制定数据的
内容,默认一般是数字,你要设置成读入的数据为字符串,最后使用hex2dec命令来完成
16进制向10进制的转换就成了。
如果你坚持用文本文件来完成上述操作,那就好好搜索一下吧,这方面的例子应该很多的,祝好运!