【发布时间】:2023-04-05 04:21:01
【问题描述】:
我正在使用 scipy peakfinder scipy.signal.find_peaks_cwt 来查找信号中的峰值。可靠地找到所有峰值,但我总是得到不是峰值的额外结果(到目前为止,它们都在信号的末尾)。我想知道为什么会这样......
这是一个完整的合成数据示例:
from scipy.signal import find_peaks_cwt
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline # for jupyter notebooks
x = np.arange(0, 15, 0.1)
y = np.sin(x)
plt.plot(y)
peakinds = find_peaks_cwt(y, np.arange(1, 5))
plt.plot(peakinds, y[peakinds], 'o')
(要在普通的 python shell 中运行,请注释 %matplotlib inline 并在末尾添加 plt.show())
用点标记的峰值绘图:
(最后三个点不应该在那里)
我的真实数据也会发生同样的事情:
(这里最后一个点错了)
为什么会这样?
【问题讨论】:
标签: python scipy signal-processing