在向量中查找局部最大值

Ola*_*nta 1 matlab

有人可以帮助我.我使用Matlab程序.

假设,我有矢量A,

A = [0 0 1 2 3 5 0 0 0 0 0 2 3 6 7 0 0 0 0 1 1 2 3 4 1]
Run Code Online (Sandbox Code Playgroud)

我想从向量A中获取局部最大值和位置.所以,我想得到的答案如下.

maxValue = 5,7和4;

maxLocation = 6,15和24;

谢谢你的好意.

Bjo*_*n H 7

如果您有信号处理工具箱,那么findpeaks应该是您想要的:

[pks,locs] = findpeaks(A)
Run Code Online (Sandbox Code Playgroud)

为了将来参考,您应该知道您想要找到的是局部最大值.假设您想要找到最大值使得它看起来好像您想要全局最大值(在这种情况下为7).