how to find the peaks between the local maxima and local minima
11 views (last 30 days)
Show older comments
abdullah felfel
on 1 Jul 2022
Commented: abdullah felfel
on 2 Jul 2022
hi, can someone help figure out how to find the peaks that are placed in between the peaks and valleys?
here is the code i used to find the maxima and minima using the first derivative of my pzpg singal
[pks , locs] = findpeaks(ndy,'MinPeakProminence',0.4);
[npks , nlocs] = findpeaks(-ndy,'MinPeakProminence',0.4);
figure(14)
plot(T(locs), pks,'x')
hold on;
plot(T(nlocs), -npks,'o')
shg
hold on;
plot(T ,ndy);title ('local maxima, notch and minima');xlabel('time');ylabel('amplitude')
what im trying to do next is to find the peaks between the maxima (X) and the minima (O)
0 Comments
Accepted Answer
Image Analyst
on 1 Jul 2022
Try getting rid of minpeakprominence so that you find all peaks.
5 Comments
Image Analyst
on 1 Jul 2022
Find all the peaks and then delete the peaks that have a value more than 0.6:
% First find all peaks
[peakValues, indexesOfPeakValues] = findpeaks(ndy);
% Find out which peaks have a peak value less than 0.6.
goodPeaks = peaksValues < 0.6;
% Get the times at those peak indexes.
tPeaks = T(indexesOfPeakValues);
% Now keep only the good ones.
peakValues = peakValues(goodPeaks);
% Extract the same indexes from our time vector.
tPeaks = tPeaks(goodPeaks);
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!