how to find the peaks between the local maxima and local minima

12 visualizaciones (últimos 30 días)
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)

Respuesta aceptada

Image Analyst
Image Analyst el 1 de Jul. de 2022
Try getting rid of minpeakprominence so that you find all peaks.
  5 comentarios
Image Analyst
Image Analyst el 1 de Jul. de 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:
abdullah felfel
abdullah felfel el 2 de Jul. de 2022
thank you my good sir this is what i need

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by