polynomial interpolation of satelite positions
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 ?
1 commentaire
John D'Errico
le 13 Déc 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?"
Réponses (1)
Torsten
le 13 Déc 2021
Modifié(e) : Torsten
le 13 Déc 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 commentaires
Torsten
le 14 Déc 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.
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!