我想將mean_2 .... mean_8,std_2 .... std_8和coVariance作爲文件中的單獨列存儲。請幫助?Matlab:寫入文件
本準則計算的ERP信號的IntervalFeatures 256時間幀 ,並繪製它們 數據點是存儲在一個
___________HowTheCodeWorks________________________________________________
每1×4滑動子矩陣由列 爲例如: - 如果A是1x6,您將得到1-2-3-4,2-3-4-5,3-4-5-6,每列爲 ,結尾爲3列。爲1×10矩陣,你會得到7列
計算每列
減去相應列 終於逐元素平方的平均值列的每個值的平均值,平均每列的 然後以元素爲單位的sqrt來獲得輸出。
A=firstElec;
%___________Length2_____________________
reshaped_2 = im2col(A,[1 2],'sliding');
mean_2 = mean(reshaped_2);
out1 = bsxfun(@minus,reshaped_2,mean_2);
std_2 = sqrt(mean(out1.^2))
%___________Length4_____________________
reshaped_4 = im2col(A,[1 4],'sliding');
mean_4 = mean(reshaped_4);
out2 = bsxfun(@minus,reshaped_4,mean_4);
std_4 = sqrt(mean(out2.^2))
%___________Length8_____________________
reshaped_8 = im2col(A,[1 8],'sliding');
mean_8 = mean(reshaped_8);
out3 = bsxfun(@minus,reshaped_8,mean_8);
std_8 = sqrt(mean(out3.^2))
%___________CoVariance__________________
begInt = 1;
endInt =256;
l=endInt - begInt + 1;
arrayCovar = zeros(1,257);
j=1;
for k=1:256
coVar = 1/l *((A(k)*k) - (mean(A(k:j))*((begInt + endInt)/2)));
j= 1+k;
arrayCovar(k)=coVar;
end
coVariance = arrayCovar(:,1:256);
disp(coVariance)
但我希望他們作爲列? –
@HarshSharma - 這將是醜陋的。每個矩陣有不同數量的行,所以我不得不循環並製作一些非常難看的代碼。我建議使用'dlmwrite'並按行分隔每個矩陣。看我的編輯。 – rayryeng
@HarshSharma - 但是......如果你真的想把每個矩陣放在不同的列中,我們可以做到這一點。 – rayryeng