Expanding Matrix with Integers (between decimal numbers)

1 vue (au cours des 30 derniers jours)
Orkun OZENER
Orkun OZENER le 21 Sep 2017
Commenté : Orkun OZENER le 21 Sep 2017
Hi I have two vector one is time the other one is velocity. Because of GPS logging freq.I am having decimal numbers. Also when the car stops the gps stop logging. So I want to add integers to time matrix, and will ad corresponding interpreted velocities to the velocity matrix.
Like:
T=[ 39.01; 41 ;43.13;45; 47.02] V=[19.47;9;11.84;13.35;11.70]
So I should have the new T
T_new=[ 39.01; 40; 41 ; 42;43.13; 44;45; 46; 47.02]
V_new=[ 19.47; interp_new_val;9; interp_new_val,11.84; interp_new_val;13.35; interp_new_val;11.70]
And the nest one after this,
How can I form for example 5hz time-veloicty data from this data? Starting from zero.
Kind Regards

Réponse acceptée

Guillaume
Guillaume le 21 Sep 2017
Modifié(e) : Guillaume le 21 Sep 2017
"But how to create T_new?"
An option:
T_integer = round(T);
T_new = union(setdiff(min(T_integer):max(T_integer), T_integer), T)
  1 commentaire
Orkun OZENER
Orkun OZENER le 21 Sep 2017
Thank you very much...These two function i really new for me..I spent 10 minutes for undertstanding...But it really works..GREAT..
Lastly.....If the time difference of original matrix is ie. more than 4 second...the veloicty should be zero... The GPS is stopping... Actually ..enlarging and if conditional at the same time I am really mixed..and exhausting..:)

Connectez-vous pour commenter.

Plus de réponses (1)

Jos (10584)
Jos (10584) le 21 Sep 2017
Almost there, use the function interp1:
T = [ 39.01; 41 ;43.13;45; 47.02]
V = [19.47;9;11.84;13.35;11.70]
T_new=[ 39.01; 40; 41 ; 42;43.13; 44;45; 46; 47.02]
V_new = interp1(T, V, T_new)

Catégories

En savoir plus sur Multirate and Multistage Filters 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!

Translated by