У меня есть фрагмент кода, который работает не так, как предполагалось (по крайней мере, на мой взгляд), и я надеялся, что кто-то может помочь прояснить этот вопрос.
Код отображает гистограмму моих данных и применяетсяфункция ksdensity для сглаживания данных, наконец, она запускает функцию findpeaks, чтобы вернуть построенные максимальные значения. Однако координаты горизонтальной оси не соответствуют графическому представлению нанесенных данных.
MB(A); %array with the data to be plotted
figure;
histogram(MB(A),25)
[f,xi] = ksdensity(MB(A), 'Bandwidth',10);
figure;
plot(xi,f);
[peaks,loc] = findpeaks(f)
результат этого фрагмента кода таков:
peaks = 0.02320,0017
loc = 27 76
однако при взгляде на графическое представление координаты пиков (для горизонтальной оси) сильно отличаются от этих значений
гистограмма сглаженные данные
Первоначально я думал, что это может быть проблемой чрезмерного или недостаточного подбора, но после того, как немного поигрался со значениями, проблема осталась. Я просто пропускаю какую-то базовую концепцию? Любая помощь будет принята с благодарностью. Большое спасибо