matlab多文件和文件夹操作_hudingyin_新浪博客

引用

浊风 的 matlab多文件和文件夹操作

循环导入文件:

1.文件名是顺序数字

filepath='路径';     %例:filepath='D:\new\';

for i=1:n

    A(i)=load([filepath num2str(i) '.txt']);

end

2.如果文件名里有字符

filepath='路径';

for i=1:n

    A(i)=load([filepath 'in' num2str(i) '.txt']);   %'in'只是举个例子,可以替换为需要的字符

end

3.如果文件名是不规律的数字,且已经存在于一个数组内

以'namelist'为数组名为例

filepath='路径';

for i=1:n

    A(i)=load([filepath num2str(list(i)) '.txt']);   %'in'只是举个例子,可以替换为需要的字符

end

**注意:filepath、num2str命令及'.txt'之间必须有空格

             如果不加filepath也可以,但是所加载文件须与当前m文件在相同路径中

循环写出文件:

其实循环写出文件和导入是相似的:

1.如果写出文件是顺序数字为文件名

filepath='路径';     %如果不写路径,将会在matlab当前默认的路径上创建文件

for i=1:n

    fid=fopen([filepath num2str(i) '.txt'],'wt');

    fprintf(fid,'格式',变量名);

    fclose(fid);

end

2.同导入,如果文件名中需要有字符

其他命令不变,

fid=fopen([filepath 'out' num2str(i) '.txt'],'wt');

3.如果写出文件的文件名在一个数组里,且为纯数字的数组,以outlist为例:

fid=fopen([filepath num2str(outlist(i) '.txt')],'wt');

4.如果写出文件的文件名有字符,应该存在一个元胞数组内:

outlist={'out456','outw87'......};

其他命令不变

fid=fopen([filepath outlist{i} '.txt'],'wt');

%%也可以在元胞数组内把后缀名也写上,这样就不用在fid中写'.txt'了。

%%例:outlist={'out456.txt','outw564.txt',.....};

fid=fopen([filepath outlist{i}],'wt');

 

 

 

这个会同时生成100个.txt文件

a = 2;

for i = 1:100

    s ='XX_t.txt' ;

    s =subs(s,'XX_t',i);

    s =char(s);                %字符型

  fid = fopen( s,'wt');

    fprintf(fid,'%d\n',a);

    fclose(fid);

end

另外,要是想同时生成多个文件夹也有如下的方法(这个是我看别人写的)

for i=1:100

s=strcat('mkdir foldername',int2str(i));

system(s);

end

但是 这个用要有两点要注意,一是mkdir和 foldername之间的空格。二是

如果你指定保存盘符路径的话如: s=strcat('mkdir E:\MATLAB program\自动创建多个文件\XX',int2str(i));

那么是逐级生成文件夹从E开始(如果文件夹没有创立的话)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值