2013-03-06 3 views
0

각 파일의 크기가 150000 by 2 by x.abf 개의 파일이 있으며 여기서 x는 1 to 10에서 다릅니다. x은 녹음의 시도를 나타냅니다. 그래서 나는 MATLAB에서이 6 개의 파일을 처리해야만합니다.이 6 개의 파일은 각각의 파일을 처리하는 루프에 의해 처리되며 각각의 파일에 대한 후속 처리를 수행합니다. 그러나 각각의 시험에 대해 10 개가 기록 되더라도 10 개 모두가 원하는 데이터를 가지고있는 것은 아니므로 몇 개를 제외하고 각각의 파일에서 몇 가지 시험을 포함해야합니다. 예를 들어, 첫 번째 파일부터는 처리를 위해 1 ~ 4 번 시도가 필요하고 2 번째 파일에서는 1 ~ 6 번 처리가 필요합니다. 어떻게해야합니까? 각 파일에 대한 시험판을 지정하기 위해 처음에 목록을 만들 수있는 방법이 있습니까?목록을 사용하여 시범을 선택하는 방법은 무엇입니까?

답변

1

여기에이 작업을 수행하는 간단한 방법이 있습니다. 파일이 6 개 밖에없는 경우 함수 상단에 포함 할 평가판을 정의 할 수 있습니다.

% Specify list of trials to include 
dataFiles(1).name = 'file1.abf'; 
dataFiles(1).includedTrials=[1:4]; 

dataFiles(2).name = 'file2.abf'; 
dataFiles(2).includedTrials=[1:6]; 

% iterate over data files 
for n = 1:nFiles 
    % Load data 
    data = load(datafiles(2).name); 

    % Select data of trials based on your list 
    data = data(:,:,dataFiles(n).includedTrials); 

    % Do processing 
end 
+0

감사합니다. 나는 그대로 사용할 수는 없지만 내 데이터 유형에 적합한 코드를 작성하는 데 도움이되었습니다. :) – Maddy

관련 문제