使用 Matlab 查找数据的最高和最低峰值

Finding very top and bottom peaks of data using Matlab

我有一组数据,我想找到它的上下峰值。 在 Matlab 中,我正在尝试 findpeaks 命令,但结果很奇怪。

这是我的简单代码:

 [pks,locs] = findpeaks(Data);
 plot(locs,pks,'or')

结果如下:

有人可以指导我如何只找到数据的最顶部和最底部的峰值吗?

您可以使用额外的输入 MinPeakProminence 来告诉 Matlab 只查找非常突出的峰。

[pks,locs] = findpeaks(Data,'MinPeakProminence',4);
 plot(locs,pks,'or')

您可以尝试一下参数,看看哪个最适合您。