Coordinate interpolation with time
1 次查看(过去 30 天)
显示 更早的评论
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!
回答(1 个)
Peter Perkins
2021-7-29
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!