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 件のコメント

Adam
Adam 2018 年 2 月 27 日
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 件)

Star Strider
Star Strider 2018 年 2 月 27 日

4 投票

If you have R2017b, use the islocalmax (link) function.
Andrei Bobrov
Andrei Bobrov 2018 年 2 月 27 日

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 件のコメント

Alankrita Asthana
Alankrita Asthana 2018 年 2 月 27 日
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

サインインしてコメントする。

タグ

質問済み:

2018 年 2 月 27 日

コメント済み:

2018 年 2 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by