我有多个文件要使用fopen打开。这些文件具有类似的模式,我尝试如下使用for循环,但是它不起作用。任何想法如何打开每个文件。预先感谢。
for ii = 0:12
file = fprintf('population_%d.dat', ii); % -----> File names
generations_fid = fopen(file); % Question ???
matrix = {};
while ~feof(generations_fid)
generations = cell2mat(textscan(generations_fid, repmat('%f', 1, (3))));
if isempty(generations)
fgetl(generations_fid);
else
matrix{end+1} = generations;
end
end
end
您想使用sprintf
动态生成文件名,而不是fprintf
。
file = sprintf('population_%d.dat', ii);
这也是一种具有所需权限的打开文件的好习惯。您的情况似乎是您正在阅读,因此应使用
generations_fid = fopen(file, 'r');