假设我有这样的A矩阵:
A = [0,0,0,0,0,0,106,10,14,20,20,23,27,26,28,28,28,23,28,28,21,18,106,14,12,
17,16,15,22,19,20,18,21,23,23,18,17,15,106,28];
>> plot(A)
我想要此数据集中的峰值索引。我在这个例子中寻找的答案是一个矩阵,当你将“数据光标”放在绝对峰值上时,它包含曲线中的那些x值。
我想要的答案是:K = [7 23 39]
这是峰值的位置。
当我在MATLAB中使用plot
命令时,峰值清晰可见。如何找到绝对峰的x值?有可能吗?
答案 0 :(得分:5)
这并没有给你所有的峰值,但是它给出了集合中的最大值:
max_locations = find(A==max(A))
如果要查找峰值,请使用findpeaks函数:
[peakVal,peakLoc]= findpeaks(A);
答案 1 :(得分:0)
如果您想要最多5个或10个峰值,请使用以下
[peakVal,peakLoc]= findpeaks(A,'sort','descend');