matlab的exist命令在循环语句中的问题
我要对一个文件夹中的全部文件进行处理,用了循环语句,但在用exist判断某文件是否存在(若存在进行其他处理)出错。简单程序如下:clear; clc;
for i = 1:1000;
file2=['G:\datapressure\xicy2-0' num2str(i)]; %文件xicy2-01,xicy2-02....含有字符
if exist('file2','file')==2 % 因个别文件不存在,故用这个语句来判断,但整个循环中exist('file2','file')的值全为0,下面语句不执行
data_all2=importdata(file2);
data2=data_all2.data;
.......
end
end
若用exist('G:\datapressure\xicy2-01','file') 当文件存在时值是2,不存在值为0。但有上千文件,不能手动处理。请教高手上面程序要怎样修改啊??或者,不用exist也行,只要能判断某文件是否存在,以便对存在文件进行处理就行。先谢了 fopen()试试。 gt93 发表于 2013-8-21 11:57 static/image/common/back.gif
fopen()试试。
能不能具体说明一下,其实我试过用fopen打开文件,但好象不能用。我的文件是fluent导出的ASCII数据(带有标头)。拓展名用'.dat'或'.txt'试过不行。如用下面的程序,也有一些问题(见标红处),上传部分数据,请帮忙看下用什么拓展名?怎样打开?谢谢:
clear; clc;
directory_name = 'G:\datapressure'; %这里直接对目录名赋值了
if isequal(directory_name,0)
return
end
%files = dir(); %若加拓展名'.dat' 或'.txt',下面的文件数n=0
files = dir();%不加拓展名,可读出
n=size(files,1),%return
A=[];
for i = 1:n;
% file2= %用这个命令时,结果是“file2=G:\datapressure\.”,不知为什么?
file2=['G:\datapressure\xicy2-0' num2str(i)]; %文件xicy2-01,xicy2-02....含有字符
if exist(file2,'file')==2
data_all2=importdata(file2);
data2=data_all2.data;
.......
end
end
页:
[1]