假设我们确定向量中的峰值如下:如果 x(1)>x( 2) 然后很明显对于第一个点 peak(1)=x(1);否则我们将 x(3) 与 x(2) 进行比较,如果 x(3)
[ indexes,peaks]=function(x,m);
c=[];
b=[];
if x(1)>x(2)
peaks(1)=x(1);
else
for i=2:m-1
if x(i+1)< x(i) & x(i)>x(i-1)
peak(i)=x(i);
end;
end
end
end
峰值也使用下图确定:
抱歉第二张图片,也许它不是三角形,只是 A 和 C 在直线上,但这里的峰值是 B,所以我无法继续编写算法以在我的向量中找到峰值。请帮助我继续
updated.numercial 给出的例子
x=[2 1 3 5 4 7 6 8 9] 这里因为第一个点比第二个多,所以这意味着峰值(1)=2,然后我们比较 1 和 3,因为 3 大于 1,我们现在想比较5比3,也是比较多,比较5比4,因为5比4多,那么就意味着peak(2)=5,所以如果我们继续下一个峰值是7,那么最终的峰值就是9 如果第一个元素小于第二个,那么我们将第二个元素与第三个元素进行比较,如果第二个元素同时大于第三个和第一个元素,则峰值是第二个,依此类推