2017-09-13 1 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))을 사용하고 데이터를 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 
관련 문제