用matlab可以读.dat文件吗?在已知文件存放内容的情况下
用matlab可以读.dat文件吗?在已知文件存放内容和数据排放格式的情况下 用load即可[ 本帖最后由 ChaChing 于 2010-7-9 15:09 编辑 ] 为什么我在用load读取.txt文件时总是出错,提示:Number of columns on line 2 of ASCII file F:\ttt1.txt
must be the same as previous lines.
是因为文件的内容有问题??请高手指点一下 估计文件中有文字吧,用importdata试试 matlab用load读取txt或者dat的文件,文件中必须是纯粹的数据,不允许有其他的文字说明。txt或者dat中的数据文件最好是按矩阵形式排列,在读取之后可直接用于程序。
[ 本帖最后由 eight 于 2007-6-6 16:08 编辑 ] 已知文件中前80个字节是文字说明内容,后面的全是按照一定格式的数字,该如何处理呢? 可以用fgetl,把文字行跳过去,然后用fid=fopen...,来处理 用textread吧
help一下用法 原帖由 skysurfer 于 2006-11-22 15:34 发表
为什么我在用load读取.txt文件时总是出错,提示:Number of columns on line 2 of ASCII file F:\ttt1.txt
must be the same as previous lines.
是因为文件的内容有问题??请高手指点一下
load的时候,要求文件中每行包含的数值串数都是一样的。 function = adjustline(filename,p,m,n)
%p为头信息行数,m为数据行数,n为间隔信息行数(mesh:n=3;node:n=2), filename为读入数据文件名,调整格式以后的文件(filename)_modified.txt
p=7;m=1;
filename='D:\Sysnoise\radiation\result.txt';
n=14;
fid= fopen(filename,'r');
filename1 = ;
fid1= fopen(filename1,'w');
for ii=1:p,
dataline1 = fgetl(fid);
if ~ischar(dataline1),
fclose(fid);
fclose(fid1);
return;
end
end
while 1
for ii=1:m,
dataline1 = fgetl(fid);
if ~ischar(dataline1),
fclose(fid);
fclose(fid1);
return;
end
fprintf(fid1,'%s \n',dataline1);
end
for ii=1:n,
dataline1 = fgetl(fid);
if ~ischar(dataline1),
fclose(fid);
fclose(fid1);
return;
end
end
end
[ 本帖最后由 w89986581 于 2006-11-22 21:52 编辑 ] 和txt文件读取是一样的
一个比较完善的程序
http://forum.vibunion.com/forum/thread-8937-1-1.html
建议大家问问的时候先搜索一下论坛
页:
[1]