《MATLAB里用数组变量作文件名打开多个文件及给多个文件命名的方法》由会员分享,可在线阅读,更多相关《MATLAB里用数组变量作文件名打开多个文件及给多个文件命名的方法(3页珍藏版)》请在金锄头文库上搜索。
1、使用dir命令+循环a=dir直接得到对应的结构体a.name得到相应的文件名我需要利用MATLAB同时对40个数据文件进行数据处理,各个数据文件格式相似,处理方法相同。也就是说,用于处理这些数据文件的MATLAB程序是基本一样的,只有读入的文件名不同,其它地方都一样。 一开始我编了一个命令,用于处理这些数据,读入文件的文件名设为a.txt,将第一个数据文件改名为a.txt后进行运算,完毕后再将第二个文件改名为a.txt,重复这个过程40次。后来我将这个程序复制、粘贴40次,成为一个大程序,第一次粘贴后将读入文件的文件名改为a1.txt,下一个改为a2.txt,以后依此类推,直到a40.txt
2、,然后将40个数据文件的名字如法照该。最后运行MATLAB程序,一次就把40个数据文件都处理了。再后来我觉得程序里的输入文件的文件名离得太远,改一次很不方便,要翻遍整个程序。而且,一模一样的程序应该用循环来实现,看起来容易看懂,用起来运算速度也 。最后的 法是把 有文件名 了一个 里 ,用了一个for循环, 循环一次 用一个字 文件名。下 以 个文件为 a=a1.txta2.txta3.txta4.txt; %如 是a10.txt, 的都要 最后 格, 为 要 一 的度一 x=1; % x 为1for i=1:4 % 个数据文件, 以进行 次循环fid=fopen(a(x,1:6),r) %将
3、 a的第一行 字 a1.txt 为输入文件的文件名。 为 一个字 都为是一 , 以读16 是完整的名currency1,a(x,1)读来的 只是一个字“ax=x+1; %将x的 一,下次循环的时就fi读第二 的 ,fl开文件a2.txt%进行数据的处理end利用 的 法,程序很, 很 。如 了下一数据文件,只需要改 a的容。”个文件命名的理此相同,不再 。一 方法便,如下 a=zeros(4,1)for i=1:4a(i,1)=load(strcat(a,num2str(i),.txt);enda=zeros(4,1)for i=1:4s=strcat(a,num2str(i),.txt);a(i,1)=load(s);end a=zeros(4,1)for i=1:4s=strcat(a,num2str(i),.txt);a(i,1)=importdata(s);end 我是 个本文件里 了一个数。 ”的时不这样 a,是以这样读数据。num2str()命令是将数 为字 strcat()是将”个字 ,字 要用 , 开load()命令 importdata()命令 用来读数据以 其它文件 读入数据,如将s=strcat(a,num2str(i),.txt);改为s=strcat(F:a,num2str(i),.txt);是以的。