2017-09-13 13 views
-1

は私が多くのファイルを読み込むことができますどのように 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)) 

MATLAB

に単一の行列ファイルをロードするために、次のコードを持って、1-100を言います。 ありがとうございます。

+1

for-loopを追加しますか? – 10a

答えて

0

1からN_filesまでループするすべてのforループを含めます。これは、所有しているファイルの数です。私は関数num2str()を使ってインデックスiを文字列に変換しました。私はまた、配列file_sumsと読み込まれたすべての行列を格納するloaded_matricesセル配列に行列の和を含めました。ロードされたすべてのマトリックスが既知の同じ寸法を持つ場合、2D配列(例:loaded_matrices = 0(N_rows、N_columns、N_files))を使用して、load_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 
関連する問題