idl(或matlab)中如何打开dat文件

MATLAB如何打开和保存文件

老铁们,大家好,相信还有很多朋友对于idl(或matlab)中如何打开dat文件和matlab不建议使用textread的相关问题不太懂,没关系,今天就由我来为大家分享分享idl(或matlab)中如何打开dat文件以及matlab不建议使用textread的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. idl(或matlab)中如何打开dat文件
  2. 用matlab语句编写一个程序,要求:输入一个字符串后显示一个数字

idl(或matlab)中如何打开dat文件

对于小文件的dat文件我使用的是ultraedit打开的。如果使用MATLAB就比较简单。只需要一个代码就可以。我以自己的dat文件为例。dat在ultraedit打开如图所示。

对应的MATLAB代码如图所示。图中t为文件绝对路径;

文件读完之后要关闭掉文件句柄。

读出来的结果如图所示(图中的第一行)。

可以将内容读入到一个矩阵。矩阵的格式可以自己来定义。具体矩阵的格式可以参照如下fread函数语法,如图所示。

当然,在读取之前要注意dat里面的存储格式,数据的位宽可能为8bits,16bits,24bits等等。一定要搞明白。另外你的数据是有符号的还是无符号的,一定搞清楚。否则读出来的数据都是错的。

关于dat文件一些科普知识

1.数据显示格式为十六进制格式。

2.dat文件存储格式低位在左,高位在右。如图所示。

3.dat文件长度与所存数据的个数不一致。

4.dat文件打开方式采用rb+而不是r+。文件打开,读写方式如图。

5.如果需要在c语言下写dat文件操作,我也有现成的代码,欢迎一起讨论。

用matlab语句编写一个程序,要求:输入一个字符串后显示一个数字

你是不是想对16进制数据进行二进制转换啊,我这里有这个程序,可以试试这个

%%%%%%16进制转10进制转化方法一%%%%%%%%%%%%

a=textread('c:\a.txt','%s')';%以字符形式打开文件

alpha=hex2dec(a)';%16进制转化为10进制数,存入alpha矩阵

%%%%%%%16进制转10进制转化方法二%%%%%%%%%%%

[wenjian_ming,lujing_ming]=uigetfile('c:\a.txt','导入数据');

fid=fopen(strcat(lujing_ming,wenjian_ming),'r');

data=[];

while~feof(fid)

m=fscanf(fid,'%3x',[1inf]);

data=[data;m];%将读出的数据存入data矩阵中

end

alpha=data;

%%%%%%%保存文件方法一%%%%%%%%%%%%%%

dlmwrite('c:\b.txt',alpha,'delimiter','')%将得出数据存入新的b.txt文档

%%%%%%%保存文件方法二%%%%%%%%%%%%%%

fid=fopen('c:\d.txt','w');

fprintf(fid,'%d',alpha');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alpha2=alpha(1:2:length(alpha)-mod(length(alpha)+1,2));%将奇数元素提取出来

dlmwrite('c:\c.txt',alpha2,'delimiter','')%将得出数据存入新的c.txt文档

%%%%%%%画图%%%%%%%%%%%%%%

plot(1:length(alpha2),alpha2)%画图

OK,关于idl(或matlab)中如何打开dat文件和matlab不建议使用textread的内容到此结束了,希望对大家有所帮助。

在matlab中怎么将dat文件中的数字准确的打开

本文内容来自互联网,若需转载请注明:https://bk.jguuu.com//12/108319.html