Coordinate interpolation with time
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello!
I have a little question.
So I have 2 Data sets:
The first one consists of 12 coordinates(Lat, Long) taken every second hour (0 , 2am , 4 am....).
The second data set is a data set taken in 24 hours, but this time there is data every second.
Now i want to interpolate so i can do some plotting. I already managed to interpolate with this code (for 2 coordinates; I did this for all 12 coordinates and put them together in the end):
n = 7198 %Number of seconds in 2 hours
tripPath = zeros(n,2)
pf = polyfit(Lat(:,1) Lat(:,2)], [(Long(:,1) Long(:,2)] %Coordinates
x = linspace(Lat:,1),(Lat(:,2),n);
y = polyval(pf,x)
tripPath(:,1) = x
tripPath(:,2) = y
but now the big problem is, that every now and then there is a second missing so its not always exactly 7198 seconds (I dont know exactly where they are missing).
I was thinking that maybe i could check between for example 0 and 20000 (0 and 2 am and so on) how many array elements there are and put it in n.
I just cant get it work at all.
Thanks in advance!
2 comentarios
Respuestas (1)
Peter Perkins
el 29 de Jul. de 2021
This line of code
pf = polyfit(Lat(:,1) Lat(:,2)], [(Long(:,1) Long(:,2)] %Coordinates
is not valid syntax for several reasons, but the important one is you don't say what order polynomial. I'm assuming that with two points, you're doing linear interpolation. If so, then SS is right, this is a one liner with a timetable and retime.
2 comentarios
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!