将findspeak函数从列旋转到行

  • 本文关键字:旋转 findspeak 函数 matlab
  • 更新时间 :
  • 英文 :


我有一个小函数,它可以找到矩阵中的峰值,然后用0替换它。最终输出与列相关。我很难修复语法,使其以相同的方式工作,但也适用于行。有什么想法吗?这是代码:

HVAzimuthFreqAbs = abs(HVAzimuthFreq);
M = HVAzimuthFreqAbs;
for k1 = 1:size(M,1)
[pks,loc] = findpeaks(M(k1,:),'Threshold',150);
P{k1} = [pks; loc];
end
HVAzimuthFreq(:,loc) = 0;

据我所知,主要的关键是在尺寸所指的顺序之间切换,但我在这方面运气不佳。例如

for k1 = 1:size(1,M)
[pks,loc] = findpeaks(M(:,K1),'Threshold',ThresholdUpper);
P{k1} = [pks; loc];
end

正在给我一个"Dimension参数必须是索引范围内的正整数标量"错误。

有什么想法吗?感谢

您的错误在for行,size(1,M)没有意义。使用size(M,2)获取列数。

您正在将列索引为M(:,K1),这是正确的。

最新更新