How to find first two largest peaks with sample location

58 vues (au cours des 30 derniers jours)
Muhammad Usman Gul
Muhammad Usman Gul le 6 Fév 2020
Commenté : Bhaskar R le 6 Fév 2020
Please let me know, how to find its two highest peaks along with its samples information too.
P wave.JPG

Réponse acceptée

Bhaskar R
Bhaskar R le 6 Fév 2020
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 commentaires
Muhammad Usman Gul
Muhammad Usman Gul le 6 Fév 2020
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 le 6 Fév 2020
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

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by