登录论坛

查看完整版本 : 【求助】matlab中如何读取TXT数据文件中指定行的数据?


percarlo
2007-07-11, 16:01
matlab中如何读取TXT数据文件中指定行的数据?
下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。
function dataout=dataread(filein,fileout,line)
fidin=fopen(filein,'r');
fidout=fopen(fileout,'w');
nline=0;
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
nline=nline+1;
if nline==line
fprintf(fidout,'%s\n',tline);
dataout=tline;
end
end
fclose(fidin);
fclose(fidout);
%%%%%%%%%%%%%%%%%%%%%%%%%%
调用格式:dataout=dataread(filein,fileout,line)
如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据
a=textread('ll.txt');
t=a(1:43,4:10);
1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。

spy1120
2007-07-11, 22:51
支持一下。。。

柠檬茶420
2007-07-15, 19:44
天啊,这个怎么使用啊!

未注册
2008-04-30, 17:31
我写了一个writetxt.m文件,每次调用都会把上一次生成的数据抹掉,后来txt文件中只有1个数字,我是要生成400个数字的啊。
function writetxt(filename1, c)
fid = fopen(filename1,'w');
fprintf(fid,'%f\n',c);
fclose(fid);
调用是这样的
writetxt(filename,c);
c是我生成的数据,请问这种问题怎么解决?谢谢