Я хочу задать вопрос о поиске максимумов набора пиков, используя matplotlib и numpy.
Мне дали данные, содержащие пики, и попросили вычислить максимумы множества пиков.
Ниже приведено изображение пиков.
Я обнаружил find_peaks
метод и попытался решить проблему с помощью этого.
Я написал следующий блок кода в 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)
, но это было безрезультатно.
Как я могу разобраться в этом вопросе?
Я прикрепил файл данных здесь для загрузки ссылка , если необходимо (хостинг на filehosting.org)