【问题标题】:Finding the location of maximum peaks in a plot with MATLAB使用 MATLAB 在图中查找最大峰值的位置
【发布时间】:2013-03-23 06:18:01
【问题描述】:

假设我有这样的 F 矩阵:

F =
0, 0, 106, 10, 14, 20, 20, 23, 27, 26, 28, 28, 28, 23
       |                        |           |
     peak                     peak         peak 

我正在使用命令plot(F)。我想获取数据中峰值的索引。

这是我到目前为止的代码,它不起作用:

[max_x,index_x]=max(x);
e=index_x;
for i=1:11
    index_x(i)=e;
    e=e+16;
end

matlab 中是否有内置函数可以为我做这件事?

【问题讨论】:

    标签: matlab matrix location max


    【解决方案1】:

    使用findpeaks 函数(信号处理工具箱)。

    [peakVal,peakLoc]= findpeaks(x);
    

    【讨论】:

    • @@kl3755,我为我正在寻找的答案添加了一个示例。我希望它可以澄清一点。
    • @user2201486 如果您希望峰具有最小高度,请使用可选的 'threshold''minpeakheight' 参数。
    • @erikced 我想获得绝对峰值的所有“x”值。就像我的问题结束时在一个实例中显示的那样。
    【解决方案2】:

    这是我更喜欢的:

    [maxval maxloc] = max(A(:));
    

    【讨论】:

    • 为了更好地回答这个问题,你能解释一下你为什么喜欢这个,优点/缺点等吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 2014-09-04
    • 2017-10-25
    • 2014-05-15
    • 2011-12-24
    • 2014-11-28
    • 2011-05-13
    • 1970-01-01
    相关资源
    最近更新 更多