我有一个波形,其中我已经确定了一个带有标准的特定点(下图中的绿色星形)。我现在想自动找到该点右侧的下一个峰值(可能是最大值或最小值)的位置(例如下图中的红色圆圈,在这种情况下,它是最小值)。请注意,我将在具有不同峰值高度/噪声内容的多个波形上运行它。
尝试了该功能findpeaks()
,但无法真正使其正常工作!任何帮助将不胜感激。
在 user3288586 回答后编辑新代码,工作:
prominence_factor = 0.1
[peakPos , locPos] = findpeaks (signal,time,'Npeaks',1,'MinPeakProminence', prominence_factor);
[peakNeg, locNeg] = findpeaks (-signal,time, 'Npeaks', 1, 'MinPeakProminence', prominence_factor);