En los paquetes DE, la NASA nos da una serie de coeficientes para la aproximación de Chebyshev. Según tengo entendido, esas aproximaciones vienen dadas por una serie de polinomios para el intervalo . Entonces consideramos ser (donde es el tiempo normalizado). Que es y cuales son sus valores?
Luego consideramos una aproximación usando una serie de Taylor definida como . Que es ? ¿Es una función de Bessel?
Las dos últimas relaciones representan el algoritmo de Clenshaw. Aquí no entiendo exactamente cómo funciona. ¿También tiene algo que ver el número de 13 coeficientes con el fenómeno de Runge?
A continuación se encuentran las ecuaciones 3.52 a 3.59, de la sección 3.3.3 (Aproximación de Chebychev) en el libro Satellite Orbits: Models, Methods and Applications * de De Oliver Montenbruck y Eberhard Gill Springer 2000, ISBN 978-3-642-58351-3
que se puede ver en books.google.com
Él son los coeficientes para la aproximación de Chebyshev. Como dices, la NASA nos los da. Eso es lo que encuentra en los archivos DE, por ejemplo, de430.bsp . (No haga clic en eso a menos que desee descargar un archivo de más de 100 MB). La NASA/JPL necesitaba una forma de proporcionar funciones de tiempo de alta resolución y alta precisión para las posiciones de los planetas, y la forma más compacta eran los coeficientes de Chebyshev. polinomios. Las funciones se dividen en pequeños intervalos, dentro de los cuales los coeficientes y las funciones resultantes son válidos.
no, el no son funciones de Bessel. Son los coeficientes de una serie de Taylor que estima sobre el para ese intervalo. Esa ecuación se sacó de contexto, donde ese contexto discutía por qué los polinomios de Chebyshev, se utilizan para la aproximación en lugar de una serie de Taylor, que utiliza los polinomios . La razón es que una aproximación de Chebyshev requerirá menos términos para la misma precisión.
El algoritmo de Clenshaw es simplemente una forma de generar los polinomios de Chebyshev y multiplicar por el y sumarlos, todo al mismo tiempo para minimizar el número de operaciones requeridas. Está bien descrito en la página de Wikipedia vinculada y se puede derivar fácilmente de la relación de recurrencia de los polinomios de Chebyshev cerca de la parte superior de su imagen.
El artículo Formato de los archivos de efemérides JPL tiene un desglose detallado de cómo usar las efemérides de desarrollo, incluido un tutorial de ejemplo y un código fuente de ejemplo.
Creo que tienes mucha información superflua, todo lo que realmente necesitas es:
Donde son los coeficientes, es la variable de tiempo normalizada al intervalo , y se define de la siguiente manera:
Código en Javascript para realizar este cálculo:
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;
}
Tenga en cuenta que la suma de todas las variables se realiza en orden inverso, de menor a mayor para evitar el redondeo de punto flotante.
El repositorio de Github gmiller123456/jpl-development-ephemeris tiene código fuente no optimizado en varios idiomas que implementan todo el proceso.
UH oh
Alexandru Lapusneanu
UH oh