extract a section of a vector and plot

1 view (last 30 days)
Kcire L
Kcire L on 14 Sep 2022
Edited: Kcire L on 14 Sep 2022
This is most likely a very trivial question but I am having difficulty getting the outcome I would like.
I have created a time vecotr based off of a sample rate I am using called t.
I have a vector called medfiltVoltage where I have found the valleys (inverse of peaks) of this vector and stored the locations of the valleys in an another vector called vv.
I would like to plot the section of medfiltVoltage from the first valley to the second valled (v(1:2)) with respect to time t.
my first thought would be this... but it is not working at all.
plot(t(vv(1:2)), medfiltVoltage(t(vv(1:2))))
however, I get this error... medfiltVoltage(1.2402): subscripts must be either integers 1 to (2^63)-1 or logicals
what am I doing wrong?
Thanks for any help on this topic.

Answers (1)

Star Strider
Star Strider on 14 Sep 2022
Perhaps something like this —
t = linspace(0, 10, 250);
s = sin(2*pi*t);
[pks,locs] = findpeaks(-s);
tl = t(locs);
plot(t(locs(1):locs(2)), s(locs(1):locs(2)))
Make appropriate adjustments to use this idea with your data.



Community Treasure Hunt

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

Start Hunting!