如何在一维数组中查找波谷



我环顾了一下StackOverflow,我注意到很多问题都集中在寻找峰值上(而不是寻找波谷(。截至目前,为了找到峰值,我正在使用:

scipy.signal.find_peaks()

输出峰值及其指数。话虽如此,我想知道是否有与此函数类似的功能来查找低谷。

非常感谢您的帮助

scipy.signal.find_peaks(-x)是你需要的吗?

一个简单的例子。这扩展了 https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html#scipy.signal.find_peaks 中的示例代码

import matplotlib.pyplot as plt
from scipy.misc import electrocardiogram
from scipy.signal import find_peaks
x = electrocardiogram()[200:300]
peaks, _= find_peaks(x)
troughs, _= find_peaks(-x)
plt.plot(x)
plt.plot(peaks,x[peaks], '^')
plt.plot(troughs,x[troughs], 'v')
plt.show()

仅用于打印峰值

peaks = find_peaks(x)
peak = peaks[1]['peak_heights'] 
print(peak)

最新更新