我在Matlab中有一个嘈杂的周期信号,我在[peak loc]=findpeaks(signal)
的帮助下提取了峰值。然而,不切实际的异常值也在peak
数组中。
我为peak
设置了最小值和最大值,因此得到一个较短的peak
数组。现在我希望将原始peak
的这个较短子集标记到原始plot(loc,peak)
中,因为loc
保持其原始长度,因此我会收到错误。
我的问题:
有没有像container.map或类似方法那样允许loc
与peak
一致的loc-peak赋值的一致性?
peak
数组绘制到原始信号图上?非常感谢!
答案 0 :(得分:2)
我认为您可以使用以下代码解决您的问题:
[peak,loc] = findpeaks(signal);
max_thr = 2;
min_thr = 1e-5;
mask = peak>min_thr&peak<max_thr;
plot(loc(mask),peak(mask))
这是你想要的吗?