如何在MatLab中加载多个文件?

时间:2017-09-13 02:33:21

标签: matlab matrix load multiple-files

我有以下代码在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。 提前谢谢。

1 个答案:

答案 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