Peak to Peak Value of Sinusoidal Grad

17 次查看(过去 30 天)
k
k 2020-3-31
I have a sinusoidal position vs. time graph. The graph is from time t=0s to t=40s. I need to caluclate the peak to peak amplitude between each of the peaks from 10 to 20 seconds. How would I do this?
I tried doing X1 = peak2peak(time) where X1 is the position values on the y axis of my graph, but it only returns one value.

回答(1 个)

Star Strider
Star Strider 2020-3-31
Use the islocalmax function to find the maxima, islocalmin to find the minima, and go from there. (These functions were introduced in R2017b.)
  2 个评论
Star Strider
Star Strider 2020-3-31
Then use the Signal Processing Toolbox findpeaks function. To detect the peaks, use it normally, to detect the valleys,use findpeaks on the negated signal.
[pks,pklocs] = findpeaks(signal);
[vys,vylocs] = findpeaks(-signal);
Remember that the amplitudes of the valleys (the ‘vys’ variable) are the negatives of the returned values. The locations of both are valid regardless, and do not need to be changed.

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by