How to find first two largest peaks with sample location

50 次查看(过去 30 天)
Please let me know, how to find its two highest peaks along with its samples information too.
P wave.JPG

采纳的回答

Bhaskar R
Bhaskar R 2020-2-6
d = rand(100,1); % assumed data
[vals,loc] = maxk(d,2); % first two peaks(mnaximum values) sample values and locations
plot(d); hold on; % plot original samples
plot(loc,vals,'rv', 'MarkerFaceColor', 'r'); % plot peak values
  2 个评论
Muhammad Usman Gul
Your answer is work well iff and only if we are going to find out first-two maximum values. But here I would like to find out the first two largest peaks instead of maximum values. i.e in given figure, first and second peaks at 496 & 916 respectively. However, in your given function '"maxk" it will return 2nd maximum value which is a part of the first peak.
Thanks for your cooperation and I hope you got my point.
Bhaskar R
Bhaskar R 2020-2-6
Yeah, I got you. Use findpeaks to get all peak values of the samples
d = rand(100,1); % assumed data
[vals,locs] = findpeaks(d);
[val,loc] = maxk(vals,2); % first two peaks(mnaximum values) sample values and locations
plot(d); hold on; % plot original samples
plot(locs(loc),val,'rv', 'MarkerFaceColor', 'r'); % plot peak values

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by