2012-12-05 48 views
1

我需要一些關於循環和功率譜密度的matlab代碼的幫助。將功率譜密度命令的結果存儲在矩陣中 - matlab

我在分析信號,需要能夠測量每個30秒段的平均功率。我已經用函數'buffer'分割信號,因此在矩陣segment_mat的每列中都有30秒的數據值,但我希望能夠使用for循環將循環中的功率譜密度結果存儲在矩陣中通過數據並且還將每個片段的平均功率存儲在矢量avpow中。任何想法,我可能會出錯?

for j=1:120 
    Hs=spectrum.periodogram({'Hamming'}); 
    Power=psd(Hs,segment_mat(:,j)',fs',fs); 
    avpow=mean(Power(j))'; 
end 

回答

1

您的問題在於,您在覆蓋for循環的每次迭代中的結果。

只需修改您的代碼,以便:

Power(j) = ... 
avpow(j) = ... 

,你會被儲存你的計算結果。如果速度是一個問題,請考慮預先分配。

+0

完美!太感謝了 :) – alto125