Findpeaks 坐标与 X 轴坐标不匹配(Matlab)
Findpeaks coordinates not matching X axis coordinates (Matlab)
我有一段代码没有按预期执行(至少在我看来),希望有人能帮助澄清这个问题。
代码绘制了我的数据的直方图,并应用 ksdensity 函数来平滑数据,最后它运行 findpeaks 函数以 return 绘制的最大值。然而,水平轴的坐标与绘制数据的图形表示不对应。
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
地点=
27 76
然而,当查看图形表示时,峰的坐标(对于水平轴)与这些值有很大不同
histogram
smoothed data
我最初认为这可能是过拟合或欠拟合的问题,但在对这些值进行了一些调整后,问题仍然存在。我只是缺少一些基本概念吗?任何帮助将不胜感激。非常感谢
[loc] 位置是点的 index,因此您可以通过以下方式获得图形 x:
xi(loc)
有关返回变量的信息,请参阅 matlab 帮助:
[PKS,LOCS]= findpeaks(Y) also returns the indices LOCS at which the
peaks occur.
我有一段代码没有按预期执行(至少在我看来),希望有人能帮助澄清这个问题。
代码绘制了我的数据的直方图,并应用 ksdensity 函数来平滑数据,最后它运行 findpeaks 函数以 return 绘制的最大值。然而,水平轴的坐标与绘制数据的图形表示不对应。
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
地点=
27 76
然而,当查看图形表示时,峰的坐标(对于水平轴)与这些值有很大不同
histogram smoothed data
我最初认为这可能是过拟合或欠拟合的问题,但在对这些值进行了一些调整后,问题仍然存在。我只是缺少一些基本概念吗?任何帮助将不胜感激。非常感谢
[loc] 位置是点的 index,因此您可以通过以下方式获得图形 x:
xi(loc)
有关返回变量的信息,请参阅 matlab 帮助:
[PKS,LOCS]= findpeaks(Y) also returns the indices LOCS at which the
peaks occur.