I want to find the corresponding blue and orange peak for the last oscillation.

2 vues (au cours des 30 derniers jours)
Newbie
Newbie le 16 Sep 2021
Commenté : Image Analyst le 16 Sep 2021
Hi there,
I have two signals oscillations and I want to find the corresponding blue and orange peak at the last oscillation. The code I am using gives me
the peaks from the start until the end however I only want the peaks that are corresponding in the last oscillation. Can anyone help please?
[pks3,locs3]=findpeaks(signal3,tt2,'MinPeakDistance',2*pi);
[pks4,locs4]=findpeaks(signal4,tt2,'MinPeakDistance',2*pi);

Réponses (1)

Star Strider
Star Strider le 16 Sep 2021
Probably:
[pks3,locs3]=findpeaks(signal3,tt2,'MinPeakDistance',2*pi);
[pks4,locs4]=findpeaks(signal4,tt2,'MinPeakDistance',2*pi);
LastBlue = [pks3(end) locs3(end)]
LastOrange = [pks4(end) locs4(end)]
You will need to experiment to see if those return the correct results.
  3 commentaires
Star Strider
Star Strider le 16 Sep 2021
My pleasure.
Add other name-value pairs, specifically 'MinPeakProminence' in order to further define the peaks to identify. I would start with 'MinPeakProminence',1 and then experiment to see what value returns the result you want. (Without the actual data to experiment with, I cannot suggest a specific value, or specific other name-value pair options.)
.
Image Analyst
Image Analyst le 16 Sep 2021
@Newbie, there are lots of options with findpeaks(). Star just mentioned one of them so look into that. Granted, some of them are hard to understand. One you might want tells you how close the peaks can be to each other horizontally. Since you have a rough idea of the main peak spacing, you can set the 'MinPeakDistance' to be around 5 so it won't get a bunch of lesser peaks close by the main peak.
If you still have trouble, attach your data with the paperclip icon.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by