How to replace findpeaks() with another function

Hi to all,
I use findpeaks function in my code to calculate the four maximum values of a fft function.
I use it in this way:
[maxpeaks, idx] = findpeaks(10*log10(psdx),'MinPeakDistance',195,'NPeaks',4,'MinPeakHeight', -Inf, 'SortStr','descend')
The problem is that I need to run the code in a Matlab version which doesn't have the Signal Processing Toolbox. Is there any solution to write a similar function without the need of the SP Toolbox?
Thank you!

 採用された回答

sloppydisk
sloppydisk 2018 年 5 月 20 日
編集済み: sloppydisk 2018 年 5 月 20 日

0 投票

Any of these options on the file exchange might help you.

その他の回答 (1 件)

Star Strider
Star Strider 2018 年 5 月 20 日

2 投票

If the MATLAB version is R2017b or later, the islocalmax (link) function is likely the best option.

2 件のコメント

marcusbarnet
marcusbarnet 2018 年 5 月 21 日
do you know if it works also on R2017a?
Star Strider
Star Strider 2018 年 5 月 21 日
Unfortunately, it won’t. It was introduced in R2017b.

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

製品

リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by