今天需要做个 matlab 读取 txt 文件,在网上收集了下,查到了几篇不错的,总
结一下,方便大家(包括 me)使用:
下面这个函数是取 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',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 网站下载就行。
根据 txt 文档不同种类介绍不同的读取数据方法
转自:
http://hi.baidu.com/youngbrave/blog/item/878db31fcd4f220f304e15bb.ht
ml
一、纯数据文件(没有字母和中文,纯数字)
对于这种 txt 文档,从 matalb 中读取就简单多了
例如 test.txt 文件,内容为“17.901 -1.1111 33.045
17.891 -1.1286 33.045
17.884 -1.1345 33.045”
可以在 command window 中输入 load test.txt ,然后就会产生一个 test 的数
据文件,内容跟 test.txt 中的数据一样;另一种方法是在 file/import
data....../next/finish 也可产生一个叫 test 的数据文件。