find local maxima without using findpeaks()

hi. i have raw velocity data. i need to get the local maxima of that data in velocity vs time plot.findpeaks() needs a liscense, so is there any other function similar to findpeaks?

1 个评论

There are plenty of peak finding variants in the File Exchange for free. I can't vouch for the quality of any of them, but you can evaluate them for your usage.

请先登录,再进行评论。

回答(2 个)

Please use function diff.
for example:
a = rand(15,1);
t = diff(a);
lo = t > 0;
ii = strfind(lo(:)',[1,0]) + 1;
plot(a(:));
hold on
plot(ii(:),a(ii),'ro');

1 个评论

this function is detecting the minima also. the data has so many ripples so how can i find only one maxima out of so many ripples

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by