match peaks from plot

v = hz1.Vdeg;
l = length(v);
t = 1:l(end);
plot(t,v);
[vmax,vindmax]=findpeaks(v,t);
[vmin,vindmin]=findpeaks(-v,t);
hold on
plot(vindmax,vmax,'o','MarkerFaceColor','r','MarkerSize',5);
plot(vindmin,-vmin,'d','MarkerFaceColor','g','MarkerSize',5);
figure
s = hz1.Dmm;
l = length(s);
t = 1:l(end);
plot(t,s);
[smax,sindmax]=findpeaks(s,t);
[smin,sindmin]=findpeaks(-s,t);
hold on
plot(sindmax,smax,'o','MarkerFaceColor','r','MarkerSize',5);
plot(sindmin,-smin,'d','MarkerFaceColor','g','MarkerSize',5);
I have these 2 peaks . how do I match the peaks from these two together ?

5 comentarios

Image Analyst
Image Analyst el 12 de Jun. de 2022
Editada: Image Analyst el 12 de Jun. de 2022
What exactly does "match" mean to you? And I see hundreds of peaks, not just two. I see two plots, each one having hundreds of peaks and hundreds of valleys. Please indicate the two peaks you want to "match" and mathematically define "match".
If you have any more questions, then ask them after you read this and clarify your question:
Jeffrey Clark
Jeffrey Clark el 12 de Jun. de 2022
@Jes, look at Find local maxima - MATLAB islocalmax (mathworks.com). If its not available in your version of MATLAB you can eliminate the relatively negative findpeaks you found and thenn do a findpeaks on the reduced findpeaks.
N/A
N/A el 13 de Jun. de 2022
@Image Analyst I need to match the peaks from 1st plot with the 2nd plot
N/A
N/A el 13 de Jun. de 2022
@Jeffrey Clark i couldnt get you clearly. Could you exlain a bit more? did you mean by using islocalmax I could reduce the amount of data?
Jeffrey Clark
Jeffrey Clark el 13 de Jun. de 2022
@Jes, yes. Look at the last figure on that documentation page, I suspect that method will work for you to give a reasonable number of peaks.

Iniciar sesión para comentar.

Respuestas (0)

Preguntada:

N/A
el 12 de Jun. de 2022

Comentada:

el 13 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by