How to find first two largest peaks with sample location

58 visualizaciones (últimos 30 días)
Please let me know, how to find its two highest peaks along with its samples information too.
P wave.JPG

Respuesta aceptada

Bhaskar R
Bhaskar R el 6 de Feb. de 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 comentarios
Muhammad Usman Gul
Muhammad Usman Gul el 6 de Feb. de 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 el 6 de Feb. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by