2013-06-14 2 views
0

안녕하세요, 저는 matlab에 약간 새로운입니다. 랩톱에 두 개의 다른 폴더가 있습니다. 각 폴더에는 약 400 개의 다른 파일이 있습니다. 나는이 모든 파일 (첫 번째 폴더에서 400 번째 폴더에서 400)를로드 할, 그와 같은 시도했지만 작동하지 않습니다matlab에 두 개의 다른 폴더에서 파일을로드

folder1=('E:\results\1\'); 
folder2=('E:\results\2\'); 
data=load([folder1,'*.m']); 
data1=load([folder2,'*.m']); 

을 한 후 나는 폴더 1에서 첫 번째 파일을 먹고 싶어하고 처음부터 공제 파일을 folder1에서 가져 와서 새 폴더에 저장하십시오. 그리고 모든 다른 파일을 위해 그것을한다. .. etc. 약간의 전문가는 나에게 어떤 suggerstion라도 줄 수있다! 사전에 감사합니다.

답변

0

확실히 load은 한 번에 하나의 파일을 가져옵니다. 다음과 같은 단순한 변형을 시도해보십시오.

folder1=('E:\results\1\'); 
folder2=('E:\results\2\'); 
files1 = dir([folder1,'*.m']); 
files2 = dir([folder2,'*.m']); 

data = cell(length(files1),1); % I don't know what's in the mat files, but let's start with a cell array 
data1 = cell(length(files2),1); 
for ii=1:length(files1) 
    data{ii} = load(fullfile(folder1,files1(ii).name)); 
end 
for ii=1:length(files2) 
    data1{ii} = load(fullfile(folder2,files2(ii).name)); 
end 

다른 하나의 라이너 방식이 있지만 상당히 보잘것 없습니다.

+0

안녕하세요, 감사합니다. 하지만 나는 세포 지령이 나를 위해 일하지 않는다고 생각한다. 이 파일에는 3 열 500 행을 포함하는 행렬이 있습니다. 행렬에있는 각 픽셀은 숫자를 포함하고 있습니다. 제 사례의 다른 더 좋은 명령이 있습니까 – yaya

+0

@ user2486405, 데이터를 어떻게 사용 하느냐에 달려 있습니다. 모든 과정에서 셀 배열은 500x3 행렬을 포함하여 거의 모든 것을 저장할 수있는 * 수퍼 * 컨테이너이므로 '데이터'는 셀 배열이며 각 항목에는 500x3 행렬이 들어 있습니다. – macduff