Extract Data between two time points

18 次查看(过去 30 天)
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 个评论
Sargondjani
Sargondjani 2021-12-18
If I understand correctly you have datapoints, and you want to interpolate between them?
You can use griddedInterpolant for this.
Austin Bollinger
Austin Bollinger 2021-12-18
Yes datapoints in between the time points that I am looking at. Thank you!

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2021-12-18
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 个评论
Austin Bollinger
Austin Bollinger 2021-12-18
It is just based on time in seconds. Your example helped trigger what I should do. Thank you!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by