Findpeaks坐标与X轴坐标不匹配(Matlab)



我有一段代码没有按预期执行(至少在我看来(,希望有人能帮助澄清这个问题。

代码绘制了我的数据的直方图,并应用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) 

这段代码的结果是:

峰值=0.0232 0.0017
loc=27 76

然而,当观察图形表示时,峰值的坐标(对于水平轴(与的这些值非常不同

直方图平滑数据

我最初认为这可能是一个过度或不合适的问题,但在对价值观进行了一点调整后,问题仍然存在。我只是错过了一些基本概念吗?如有任何帮助,我们将不胜感激。非常感谢

[loc]位置是点的索引,因此您可以通过以下方式获得图形x:

xi(loc)

有关返回变量的信息,请参阅matlab帮助:

[PKS,LOCS]= findpeaks(Y) also returns the indices LOCS at which the
peaks occur.

最新更新