polynomial interpolation of satelite positions

6 visualizzazioni (ultimi 30 giorni)
Jes
Jes il 13 Dic 2021
Commentato: Torsten il 14 Dic 2021
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 Commenti
John D'Errico
John D'Errico il 13 Dic 2021
@Jeson Lonappan: Please dn't post answers for a folloup question. Moved to a comment:
"could i use polyfit for x y z seperately?"

Accedi per commentare.

Risposte (1)

Torsten
Torsten il 13 Dic 2021
Modificato: Torsten il 13 Dic 2021
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 Commenti
Jes
Jes il 14 Dic 2021
does interp1 uses a polynomial for interpolation?
Torsten
Torsten il 14 Dic 2021
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.

Accedi per commentare.

Categorie

Scopri di più su Polynomials in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by