Peak finder - finding major peaks instead of just the smaller ones
9 ビュー (過去 30 日間)
古いコメントを表示
回答 (2 件)
Greg Dionne
2015 年 4 月 14 日
You can do:
findpeaks(y,'NPeaks',5,'SortStr','descend')
This gets you the five with the largest amplitude. If you want the five with the largest prominence, you can do:
[pks,locs,~,prm] = findpeaks(y);
[~,i] = sort(prm,'descend');
plot(1:numel(y),y,'-',locs(i(1:5)),y(locs(i(1:5))),'o ')
1 件のコメント
Azzi Abdelmalek
2014 年 1 月 16 日
minimum_peak=10 % For example
[pks,locs]=findpeaks(your_signal,'MINPEAKHEIGHT',minimum_peak)
3 件のコメント
José-Luis
2014 年 1 月 16 日
You could also transform your data prior to detecting the peaks. Maybe a log transform would be enough?
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!