Number of peak values from the plot

1 visualizzazione (ultimi 30 giorni)
I have the peak values for the following graph ..but i need the number of peak values in the plot.
load engine_run.dat
engine_state = engine_run(:,1);
time = engine_run(:,2);
findpeaks(time,engine_state)
xlabel('time')
ylabel('engine state')
title('Find All Peaks')

Risposta accettata

Star Strider
Star Strider il 25 Mar 2021
Use findpeaks with outputs:
[pks,locs] = findpeaks(time,engine_state);
The number of peaks will be:
numPeaks = numel(pks)
The ‘locs’ output will be the times they occurred.
  4 Commenti
satwick guturu
satwick guturu il 26 Mar 2021
And can you help with this..?
If there are more than two peaks for every five seconds.. then they'll be equal to zero or else 1.
How do i implement this ?
Star Strider
Star Strider il 26 Mar 2021
I would use the diff function on the locs output and then see if any of those values are less than five seconds.
If they are, then using that result catgorize them as either 0 or 1, depending on whatever criteria you are using.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by