实验室的项目中很多要与txt交互,研究所比较喜欢搞这个,有的时候还和一些比较怪的文件格式如.Jin交互,与这些乱七八糟的东西交互与和txt交互差不多,主要的函数有以下几种:
temp=dlmread(get(handles.path1,'string'),'',2,1);第一个参数为文件的路径,第二个参数是分隔符,就是txt或者其他格式的东西是怎么分开的,这个例子是空格,2,1的意思是从第二行第一列开始读。
另一种用法是用textread。%%将跟踪文件的第一行读出输出到inputdata.txt上
fin=fopen(targetpath,'r');
str=fgetl(fin);
fclose(fin);
fid = fopen('inputdata.txt','w');
fprintf(fid,'%s',str);
fclose(fid);
%%获取列数trackClomn
input1=textread('inputdata.txt','%s'); %%%%%%%%%%%%%%%%%%%%%%%%%%有用
trackClomn=size(input1,1);
trackData=textread(targetpath,'%s','headerlines',1);
trackData=reshape(trackData,trackClomn,[]);
trackData=trackData'; %%%%%%%%%%%%%%%%%%%%%%%%有用
[m,n]=size(trackData); %%%%%%%%%%%%%%%%%%%%%%%有用
Textread可以定义你读取的格式,比如你可以规定把这些列或者某一列以字符串的形式(%s)读进来,也可以用数字(%f)等等其他方式都可以读。
普通的例如空格逗号这类的分隔符很好处理,遇到比较烦躁的分隔符如冒号、点等等,就得用temp1 = importdata(get(handles.path1,'string')),importdata读取进来的是一个struct结构,将读入文档的内容自动分类,如文本、数字都会分开,一般数字会保存在temp1.data的cell数组里面。