我有以下代码在matlab中加载单个矩阵文件
filename='1';
filetype='.txt';
filepath='D:\20170913\';
fidi = fopen(strcat(filepath,filename,filetype));
Datac = textscan(fidi, repmat('%f', 1, 640), 'HeaderLines',1,
'CollectOutput',1);
f1 = Datac{1};
sum(sum(f1))
如何加载许多文件,比如说1-100。 提前谢谢。
答案 0 :(得分:0)
只需将所有内容都包含在for循环中,循环从1到N_files,这是您拥有的文件数。我使用函数num2str()将索引i转换为字符串。我还在数组file_sums中包含矩阵和,以及存储所有加载矩阵的loaded_matrices单元数组。如果所有加载的矩阵都具有已知且相同的维度,则可以使用2D数组(例如loaded_matrices = 0(N_rows,N_columns,N_files);然后将数据加载为loaded_matrices(:,:,i)= Datac {1 };。)
% N_files - the number of files that you have
N_files = 100;
file_sums = zeros(1,N_files);
loaded_matrices = cell(1,N_files);
for i=1:1:N_files
filename=num2str(i);
filetype='.txt';
filepath='';
fidi = fopen(strcat(filepath,filename,filetype));
Datac = textscan(fidi, repmat('%f', 1, 640), 'HeaderLines',1,...
'CollectOutput',1);
loaded_matrices{i} = Datac{1};
file_sums(i) = sum(sum(loaded_matrices{i}));
end