In den DE-Paketen gibt uns die NASA eine Reihe von Koeffizienten für die Tschebyscheff-Näherung. So wie ich es verstehe, sind diese Annäherungen durch eine Reihe von Polynomen gegeben für das Intervall . Dann überlegen wir sein (wo ist die normalisierte Zeit). Was ist und was sind seine Werte?
Dann betrachten wir eine Annäherung unter Verwendung einer Taylor-Reihe, die definiert ist als . Was ist ? Ist es eine Bessel-Funktion?
Die letzten beiden Beziehungen repräsentieren den Clenshaw-Algorithmus. Hier verstehe ich nicht genau, wie es funktioniert. Hat die Zahl von 13 Koeffizienten auch etwas mit Runges Phänomen zu tun?
Unten sind die Gleichungen 3.52 bis 3.59 aus Abschnitt 3.3.3 (Chebychev Approximation) im Buch Satellite Orbits: Models, Methods and Applications * von De Oliver Montenbruck und Eberhard Gill Springer 2000, ISBN 978-3-642-58351-3
das unter books.google.com einsehbar ist
Die sind die Koeffizienten für die Tschebyscheff-Näherung. Wie Sie sagen, die NASA gibt uns die. Das finden Sie in den DE-Dateien, zB de430.bsp . (Klicken Sie nicht darauf, es sei denn, Sie möchten eine >100-MB-Datei herunterladen.) NASA/JPL brauchte eine Möglichkeit, hochauflösende und hochgenaue Zeitfunktionen für die Positionen der Planeten bereitzustellen, und die kompakteste Methode waren Koeffizienten von Tschebyscheff Polynome. Die Funktionen werden in kleine Intervalle zerlegt, innerhalb derer die Koeffizienten und resultierenden Funktionen gültig sind.
Nein, die sind keine Besselfunktionen. Sie sind die Koeffizienten einer Taylor-Reihe, die schätzt über dem für dieses Intervall. Diese Gleichung wurde aus dem Kontext gerissen, wo in diesem Kontext diskutiert wurde, warum Tschebyscheff-Polynome, statt einer Taylor-Reihe, die die Polynome verwendet, zur Approximation verwendet . Der Grund dafür ist, dass eine Tschebyscheff-Näherung weniger Terme für die gleiche Genauigkeit benötigt.
Der Clenshaw-Algorithmus ist einfach eine Möglichkeit, sowohl die Tschebyscheff-Polynome zu erzeugen als auch mit zu multiplizieren und addieren sie gleichzeitig, um die Anzahl der erforderlichen Operationen zu minimieren. Es ist auf der verlinkten Wikipedia-Seite gut beschrieben und kann leicht aus der Wiederholungsbeziehung für die Tschebyscheff-Polynome oben in Ihrem Bild abgeleitet werden.
Der Artikel Format of the JPL Ephemeris Files enthält eine detaillierte Aufschlüsselung der Verwendung der Entwicklungs-Ephemeriden, einschließlich einer exemplarischen Vorgehensweise und eines Beispielquellcodes.
Ich denke, Sie haben viele überflüssige Informationen, alles, was Sie wirklich brauchen, ist:
Woher sind die Koeffizienten, ist die auf das Intervall normierte Zeitvariable , und ist wie folgt definiert:
Code in Javascript, um diese Berechnung durchzuführen:
function computePolynomial(x,coefficients){
let T=new Array();
T[0]=1;
T[1]=x;
for(let n=2;n<coefficients.length;n++) {
T[n]=2*x*T[n-1] - T[n-2];
}
let v=0;
for(let i=coefficients.length-1;i>=0;i--){
v+=T[i]*coefficients[i];
}
return v;
}
Beachten Sie, dass die Summierung aller Variablen in umgekehrter Reihenfolge erfolgt, von der kleinsten zur größten, um Gleitkommarundungen zu vermeiden.
Das Github-Repository gmiller123456/jpl-development-ephemeris enthält nicht optimierten Quellcode in mehreren Sprachen, der den gesamten Prozess implementiert.
äh
Alexandru Lapusneanu
äh