How to find number of times graph goes back to zero

6 views (last 30 days)
Hello everyone, I am new to MATLAB and I am currently plotting a normalised gyroscope data as in the picture below, and I am trying to count the number of the graph trying to go back to zero (on the word, number of the graph descending after reaching each peak)
For example, if I calculate it manually fromthe graph, it's around 9 times it tries to go back to zero. But I am trying to do analysis on big data so I really ned way of finding it by MATLAB.
Help me, thanks

Accepted Answer

Star Strider
Star Strider on 15 Jun 2014
To find the troughs, invert the ‘y’ values and use findpeaks:
Example:
x = linspace(0,250,250); % Create Data
y = 0.25*sin(0.25*pi*x) .* exp(-(x-125).^2./1000) + exp(-(x-125).^2./1000);
[pks,plocs] = findpeaks(y); % Find peaks
[trs,tlocs] = findpeaks(0.1+max(y) - y); % Find troughs
figure(1)
plot(x, y)
hold on
plot(x(plocs), y(plocs), '^r', 'MarkerFaceColor','r') % Plot peaks
plot(x(tlocs), y(tlocs), 'vg', 'MarkerFaceColor','g') % Plot troughs
hold off
grid
produces:
  6 Comments
Sharah
Sharah on 16 Jun 2014
thank you, that solution is very helpful. yes, i do have another problem with it but i posted on anther question http://www.mathworks.co.uk/matlabcentral/answers/134657-how-to-detect-point-before-it-went-on-plateau
Star Strider
Star Strider on 16 Jun 2014
My pleasure!
I saw your other post and suggested a solution.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!