MATLAB如何一次读取指定多行数据? 20
有一个txt文件,现在需要读取其中的468行至3276行的数据,然后将其导入另外一个txxt文件。我知道可以用for循环逐行读取。有没有什么办法可以直接就把这么多行数据提...
有一个txt文件,现在需要读取其中的468行至3276行的数据,然后将其导入另外一个txxt文件。
我知道可以用for循环逐行读取。
有没有什么办法可以直接就把这么多行数据提取出来的办法? 展开
我知道可以用for循环逐行读取。
有没有什么办法可以直接就把这么多行数据提取出来的办法? 展开
2个回答
展开全部
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网站下载就行。
下面这个函数是取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网站下载就行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询