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

Foz*_*oro 5 python arrays scipy

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

scipy.signal.find_peaks()
Run Code Online (Sandbox Code Playgroud)

输出峰值及其索引。话虽如此,我想知道是否有类似于此功能的任何东西来查找低谷。

非常感谢您的帮助

Imp*_*ght 8

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


小智 5

一个简单的例子。这扩展了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()
Run Code Online (Sandbox Code Playgroud)