将功率谱密度命令的结果存储在矩阵中 - matlab

时间:2012-12-05 17:18:17

标签: matlab for-loop matrix signal-processing

我需要一些关于for循环和功率谱密度的matlab代码的帮助。

我正在分析一个信号,需要能够测量每个30秒段的平均功率。我已经用函数'buffer'分割信号,因为30秒的数据位于矩阵segment_mat的每一列中,但我希望能够使用一个矩阵将功率谱密度的结果存储在矩阵中for循环遍历数据并且还将每个段的平均功率存储在向量avpow中。有什么想法我可能会出错吗?

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

1 个答案:

答案 0 :(得分:1)

您的问题是,您在for循环的每次迭代中都会覆盖结果。

只需修改您的代码:

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

您将存储计算结果。如果速度是一个问题,请考虑预先分配。