matlab如何连续读取txt文件

fid=fopen('F:\example.txt','r');
name=textread('F:\example.txt','%s',1)
[time temp1 temp2]=textread('F:\example.txt','%n%n%n','delimiter', ' ','headerlines', 2);
temp1(temp1<10|temp1>45)=10;temp2(temp2<10|temp2>45)=10;
A=plot(time,temp1,'b:p',time,temp2,'g-');
上面是我的程序一部分,我现在要每天读取不同的txt文本,比如今天读取1.txt,明天读取2.txt。请大神帮忙教教我

如果你的txt命名规则,例如1.txt;2.txt这样就好办了,首先需要建立一个txt文件,存放你需要读取的txt文件的范围,可以有三种方式,第一种,要求你的txt是连续的1,2,3,,....N.txt这样的命名,这时候建立的txt里填N+1数值即可;第二种方式,可以指定范围,譬如从1.txt读到4.txt,就填写1 4即可;第三种方式,可以填写文件名序号,乱序都可以,譬如要读取1.txt,3.txt和5.txt,就填写1 3 5即可;剩下的就是运行下面的代码,打开新建的那个txt,就可以自动循环读取txt了,至于读取每个txt具体的工作就需要你自己在循环内进行操作了
[fname,fpath] = uigetfile( ...
{'*.txt','MAT-files (*.mat)'; ...
'*.mdl','Models (*.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Pick a file');
filename=[fpath,fname];
datnum=load(filename);
if(length(datnum)==1) %第一种方式
datnum(2) = datnum(1)-1;
datnum(1) = 1;
dataindex = 1:datnum(2);
elseif(length(datnum)==2) %第二种方式
dataindex = datnum(1):datnum(2);
datnum(1) = 1;
datnum(2) = length(dataindex);
else %第三种方式
dataindex = datnum;
datnum(2) = length(dataindex);
datnum(1) = 1;
end
Result = [];
for i=datnum(1):datnum(2)
% for i=datnum(1):300
filenameDat = fullfile(fpath,[int2str(dataindex(i)),'.txt']); %获取txt文件名

% fid=fopen(filenameDat,'r');
% X= fread(fid,1,'uchar->int');
X = load(filenameDat); %读取txt
Result(i) = X; %具体操作
% fclose(fid);
end
Result追问

In an assignment A(I) = B, the number of elements in B and
I must be the same.

Error in ==> Untitled at 29
Result(i) = X; %具体操作

1 3 11
2 4 12
3 5 13
错在哪?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-21
你可以设置一个变量,然后开始设置为1,然后每过一天,变量值加1,然后把变量值连接到文件名中,那么没过一天就可以换个文件了,如果你的文件名不是按数字变化来的,可以先建个列表,每天对应列表中的文件名!