您的位置 首页 > 数码极客

如何将matlab数据保存为txt

嵌入式系统通过串口向PC发送的数据往往是16进制数,但是我们直观的比较数据则是用10进制的形式,这就需要将16进制数转化成10进制数。

嵌入式系统通过串口调试助手将采集的数据发送至PC后,一般先保存成TXT文档。此时的第一个问题就是如何通过Matlab读取TXT文件的值。

Matlab的textread函数就可以实现该功能,当然用fopen也可以,但textread 比较简单。其中textread的使用可以参考help文档。

读取txt文件后,就需要将16进制的数据转化成10进制了,此时需要用到Matlab的另外一个函数hex2dec(a),这个函数的具体用法也见help。

下面就是读取二进制txt文件的例子:

假如txt文档中内容为0001 0010 0011 0100 1000,保存在文档中

使用a=textread('','%s')'

a ='0001' '0010' '0011' '0100' '1000'

可以看到数据保存为了char格式。

使用bin2dec

b=bin2dec(a)'

b =1 2 3 4 8

可以看到成功地转换成了十进制文件。

十六进制文件:0001 0010 0011 0100 1000 A B C AA

a=textread('','%s')'

a ='0001' '0010' '0011' '0100' '1000' 'A' 'B' 'C' 'AA'

可以看到成功读取了文件。

b=hex2dec(a)'

b =1 16 17 256 4096 10 11 12 170

读取完毕。

将16进制数据转换成10进制后还需要将数据进行保存。此时要用到Matlab的dlmwrite函数,输入dlmwrite('c:\b.txt',b,'delimiter', ' '),就可以将得出数据存入新的b.txt文档。

上面就是如何通过Matlab读取十六进制数据并处理了。你学会了没有?

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何将matlab数据保存为txt”边界阅读