I want to find the corresponding blue and orange peak for the last oscillation.
4 ビュー (過去 30 日間)
古いコメントを表示
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);
0 件のコメント
回答 (1 件)
Star Strider
2021 年 9 月 16 日
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 件のコメント
Star Strider
2021 年 9 月 16 日
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
2021 年 9 月 16 日
@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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!