Extract Data between two time points
17 次查看(过去 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
2021-12-18
If I understand correctly you have datapoints, and you want to interpolate between them?
You can use griddedInterpolant for this.
采纳的回答
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.
.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!