Interpolating linearly between many values in a vector
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I am using a sensor which updates time information at 1Hz, but samples data at 1kHz. Therefore I have a time array like so:
t_old = 

if the collect was n seconds long. I would like 999 other time stamps in between the already existing ones. So the result ought to be
t_new = 

0 Kommentare
Antworten (2)
Adam Danz
am 14 Aug. 2019
Bearbeitet: Adam Danz
am 16 Aug. 2019
Set the 'resampleRate' to 1000 if you want [1,2] to become [1.001, 1.002, ... 2.999].
'timestamps' is your original vector.
resampleRate = 1000;
timestamps = 1:10; %must be a vector
timeStampsResampled = reshape((timestamps(:) + linspace(0,1-1/resampleRate,resampleRate)).',1,[]);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!