我想问一个关于使用matplotlib和numpy查找一组峰值的最大值的问题
我得到了包含峰值的数据,并被要求计算峰值集的最大值
下面是山峰的图片
我发现了find_peaks
method,并试图用它来解决这个问题
我用Jupyter编写了以下代码块:
%pylab inline
from scipy.signal import find_peaks
testdata = loadtxt("testdata.dat", usecols=(0,1))
testdata_x = testdata[100:200,0]
testdata_y = testdata[100:200,1]
plot(testdata_x, testdata_y)
show()
peaks = find_peaks(testdata_y)
peaks
但是,我得到了peaks
的以下输出:
(array([ 7, 12, 36, 40, 65, 69, 93, 97]), {})
我无法理解为什么我得到了如上所述的输出,并且正在努力寻找解决方案
我还试图通过以下考试:
peaks = find_peaks(testdata_y, testdata_x)
但这是徒劳的
我怎样才能解决这件事
如有必要,我已将数据文件附于此处作为下载link(hoestd on filehosting.org)
正如注释所说,
find_peaks
返回的值是峰值的索引(或位置)要找到这些峰值的值,请使用峰值索引从
testdata_y
中获取值。然后你可以得到最大值相关问题 更多 >
编程相关推荐