for i=1:100
syms(['A',num2str(i)]) %定义变量
syms(['b',num2str(i)]) %定义变量
eval(['A',num2str(i),'=importdata(''',num2str(i),'A.txt'')'])%读取数据文件
eval(['b',num2str(i),'=importdata(''',num2str(i),'b.txt'')'])%读取数据文件
end
我的文件名是 test 1-1.txt,test 1-2.txt ,。。。。,test 1-10.txt然后设计了一个循环测试了下 clcclearfor i=1:10 temp=['test 1-',num2str(i),'.txt']data(i)={textread(temp)} %这里利用的是元胞数组,当然你也可直接写data=...然后进行运算end 如果是你提供的那种形式文件名,也不难依样画葫芦clcclearfor i=1:3 for j=1:3
temp=[num2str(i),'-',num2str(j),'.txt']
data(i,j)={textread(temp)}
end
如果你的txt命名规则,例如1.txt;2.txt这样就好办了,首先需要建立一个txt文件,存放你需要读取的txt文件的范围,可以有三种方式,第一种,要求你的txt是连续的1,2,3,,....N.txt这样的命名,这时候建立的txt里填N+1数值即可;第二种方式,可以指定范围,譬如从1.txt读到4.txt,就填写14即可;第三种方式,可以填写文件名序号,乱序都可以,譬如要读取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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)