Coordinate interpolation with time
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Peter Perkins
am 29 Jul. 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 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!