Extract Data between two time points

18 views (last 30 days)
Is there a way to extract data between two time points that have an event marker on a graph? I am trying to extract some data between time 42 seconds and 90 seconds and from 128 seconds to 191 seconds. I do not need the data before or after those points. Does the inbetween function work for this?
  2 Comments
Sargondjani
Sargondjani on 18 Dec 2021
If I understand correctly you have datapoints, and you want to interpolate between them?
You can use griddedInterpolant for this.
Austin Bollinger
Austin Bollinger on 18 Dec 2021
Yes datapoints in between the time points that I am looking at. Thank you!

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 18 Dec 2021
Much depends on what the times are.
Example —
tv = linspace(0, 200, 500); % Time Vector ('double' Array)
data = sin(2*pi*tv*0.25); % Signal Vector
Lvx1 = ((tv >= 42) & (tv <=90)); % Logical Vector
Lvx2 = ((tv >= 128) & (tv <= 191)); % Logical Vector
figure
subplot(3,1,1)
plot(tv, data)
grid
xlim([min(tv) max(tv)])
title('Original')
subplot(3,1,2)
plot(tv(Lvx1), data(Lvx1))
grid
xlim([min(tv) max(tv)])
title('42 -> 90')
subplot(3,1,3)
plot(tv(Lvx2), data(Lvx2))
grid
xlim([min(tv) max(tv)])
title('128 -> 191')
If the times are datetime or duration arrays, the concept is essentially the same, although different code is required.
.
  2 Comments
Austin Bollinger
Austin Bollinger on 18 Dec 2021
It is just based on time in seconds. Your example helped trigger what I should do. Thank you!

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!