필터 지우기
필터 지우기

polynomial interpolation of satelite positions

조회 수: 5 (최근 30일)
Jes
Jes 2021년 12월 13일
댓글: Torsten 2021년 12월 14일
0 184360.634246042 -211658.511711780 -6853898.76885147
5 219214.256803219 -226785.422707026 -6852351.69754470
10 254061.148627043 -241905.367897281 -6850593.66616310
15 288900.239807604 -257017.882918880 -6848624.72472167
20 323730.460592783 -272122.503660514 -6846444.92962074
25 358550.741525596 -287218.766139992 -6844054.34362999
30 393360.013332653 -302306.206701186 -6841453.03589562
35 428157.207073006 -317384.361885925 -6838641.08193523
40 462941.254118769 -332452.768510410 -6835618.56363502
45 497711.086198094 -347510.963664615 -6832385.56924254
50 532465.635437569 -362558.484708884 -6828942.19336887
55 567203.834312849 -377594.869407128 -6825288.53697975
60 601924.615866041 -392619.655658098 -6821424.70739058
In a general form, the polynomials of degree n can be represented as follows: y = a0t 0 + a1t 1 + a2t 2 + ... + ant n (1)
where y contains the measurements (orbit components x, y or z here) and t is the time vector corresponding to each measurement.
Here the polynomial modeling of the given data y, is the estimation of the unknown coefficients a0, a1,..., an. Assuming that
values: y = [y1, y2, y3, ..., ym]m×1 (2)
are given at time points: t = [t1, t2, t3, ..., tm]m×1. (3)
Then n + 1 coefficients x = [a0, a1, ..., an]1×(n+1) of the polynomials degree n can be simply estimated using least-squares
adjustment: x = (ATA) −1AT y, (4)
i have this data of satelite positions(x,y,z) for 1 minute with 5 sec sampling. 1st colmn is time with 5 sec spacing.
how could i interpolate the positions to 1 second spacing using polynomial. is there a built in fnctn ?
  댓글 수: 2
John D'Errico
John D'Errico 2021년 12월 13일
@Jeson Lonappan: Please dn't post answers for a folloup question. Moved to a comment:
"could i use polyfit for x y z seperately?"
Jes
Jes 2021년 12월 13일
k

댓글을 달려면 로그인하십시오.

답변 (1개)

Torsten
Torsten 2021년 12월 13일
편집: Torsten 2021년 12월 13일
Use interp1 for the three columns separately:
t = 0:60;
x = interp1(T,X,t);
y = interp1(T,Y,t);
z = interp1(T,Z,t);
where T,X,Y,Z are your data columns from above.
If you want to use your own interpolation scheme, you can break down the problem to 1d by the trick from above.
  댓글 수: 5
Jes
Jes 2021년 12월 14일
does interp1 uses a polynomial for interpolation?
Torsten
Torsten 2021년 12월 14일
interp1 does not use one polynomial over the complete range [0:60], but a polynomial p1 on [0:5], another polynomial p2 on [5:10] and so on. The term for this is that the interpolation function is piecewise polynomial. Depending on the interpolation method used in interp1, these polynomials share some properties in t=5, namely p1(5)=p2(5) for linear interpolation, p1(5)=p2(5),p1'(5)=p2'(5) and p1''(5)=p2''(5) for cubic spline interpolation and similar for the other methods.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Polynomials에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by