話不多說,直接上代碼,需要在前一步生成相應的EEG_avg數組
%% 導出平均波幅數據到excel
time_N1=find((EEG.times>=80)&(EEG.times<=130));%%%選取想要分析的時間段
time_P3=find((EEG.times>=300)&(EEG.times<=400));
electrode_choice=[5,35,6,36,7,38,10,39,11,40,14,42,15,43,16,45,19,62,20,46,23,48,24,49,25]; %%%想要導出的電極點的序號,這裏是F,FC,C,CP,P五列每列中間五個點共25點
EEG_N1=squeeze(mean(EEG_avg(:,:,electrode_choice,time_N1),4));
%%% 導出的是所有被試,所有條件,25個電極點,某個時間段的平均,這裏平均之後是個三維的矩陣,即被試,條件,電極點
%%% 但是我們想要到導出的是二維的矩陣,即每一行是每個被試,然後每列是條件加電極點,如s81Fz,s82Fz,s91Fz,s92Fz,s81Cz,s82Cz,s91Cz,s92Cz……
%%% 所以要想辦法將三維矩陣變成二維矩陣,B = reshape(A,m,n) 返回一個m*n的矩陣B, B中元素是按列從A中得到的。如果A中元素個數沒有m*n個,則會引發錯誤。
%%% 是按照列的順序進行轉換的,也就是第一列讀完,讀第二列;並且第一列放完,放第二列
%%% A = 1 4 7 10
%%% 2 5 8 11
%%% 3 6 9 12
%%% B = reshape(A,2,6)
%%% B =
%%% 1 3 5 7 9 11
%%% 2 4 6 8 10 12
EEG_N1_export=reshape(EEG_N1,32,100); %%% EEG_N1是32個subj*4cond*25elect,我們要變成32subj*100cond_elect
xlswrite('EEG_N1',EEG_N1_export);