我正在使用MATLAB
我在自己的目录中有51个文件,所有.out
延伸都由一个单独的程序创建,所有文件都编号为0
到50
。
即
0.out
1.out
2.out
依此类推50.out
。
我需要逐个加载每个文件,以便在for循环中对它们进行计算。如果预先设置了目录,我将如何使用count变量加载文件?
即
%set directiory
cd(......)
%for loop
For count = 0:50,
data = count.out *<-----this line*
.....
非常感谢!
答案 0 :(得分:0)
首先使用
生成文件名fileName = [int2str(count) '.out'];
然后用
打开文件fid = fopen(fileName, 'r');
加载阶段取决于您要读取的文件类型。假设它是一个文本文件,您可以使用
逐行读取它while ~feof(fid)
line = fgetl(fid);
end
或使用更专业的功能(参见http://www.mathworks.it/it/help/matlab/text-files.html)。在for
循环结束之前,您必须通过调用
fclose(fid);
答案 1 :(得分:0)
另一个很好的方法是使用dir函数
http://www.mathworks.co.uk/help/matlab/ref/dir.html
a = dir('c:\ docs * .out')
将为您提供一个结构,其中包含您指向的目录中的* .out文件的所有信息(或路径)。然后你可以一点一点地循环它。使用fopen或csvread或任何你想要使用的文件读取功能。