2013-03-06 46 views
0

我有6 .abf文件,每個文件的尺寸爲150000 by 2 by x,其中x從1 to 10變化。 x代表記錄的試驗。所以我必須在MATLAB中處理這6個文件,我通過遍歷每個文件的循環來完成每個文件的後續處理。但是對於每個試驗,即使其中有10個被記錄,但並非所有10個都有所需的數據,我需要排除少數幾個,並且包括來自每個文件的少數試驗。例如,從第一個文件開始,我需要試用1到4進行處理,而在第二個文件中,我需要進行試用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 2013-03-10 06:05:51