Extract Data between two time points
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Austin Bollinger
le 17 Déc 2021
Commenté : Star Strider
le 18 Déc 2021
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 commentaires
Sargondjani
le 18 Déc 2021
If I understand correctly you have datapoints, and you want to interpolate between them?
You can use griddedInterpolant for this.
Réponse acceptée
Star Strider
le 18 Déc 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Discrete Data Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
