Cálculo de Trayectorias de Satélites
Cálculo de Trayectorias de Satélites
CÁLCULO DE TRAYECTORIAS DE
SATÉLITES
3
Índice general
3. Métodos numéricos 21
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Métodos numéricos generales . . . . . . . . . . . . . . . . . . . 22
3.2.1. Euler explícito . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2. Método Adams-Bashforth de tres pasos . . . . . . . . . 24
3.2.3. Método de Adams-Moulton de tres pasos . . . . . . . . 26
3.3. Comparación de los métodos . . . . . . . . . . . . . . . . . . . 28
4. Métodos simplécticos 31
4.1. Simplecticidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Métodos simplécticos básicos . . . . . . . . . . . . . . . . . . . 34
4.3. Backward error analysis . . . . . . . . . . . . . . . . . . . . . 40
5
6 ÍNDICE GENERAL
5.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1. Método NIA . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.2. Ode45 . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3. Sistema caótico . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6. Métodos actuales 61
6.1. Método ABAH844 . . . . . . . . . . . . . . . . . . . . . . . . 61
6.2. Evolución del sistema . . . . . . . . . . . . . . . . . . . . . . . 63
6.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A. Software 65
A.1. Kepler no perturbado . . . . . . . . . . . . . . . . . . . . . . . 65
A.2. Kepler perturbado . . . . . . . . . . . . . . . . . . . . . . . . 68
Bibliografía 75
Capítulo 1
Introducción a la Mecánica
Celeste
1.1. El comienzo
La astronomía es una de las mayores pasiones del ser humano, que aparece
en numerosas culturas a lo largo de toda la Historia. Siendo tan fundamental
la influencia del Sol en nuestra vida cotidiana, y a la vez, estando tan fuera
de nuestro alcance, el movimiento de los cuerpos celeste ha sido sujeto de
numerosas investigaciones, que incluyen la recogida de datos empíricos y la
formulación de teoremas matemáticos.
Uno de los mayores avances en este campo, una vez asumido el modelo
heliocéntrico defendido por Nicolás Copérnico (1473 − 1543), son lo que se
conocen como las leyes de Kepler. Tras acceder a los datos sobre órbitas
planetarias, recogidas durante años por Tycho Brahe (1546−1601), Johannes
Kepler (1571 − 1630) llegó a deducir lo que se conocen como las Tres Leyes
de Kepler:
1. Los planetas se mueven alrededor del Sol describiendo una elipse, es-
tando éste en uno de sus dos focos.
2. Las áreas barridas por los radios de los planetas son proporcionales al
tiempo empleado por éstos en recorrer el perímetro de dichas áreas.
7
8 Cálculo de trayectorias de satélites
d(mv)
F =
dt
se tiene que, por primera vez, el movimiento relativo entre dos astros viene
dado por una ecuación diferencial. Ésto supone el comienzo de la Mecánica
Celeste, donde el movimiento de los planetas se determina utilizando las
ecuaciones diferenciales, las cuales han demostrado ser herramientas muy
poderosas de cara a modelizar los fenómenos físicos de la realidad.
Agrupamos en la siguiente tabla las contribuciones más importantes a la
Mecánica Celeste desde Newton [5]:
Autor Contribución
Cálculo de órbitas de
Edmund Halley (1656 − 1742)
cometas
Teoría lunar para nave-
Leonhard Euler (1707 − 1783)
gación marítima
Introducción del méto-
Joseph Luis Lagrange (1736 − 1813) do de variación de pa-
rámetros
Teoría de perturbacio-
Pierre Simon de Laplace (1749 − 1827)
nes
Problema de tres cuer-
Henri Poincaré (1854 − 1912)
pos, teoría del caos
∞
f (n) (x0 ) n
f (x0 + h) =
X
h
n=0 n!
Cuanto más términos se incluyen en la aproximación, tanto más acertada
ésta se vuelve; si se trunca el desarrollo hasta una serie de términos, cuanto
menor sea h, menor será el error cometido por la aproximación.
El cálculo de las derivadas de f es cada vez más costoso conforme se
va derivando f , lo cual limitaba la precisión que se podía obtener con este
método.
El siguiente suceso es una prueba del éxito que han llegado a alcanzar los
métodos numéricos y la teoría de perturbaciones [6]. A finales del siglo XVIII,
sólo se conocía la existencia de los planetas exteriores Júpiter, Saturno y
Urano. Alexis Bouvard (1767 − 1843), estudiante del famoso Pierre-Simon de
Laplace (1749 − 1827), fue otorgado por éste la tarea (poco grata) de calcular
numéricamente, haciendo uso de tablas, las órbitas de estos planetas. Las
ecuaciones de perturbaciones entre dos planetas ya fueron determinadas por
el propio Laplace, con lo que solo quedaba calcular las posiciones resultantes.
Bouvard consiguió calcular efectivamente las órbitas de Júpiter y Saturno;
la de Urano difería constantemente de sus cálculos, lo que indicaba que otro
cuerpo podía estar perturbando su órbita. El matemático John Couch Adams
(1819 − 1892) desarrolló por primera vez los métodos multipaso lineales, que
le permitieron describir, con mucha precisión, la órbita de un cuerpo exterior
a Urano. El descubrimiento de Neptuno se realizaría simultáneamente por el
10 Cálculo de trayectorias de satélites
2.1. Introducción
El problema que vamos a estudiar es la trayectoria de un satélite alre-
dedor de un planeta considerando efectos reales que ejercen perturbaciones
sobre el caso ideal, conocido como problema no perturbado de Kepler. Es
especialmente interesante de cara a conocer la posición y velocidad de los
satélites en intervalos de tiempo largos, donde esperamos que nuestras solu-
ciones de posición y velocidad sean correctas por haber considerado todos los
efectos reales.
Recientemente, expertos del Department of Aerospace and Mechanical
Engineering de la Universidad de Lieja estudiaron el mismo problema [8],
pero con un enfoque distinto al nuestro. Considerando las perturbaciones del
rozamiento del satélite con la capa de la atmósfera más externa del planeta,
así como el achatamiento del propio planeta, decidieron resolver la ecuación
diferencial resultante mediante métodos analíticos:
r
r̈ + µ = fa + fr .
||r||3
Para ello, emplearon herramientas matemáticas avanzadas como el álge-
bra de Lie, transformaciones,... que les permitieron, asumiendo que la ex-
centricidad del planeta fuera pequeña, y utilizando un modelo de atmósfera
exponencial, obtener la solución analítica del problema.
Sin embargo, en dicho documento se detallan los inconvenientes de la
solución. Al haber obtenido un solución cerrada del problema, el efecto de
otras perturbaciones, como pueden ser la fuerza de la radiación del Sol sobre el
satélite, la no-homogeneidad de la capa alta de la atmósfera,... no se pueden
considerar; en apenas dos días, el error de posición estimada del satélite
13
14 Cálculo de trayectorias de satélites
alcanza los 10 kilómetros, lo que hace que simulaciones a largo plazo sean
inasumibles como representación correcta de la realidad.
Incorporar los nuevos efectos reales a la ecuación modifica completamente
la solución a obtener; si se quiere tener en cuenta cientos de efectos, el estudio
analítico no es práctico para obtener la solución del problema.
1 1
H(q, p) = T (p) + V (q) = pT p − µ .
2 r
El Hamiltoniano es la base de todos los sistemas físicos que se denominan
Hamiltonianos, donde la energía total del sistema se conserva, como en los
problemas de dinámica molecular, mecánica cuántica, estadística clásica,...
La ley gravitacional que determina la trayectoria de dos masas puntales
que se atraen por el efecto de la gravedad es:
q
q̈ = −µ
,
r3
donde µ = GM , G es la constante gravitacional, M la suma de las masas
Presentación del problema 15
q
y r = kqk= q T q es la distancia entre ambos cuerpos. La incógnita q es la
distancia relativa entre ambos cuerpos.
Considerando las condiciones iniciales (q(0), p(0)) = (q0 , p0 ), la solución
está proporcionada por [9]:
q(t) = f q0 + g p0 , p(t) = fq q0 + gp p0 ,
con
aw sin x cos x − 1
fp = − , gp = 1 + .
r0 (1 − σ cos x + ψ sin x) 1 − σ cos x + ψsinx
x se obtiene de
la cual es una ecuación implícita, con lo que se puede obtener x con el método
de Newton-Raphson:
x[j−1] − σs[j−1] + ψ(1 − c[j−1] − wt)
x[j] = x[j−1] − ,
1 − σc[j−1] + ψs[j−1]
u r0 µ µ 1 1
r
ψ= , σ = 1− , w= , a=− , E = pT0 p0 −µ ,
wa2 a a3 2E 2 r0
u = q0T p0 , r0 = kq0 k.
1 1 3q 2
!
εa
H = (p2x + p2y ) − µ − 3 1 − α 2x ,
2 r 2r r
donde εa es una constante cuyo valor para la Tierra es del orden de εa ∼ 10−3 ,
y α determina el plano en el cual se produce el movimiento. Si se produce
en el Ecuador se tiene que α = 1, mientras que si se produce en un plano
perpendicular al Ecuador, α = 0 [1].
1
D = ρ(q)Sref CD ||q̇|| q̇
2
donde ρ(q) es la densidad del aire (que varía con la altura), Sref un área de
referencia que suele ser el área seccional de la esfera, y CD el coeficiente de
arrastre, que tiene en cuenta detalles como la geometría, fricción,...
La densidad ρ(q) variará con la altura dependiendo del modelo de atmós-
fera que se escoja. Tomando un modelo de atmósfera exponencial como en el
trabajo [8], ésta adopta la expresión:
1
!
Sref r − rref
ρ(q) = CD ρref exp −
2 m α
siendo m la masa del satélite, rref una altura de referencia (la distancia del
centro de la Tierra a la superficie), ρref la densidad a esa altura y α una
constante de escalado. Teniendo en cuenta que q̈ = −D/m − µ rq3 , se tiene
que la contribución del rozamiento al problema es:
Presentación del problema 17
q 1 2 Sref
2
! !
r − rref q r−a
q̈ = −µ 3 − CD ρref exp − ||q̇|| q̇ = −µ 3 −εr exp − ||q̇|| q̇
r 4 m 2 α r b
S2
donde εr = 14 CD 2 ref
ρ
m2 ref
es una constante, a = rref y b = α determinan la
distribución exponencial.
No es estrictamente correcto emplear la nomenclatura Hamiltoniana para
este problema, ya que al tratarse de una fuerza no conservativa, este problema
ya no es Hamiltoniano, la energía no se conserva. Por ello, q y p representarán,
en esta situación, ecuaciones diferenciales q̇ = p, q̈ = ṗ. El conocido efecto
del rozamiento en la realidad es la disminución de la altura de los satélites,
que hay que tener en cuenta para corregir su trayectoria.
d2 y
m 2 = mÿ = −ky.
dt
Pasando a coordenas Hamiltonianas, q = y, p = mv = mq̇, se tiene
p
q̇ = , ṗ = −kq,
m
con un Hamiltoniano
1 2 1 2
H(q, p) =p + kq .
2m 2
De forma matricial, las ecuaciones se expresan como:
0
! ! ! !
d 1
q q q
= m =A .
dt p −k 0 p p
con
18 Cálculo de trayectorias de satélites
0
!
1
A= m (2.1)
−k 0
La solución analítica de este problema es sencilla de obtener. Si conside-
ramos conocidos (q(0), p(0)) = (q0 , p0 ):
cos ωt sin ωt
! ! ! !
1
q(t) q0 q0
= ω = Mt ,
p(t) −ω sin ωt cos ωt p0 p0
q
con ω = k/m. Se puede observar que para el oscilador armónico, como la
dependencia entre variables es lineal, se puede emplear la notación matricial,
lo que facilita el estudio del sistema.
Con ello, estudiaremos primero cómo afectan los métodos numéricos a
este caso simplificado, y después nos enfrentaremos al problema de Kepler
con más seguridad.
2.5. Planteamiento
A continuación ofrecemos la base sobre la que estudiaremos el problema.
Decidimos trabajar en dos coordenadas (d = 2), lo que nos lleva a cuatro
variables canónicas, dos de posición y dos de velocidad: q1 , q2 , p1 , p2 , relacio-
nados por el siguiente sistema de ecuaciones para el problema de Kepler no
perturbado:
q
q̇ = p, ṗ = −µ ,
r3
q
donde r = q T q, q = (q1 , q2 )T , p = (p1 , p2 )T . Finalmente, nuestras variables
sobre las que aplicaremos el esquema son:
q1
q2
(q, p) =T
,
p1
p2
con lo que
q1 p1
d d q2 p2 q T
(q, p)T = = = (p, −µ ) .
−µ rq13
dt dt
p1
r3
p2 −µ rq23
Presentación del problema 19
1+e
s
q1 (0) = 1 − e, q2 (0) = 0, p1 (0) = 0, p2 (0) = ,
1−e
tf − t0
t0 = 0, tf = 100, N = 2000, h= , e = 0. 2, µ = 1.
N
(2.2)
Ésto indica que tratamos una órbita genérica con un satélite situado a una
distancia q1 (0) del cuerpo central, con una velocidad p2 (0), una excentricidad
e = 0. 2 y un balance de masas µ = 1. Este balance de masas nos permite
definir la escala de tiempo, de forma que el periodo del cuerpo móvil para
una revolución es T = 2π. Pasamos ahora a analizar los métodos numéricos
generales.
Capítulo 3
Métodos numéricos
3.1. Introducción
En esta sección se van a discutir algunos de los distintos métodos numé-
ricos generales, de amplio uso comercial, como son los métodos multipaso,
Runge-Kutta,... y cómo resuelven nuestro problema específico.
Para ello, primero introduciremos la filosofía sobre la que se basan los
métodos numéricos, basándonos en [2].
Un problema de valores iniciales consiste en, dada una ecuación diferen-
cial, obtener la función solución y(t) de la que se conoce su valor en el punto
inicial t0 . La derivada y 0 (t) es función de y y de t, con lo que el sistema queda
como:
y 0 = f (t, y),
y(t0 ) = y0 .
En caso de resolver el problema de forma analítica, los valores iniciales
permiten obtener las constantes de dicha función solución que la particulariza
para esas condiciones.
Si el problema se resuelve de forma numérica, dichas condiciones iniciales
son el punto de partida sobre el cual se van construyendo las soluciones apro-
ximadas en cada t. Así pues, conocemos las condiciones iniciales, y también
el tiempo tf al que queremos llegar. Subdividimos el intervalo [t0 , tf ] en N
t −t
subintervalos iguales, tomando tn = t0 + nh, n = 1, 2, ..., h = f N 0 .
Pasamos ahora a presentar las definiciones que clasifican los métodos
numéricos. Un método numérico puede ser:
21
22 Cálculo de trayectorias de satélites
n=0 n!
Así, se avanza para un n genérico:
qn + h pmn 1
! ! ! ! !
h
qn+1 qn qn
= = m = (I + hA) ,
pn+1 pn − hkqn −hk 1 pn pn
donde I es la matriz identidad 2 × 2 y A es la matriz dada en (2.1). La matriz
(I + hA):
Métodos numéricos 23
1
!
h
(I + hA) = m (3.1)
−hk 1
es el Jacobiano del método de Euler explícito respecto de q y de p.
3
Euler explícito
Kepler
2
0
q2
−1
−2
−3
−4
−5 −4 −3 −2 −1 0 1 2
q1
Figura 3.1: Solución del método de Euler para el problema no perturbado de
Kepler, con los valores de (2.2). Se ha empleado un paso de tiempo h = 0. 05
para llegar a un instante tf = 100.
24 Cálculo de trayectorias de satélites
y 0 = f (t, y), t0 ≤ t ≤ tn ,
integrando en el intervalo [tn , tn+1 ], se tiene
Z tn+1
y(tn+1 ) − y(tn ) = f (t, y(t)) dt.
tn
Ahora, supongamos que conocemos las aproximaciones al problema yj0 , yj1 , ..., yjk
de los tiempos tj0 , tj1 , ..., tjk , que se pueden calcular con otro método. Hace-
mos uso del polinomio de Lagrange Pk (t) que pasa por (tj0 , fj0 ), (tj1 , fj1 ), ..., (tjk , fjk ),
k
Pk (t) = Lk,l (t)fjl ,
X
l=0
Llamando
Z tn+1
αk,l = Lk,l (t) dt,
tn
h
yn+1 = yn + (23fn − 16fn−1 + 5fn−2 ),
12
y0 = α0 , y1 = α1 , y2 = α2 .
!
qn
fn = A ,
pn
se tiene
! ! ! ! !
qn+1 qn h qn qn−1 qn−2
= + A 23 − 16 +5 .
pn+1 pn 12 pn pn−1 pn−2
! !
qn+1 qn h pn pn−1 pn−2
= + 23 qn − 16 −µ qn−1 + 5 −µ qn−2 .
pn+1 pn 12 −µ r3
n
3
rn−1 3
rn−2
1
Adams Bashforth
0.8 Kepler
0.6
0.4
0.2
q2
−0.2
−0.4
−0.6
−0.8
−1
−1.5 −1 −0.5 0 0.5 1
q1
Figura 3.2: Solución del método de Adams-Bashforth para el problema no
perturbado de Kepler, con los valores de (2.2). Se ha empleado un paso de
tiempo h = 0. 05 para llegar a un instante tf = 100.
! ! ! ! ! !
qn+1 qn h qn+1 qn qn−1 qn−2
= + A 9 + 19 −5 .
pn+1 pn 24 pn+1 pn pn−1 pn−2
Métodos numéricos 27
! !
qn+1 qn h pn+1 pn pn−1 pn−2
= + 9 + 19 − 5 −µ qn−1 + −µ qn−2 .
pn+1 pn 24 −µ rqn+1
3
qn
−µ r3 r3 r3
n+1 n n−1 n−2
1
Adams Moulton
0.8 Kepler
0.6
0.4
0.2
q2
−0.2
−0.4
−0.6
−0.8
−1
−1.5 −1 −0.5 0 0.5 1
q1
Figura 3.3: Solución del método de Adams-Moulton para el problema no
perturbado de Kepler, con los valores de (2.2). Se ha empleado un paso de
tiempo h = 0. 1 para llegar a un instante tf = 200.
q
e(t) =(q1k − q1met )2 + (q2k − q2met )2 + (p1k − p1met )2 + (p2k − p2met )2 ,
(3.2)
donde el subíndice k hace referencia a la solución de Kepler, y met a la
solución computada por el método.
1 0
0 −1
−1 −2
−2 −3
log10(eH(t))
log10(e(t))
−3 −4
−4 −5
−5 −6
e(t) ∼ Ct2 .
Por ello, hemos dibujado dicha recta en la parte inferior izquierda, para
poder apreciar mejor dicha tendencia.
Se observa que el error en el Hamiltoniano crece de forma lineal con el
tiempo,
eH (t) ∼ Ct,
con lo que en este caso se ha dibujado la tendencia de una recta lineal.
Capítulo 4
Métodos simplécticos
4.1. Simplecticidad
Los métodos numéricos generales estudiados anteriormente no utiliza-
ban ninguna propiedad concreta de los sistemas Hamiltonianos que pudiese
mejorar su comportamiento. A base del estudio de lo que se conoce como
simplecticidad del flujo de los sistemas Hamiltonianos, se puede llegar a
construir métodos numéricos más eficientes.
El flujo ϕt (x0 ) de un sistema Hamiltoniano es una función <d → <d tal
que representa la solución de su sistema de ecuaciones diferenciales, para
un determinado t y unas condiciones iniciales x0 ∈ <d en t = 0. Definir la
solución de esta manera permite simplificar el estudio del sistema, ya que ϕt
viaja entre los mismos espacios vectoriales. Con ello, se realiza el siguiente
razonamiento [3]. Supongamos el espacio vectorial (q, p), q ∈ <d , p ∈ <d .
Definimos dos vectores ξ, η tales que:
! !
ξq ηq
ξ= , η=
ξp ηp
con ξ q , ξ p , η q , η p ∈ Rd . Estos vectores definen en el espacio (q, p) un paralelo-
gramo si consideramos:
P = {tξ + sη | 0 ≤ t ≤ 1, 0 ≤ s ≤ 1}.
Considerando el caso d = 1, se define el área orientada como:
!
ξ q ηq
[Link](P ) = det = ξ q ηp − ξ pηq .
ξ p ηp
Si d > 1, esta definición pasa a ser la suma de áreas orientadas de P
sobre los planos (qi , pi ):
31
32 Cálculo de trayectorias de satélites
d
ξiq ηiq d
!
ω(ξ, η) = det = (ξiq ηip − ξip ηiq ).
X X
i
ξip ηip i
0 I
!
ω(ξ, η) = ξ Jη,
T
con J =
−I 0
El teorema de Poincaré (1899) demuestra que, considerando el flujo de
un sistema Hamiltoniano ϕt (x0 ), x0 = (q0 , p0 ), dicho flujo cumple que:
AT JA = J
lo cual es equivalente a ω(Aξ, Aη) = ω(ξ, η) para cualquier ξ, η ∈ <2d . Ello
implica que A no modifica el área orientada definida anteriormente, lo
que se aprecia de forma más clara en la siguiente figura:
Figura 4.1: Conservación del área por una aplicación lineal, [3].
Por ello, para obtener una solución más realista, el método numérico
que emula la solución ϕt debe cumplir la misma propiedad que ésta. Una
aplicación diferenciable g : <2d → <2d se dice que es simpléctica si su
Jacobiano g 0 (q, p) cumple:
en cuyo caso, conserva el área orientada. Dicha condición implica que |g 0 (q, p)| =
1.
Podemos observar que los métodos numéricos estándar definidos en el
capítulo anterior no cumplen esta propiedad; al no ser el determinante de su
Jacobiano igual a la unidad, deforman el área con cada paso de iteración. Para
el caso del oscilador armónico, el Jacobiano del método de Euler explícito se
obtuvo en (3.1):
1
!
h
(I + hA) = m .
−hk 1
Calculamos su determinante:
k
|I + hA| = 1 + h2 ,
m
!
Id hId
N= .
− µh
r5
(Id r 2
− 3q q
n n
T
) Id
1
p
−1
−2
−3
−4
−4 −2 0 2 4
q
Figura 4.2: Área deformada por el método de Euler explícito para el oscila-
dor armónico ideal (h = π/6). Los círculos transparentes reflejan la solución
analítica, mientras que los oscuros se obtienen con el método de Euler explí-
cito.
q̇ = ∇p T (p) q̇ = 0
y
ṗ = 0 ṗ = −∇q V (q)
[V ]
Ambas soluciones son simplécticas. Si se compone la aplicación ϕh desde
[T ]
las condiciones iniciales (qn , pn ) con ϕh , se obtiene el esquema:
χ∗h = χ−1
−h .
∂qn+1 ∂qn+1
1 + hHpq ∂q∂qn+1 h(Hpq ∂q∂pn+1 + Hpp )
N = ∂qn ∂pn = n n .
∂pn+1
∂qn
∂pn+1
∂pn
∂qn+1
−hHpp ∂qn 1 − h(Hqq ∂pn + Hqp )
∂qn+1
N T JN = J,
luego el método es simpléctico. Lo comprobamos con nuestros sistemas par-
ticulares.
qn + h pn+1 1 − h2 m
! ! ! ! !
k h
qn+1 qn qn
= m = m = Mh .
pn+1 pn − hkqn −hk 1 pn pn
1 − h2 −hk 0 1 1 − h2 m
! ! !
k h
m =
m
h
1 −1 0 −hk 1
1 − h2 m 1 − h2 m
! !
h k k h
k m =
−1 h
m
−hk 1
0 1
!
,
−1 0
Métodos simplécticos 37
1 − h2 m
k h
|Mh | = m = 1.
−hk 1
Realizando el mismo procedimiento que en el apartado anterior, obser-
vamos que los métodos Euler VT y Euler TV deforman el área pero no
aumentan ni disminuyen su valor:
1
p
−1
−2
−3
−4
−4 −2 0 2 4
q
Figura 4.3: Deformación del área por los métodos Euler VT y TV para el
oscilador armónico (h = π/6). Los círculos transparentes reflejan la solución
analítica; los círculos ligeramente oscuros se obtienen con el método Euler
VT, y los oscuros con Euler TV.
qn
pn+1 = pn − hµ
rn3
qn+1 = qn + hpn+1 .
38 Cálculo de trayectorias de satélites
2
Id − µh (Id r2 − 3qn qnT ) Id h
N = r5 .
− r5 (Id r2 − 3qn qnT )
µh
Id
µh2
!
Id − r5
(Id r2 − 3qn qnT ) − µh
r5
(Id r2 − 3qn qnT ) Od Id
Id h Id −Id Od
2
µh2
Id − µh (Id r2 − 3qn qnT ) Id h µh
(Id r2 − 3qn qnT ) Id − (Id r2 − 3qn qnT )
× r5 = r5 r5
− r5 (Id r2 − 3qn qnT )
µh
Id −Id Id h
2
(Id r2 − 3qn qnT )
!
Id − µh Id h Od Id
× r5 = .
− µh
r5
(Id r2 − 3qn qnT ) Id −Id Od
2
Id − µh (Id r2 − 3qn qnT )
In h
= 1,
r5
− r5 (Id r2 − 3qn qnT )
µh
Id
1 0
Euler explícito
Euler VT
Euler TV −1
0.5
Curva lineal
−2
0
−3
−0.5
log10(eH(t))
log10(e(t))
−4
−1
−5
−1.5
−6
−2
−7
−2.5
−8 Euler explícito
Euler VT
Euler TV
−3 −9
−1 −0.5 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 1.5 2
log10(t) log10(t)
[2] [V ] [T ] [V ]
Sh ≡ ϕh/2 ◦ ϕh ◦ ϕh/2 , (4.1)
h
qn+1/2 = qn + pn ,
2
pn+1 = pn − h∇q V (qn+1/2 ),
h
qn+1 = qn+1/2 + pn+1 .
2
Este método se dice que es simétrico puesto que su adjunto es igual a
él mismo, χ∗h = χh , lo cual permite obtener métodos de ordenes muy eleva-
dos, como se verá posteriormente. También se puede componer el método de
Störmer-Verlet intercambiando T por V :
[2] [T ] [V ] [T ]
Sh ≡ ϕh/2 ◦ ϕh ◦ ϕh/2 .
La diferencia de comportamiento entre ambos métodos es mínima, y se
utilizará de ahora en adelante (4.1).
H̃ = H + hr Hr+1 + · · ·
Los métodos numéricos generales no son capaces de reproducir el Hamil-
toniano de esta manera. Ésta es la base de la superioridad de los métodos
simplécticos frente a métodos numéricos convencionales, y la razón por la
que se hace tanto hincapié en la propiedad simpléctica. Se puede demostrar
que, al hacer crecer exponencialmente el tiempo, el error que se observa en
el Hamiltoniano:
H(xn ) = H0 + O(hr ),
depende única y directamente del orden del método considerado, mientras
que en los métodos convencionales el error se acumula con cada paso de
tiempo.
En nuestro caso particular, ello supone que la trayectoria de satélites pue-
de ser calculada con precisión incluso en intervalos de tiempo muy amplios,
mientras que los métodos convencionales se quedarían obsoletos a partir de
un determinado instante donde el error acumulado se volvería intolerable.
Es una propiedad muy útil no solo de cara a la resolución numérica exacta
del problema, sino incluso para observar el comportamiento cualitativo de las
trayectorias a lo largo del tiempo: su estabilidad frente a diferentes posiciones
iniciales, la pérdida de energía por rozamiento,...
42 Cálculo de trayectorias de satélites
5.1.1. Composición
La técnica de composición consiste en, a partir de un método numérico
básico χh que cumple las propiedades simplécticas, pero no el orden requeri-
do, obtener un método ψh con la combinación del anterior de la forma:
43
44 Cálculo de trayectorias de satélites
α2s+1−i = αi , i = 1, 2, . . . , n
entonces el nuevo método ψh será simétrico. Los métodos simétricos son los
que más se están utilizando en la actualidad.
Compondremos más tarde un método con esta filosofía para observar su
ventaja frente a los métodos numéricos generales.
5.1.2. Splitting
En esta técnica, si recordamos nuestro campo de vectores:
∂Vεa (q)
!
q r−a
q̈ = −µ 3 − εa − εr exp − ||q̇|| q̇.
r ∂q b
Utilizando la nomenclatura Hamiltoniana se puede expresar el problema
de forma matricial:
0 0
! !
q̇ p
= + εa + εr
−µ rq3 − ∂Vε∂qa (q) − exp − r−a
ṗ b
||p|| p
Métodos Runge-Kutta-Nyström
Si consideramos un campo de vectores separable en 2 (m = 2):
[2] [1] [1] [2] [2] [1] [1] [2]
ψh = ϕα2s h ◦ ϕα2s h ◦ ϕα2s−1 h ◦ ϕα2s−1 h ◦· · ·◦ ϕ α2 h ◦ ϕα2 h ◦ ϕα1 h ◦ ϕα1 h .
[i] [i]
Al ser ambas ϕh las soluciones exactas, cumplen la propiedad 1 ϕβh ◦ϕδh =
[i]
ϕ(β+δ)h . Ésto permite reducir el número de soluciones involucradas al juntar
[1] [2]
las soluciones ϕh , ϕh colindantes entre sí mismas, con lo que nos queda el
esquema:
0
! ! !
q̇ p
ẋ = = + = f [1] (x) + f [2] (x)
ṗ 0 −µ rq3
[1]
las soluciones analíticas de las ecuaciones ẋ = f [1] (x) y ẋ = f [2] (x) son ϕh y
[2]
ϕh respectivamente. Al componerlas como se ha descrito anteriormente, se
obtienen los llamados métodos de Runge-Kutta-Nyström, N Bs[r] . Estos
métodos han demostrado ser especialmente eficaces para resolver sistemas
Hamiltonianos con energía cinética cuadrática, de la forma:
1
H(q, p) = pT M −1 p + V (q).
2
Para obtener un método de orden 4, se requiere s = 6, con los siguientes
coeficientes [12]:
1
La composición de una solución analítica consigo misma, en dos pasos de tiempo
distintos, equivale a avanzar la suma de esos pasos con la propia solución analítica. No es
válido con soluciones numéricas.
Aumento del orden 47
[4]
Coeficientes para la composición N B6 dada por (5.2) con s = 6
b1 = 0. 0829844064174052 b2 = 0. 3963098014983681 b3 = −0. 039056304922348
b4 = 1 − 2(b1 + b2 + b3 ) b5 = b3 , b6 = b2 , b7 = b1 a1 = 0. 2452989571842710
a2 = 0. 6048726657110800 a3 = 1/2 − (a1 + a2 ) a4 = a3 ; a5 = a2 ; a6 = a1
2 0
[4] [4]
N B6 N B6
Adams Moulton Adams Moulton
Adams Bashforth Adams Bashforth
0 −2
−2 −4
log10(eH(t))
log10(e(t))
−4 −6
−6 −8
−8 −10
−10 −12
−1.5 −1 −0.5 0 0.5 1 1.5 2 −1.5 −1 −0.5 0 0.5 1 1.5 2
log10(t) log10(t)
Se observa la gran mejoría que ofrece el método simpléctico. Hay que tener
en cuenta que el método N B6 realiza 6 evaluaciones del sistema, con lo que
es más costoso computacionalmente que el resto de métodos; sin embargo,
este coste se compensa con el bajo error que obtiene, lo que se demostrará
en apartados posteriores.
48 Cálculo de trayectorias de satélites
H = H0 + εH1 ,
con 0 < ε 1, lo que transforma el sistema en
Achatamiento
Considerando sólo el primer término relevante, la ecuación del Hamilto-
niano perturbado por el achatamiento de un planeta es:
1 1 3q 2
!
ε
H = (p2x + p2y ) − µ − 3 1 − α 2x .
2 r 2r r
El problema sigue siendo Hamiltoniano, con lo que el Hamiltoniano per-
turbado deberá conservarse a lo largo del tiempo.
La ecuación diferencial perturbada se obtiene del Hamiltoniano pertur-
bado:
εa 3q 2
H(q, p)εa = − 3 1 − α ε2a ,x = εa Va (q).
2rεa rεa
Aumento del orden 49
d
q̇εa = H(q, p)εa = 0
dpεa
d 3qεa ,x (−qε2a ,y (1 + 2α) + qε2a ,x (−1 + 3α))
ṗεa ,x = − H(q, p)εa = εa
dqεa ,x 2rε7a
d 3qεa ,y (qε2a ,y + qε2a ,x (1 − 5α))
ṗεa ,y = − H(q, p)εa = −εa .
dqεa ,y 2rε7a
[a] [k]
Denotando por ϕh la solución anterior en un paso h, y ϕh como la
solución analítica al problema de Kepler no perturbado con ese mismo paso,
tenemos el esquema:
[a] [k]
χh = ϕh ◦ ϕh ,
6
Euler VT
Euler explícito
4
2
log10(eH(t))
−2
−4
−6
−8
−10
−1.5 −1 −0.5 0 0.5 1 1.5 2
log10(t)
Figura 5.2: Error en Hamiltonianos debido al achatamiento, con los valores
(2.2) y con εa = 0. 001, α = 1 y h = 0. 05.
Euler VT ode45
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
q2
q2
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
−0.8 −0.8
−1 −1
−1.5 −1 −0.5 0 0.5 1 −1.5 −1 −0.5 0 0.5 1
q1 q1
lo que implica que la energía del sistema se irá perdiendo a lo largo del
tiempo. El valor de εr se puede asumir como bajo por los valores habituales
de CD, m2 ,... Con las condiciones iniciales de nuestro problema se tiene como
solución:
52 Cálculo de trayectorias de satélites
!
pεr ,0 rε ,0 − a
q(t)εr = qεr ,0 , p(t)εr = q , C = εr exp − r .
||pεr ,0 || (1/||pεr ,0 || + C t)2 b
[r] [k]
Denotando por ϕh la solución anterior en un paso h, y ϕh como la
solución analítica al problema de Kepler no perturbado con ese mismo paso,
tenemos el esquema de primer orden:
[r] [k]
χh = ϕh ◦ ϕh . (5.3)
Considerando una perturbación εr = 0. 001, decidimos calcular el error
en posición del método como (3.2) y compararlo con el método de Euler
explícito. Para ello, definimos como solución exacta a los resultados obtenidos
por (5.3) con un paso 10 veces menor que el empleado en dichos métodos,
con lo que finalmente se obtiene:
1
Euler VT
Euler Explícito
0
−1
log10(error(t))
−2
−3
−4
−5
−6
−1.5 −1 −0.5 0 0.5 1 1.5 2
log10(t)
Figura 5.4: Errores en posiciones para el problema de Kepler con rozamien-
to, con h = 0. 05, a = 0, b = 1 y con los valores (2.2).
Euler VT ode45
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
q2
q2
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
−0.8 −0.8
−1 −1
−1.2 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8
q1 q1
5.2. Aplicaciones
Veremos ahora las aplicaciones de los conceptos presentados en los apar-
tados anteriores.
ẋ = f [k] (x) + εr f [r] (x) + εa f [a] (x) = f [k] (x) + f [ε] (x)
que es una estructura semejante a la estudiada en los métodos Runge-Kutta-
Nyström. Por ello, si ϕkh es la solución analítica de Kepler, y ϕεh un método
54 Cálculo de trayectorias de satélites
[ε] [ε ] [ε ] [ε ] [ε ] [ε ] [ε ] [ε ]
ϕ̃h = ϕh/2
1 2
◦ ϕh/2 n−1
◦ · · · ◦ ϕh/2 ◦ ϕh n ◦ ϕh/2
n−1 2
◦ · · · ◦ ϕh/2 1
◦ ϕh/2 . (5.4)
5.2.2. Ode45
El algoritmo de Matlab ode45 es uno de los métodos numéricos de bajo
orden más utilizados, al ser el primero que no requiere de condiciones especí-
ficas de la ecuación a resolver (matriz de masas constante, matriz de masas
Aumento del orden 55
[4,2]
Decidimos comparar la eficiencia del método N IA2 con el algoritmo
ode45. Definimos la eficiencia de un método como su capacidad para alcanzar
un determinado orden de error con el menor coste computacional posible. El
coste computacional depende tanto del compilador como de la arquitectura
del ordenador, así como de la forma de implementación del programa. Por
ello, es habitual definir el coste de un método como el número de veces que
la parte más costosa del algoritmo debe ser ejecutada; en nuestro caso, dicha
parte es el campo vectorial f (t, y). Entonces, si el método debe evaluar n
veces la función f (t, y), se tiene que coste = n. Si calculamos el error en
posición como (3.2), entonces podemos comparar el algoritmo ode45 con el
[4,2]
método N IA2 . En este caso, solo tomaremos el error del valor final obtenido
(e(tf )), al que le corresponderá un determinado coste computacional; cuanto
menor sea el error exigido, mayor será el coste computacional.
[4,2]
Para el método N IA2 , se define un número de iteraciones creciente
N = 10 · 2j , j = 1, . . . , 10, con lo que el paso de tiempo se irá reduciendo
t −t
con h = f N 0 , siendo t0 , tf y el resto de parámetros iguales a los valores
[4,2] [k]
de (2.2). El método N IA2 realiza 3 computaciones del término ϕh y 2
[ε]
computaciones del término ϕh por paso de tiempo, con lo que en el peor
caso su coste será coste (j) = 3 · N (j).
−1
−2
log10(e(tf ))
−3
−4
−5
−6
−7 [4,2]
N IA2
ode45
−8
2 2.5 3 3.5 4
log10(coste)
[4,2]
Figura 5.6: Comparación del algoritmo ode45 con el método N IA2 .
[4,2]
La diferencia entre ambos métodos es muy notable; el método N IA2 es
capaz de alcanzar una solución más exacta con un menor coste computacio-
nal que el ode45. Esta diferencia se haría aún más grande si se integrase el
problema en tiempos finales mayores.
De esta manera, con el enfoque apropiado, se puede resolver mejor el
problema perturbado de Kepler con un método numérico ”casero” que con
un método comercial muy optimizado.
1+e
s
q1 (0) = 1 − e, q2 (0) = 0, p1 (0) = 0, p2 (0) = ,
1−e (5.5)
t0 = 0, tf = 10, e = 0. 2, µ = 1.
0.1
−0.1
−0.2
−0.3
q2
−0.4
−0.5
−0.6
−0.7
−0.8
−0.9
−1.5 −1 −0.5 0 0.5 1
q1
Figura 5.7: Conjunto de soluciones de posición para el problema perturbado
de Kepler considerando rozamiento y achatamiento, obtenidas con ode45
preciso (área poco oscura), ode45 poco preciso (área ligeramente oscura) y
[4,2] [4,2]
N IA2 (área oscura). Los resultados del ode45 preciso del método N IA2
se superponen.
movimiento. Considerando las condiciones iniciales (5.5), pero esta vez, con
diferentes cantidades de movimiento iniciales:
1+e
s
p1 (0) = r cos(θ), p2 (0) = + r sin(θ), θ ∈ [0, 2π],
1−e
1.5
0.5
p2
−0.5
−1
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
p1
Figura 5.8: Conjunto de soluciones de cantidad de movimiento para el pro-
blema perturbado de Kepler considerando rozamiento y achatamiento, obte-
nidas con ode45 preciso (área blanca), ode45 poco preciso (área ligeramente
[4,2]
oscura) y N IA2 (área oscura) .
Métodos actuales
Tras haber visto todas las propiedades y ventajas de los métodos simpléc-
ticos, no es de extrañar que éstos sean los métodos que se utilizan actual-
mente para el cálculo de trayectorias en Mecánica Celeste. En este capítulo
vamos a describir esos métodos, que serán el producto final de todo el estudio
presentado sobre la integración geométrica.
[k] [ε] [k] [ε] [k] [ε] [k] [ε] [k] [ε] [k] [ε] [k]
ψh = ϕa1 h ◦ ϕ̃b1 h ◦ϕa2 h ◦ ϕ̃b2 h ◦ϕa3 h ◦ ϕ̃b3 h ◦ϕa4 h ◦ ϕ̃b3 h ◦ϕa3 h ◦ ϕ̃b2 h ◦ϕa2 h ◦ ϕ̃b1 h ◦ϕa1 h
[ε]
donde ϕ̃h es un método simétrico de segundo orden que resuelve las pertur-
baciones, como el definido en (5.4). Se ha diseñado específicamente con esa
condición para alcanzar un orden generalizado (8, 4) con estos coeficientes:
61
62 Cálculo de trayectorias de satélites
−1
−2
−3
log10(e(tf ))
−4
−5
−6
−7 ode45
[4,2]
N IA2
ABAH844
−8
2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4
log10(coste)
Figura 6.1: Comparación del error en posición frente al coste computacional
[4,2]
de los métodos ode45, N IA2 y ABAH844 para el problema perturbado de
Kepler con achatamiento y rozamiento.
Métodos actuales 63
[4,2]
La razón por la que se superponen los métodos N IA2 y ABAH844
en un punto es que el coste de ABAH844 es muy superior al del método
N IA. Así, para aproximaciones de bajo orden, se puede emplear el método
[4,2]
N IA2 , y para cálculos de elevada precisión, ABAH844.
0.5
0
q2
−0.5
−1
−1.5
−1.5 −1 −0.5 0 0.5 1
q1
Figura 6.2: Evolución de un satélite para el problema perturbado de Kepler
con achatamiento y rozamiento, calculada por el método ABAH844 para
distintas posiciones iniciales. Se han tomado instantes t = i, i = 1, . . . , 5,
con tf = 2π.
64 Cálculo de trayectorias de satélites
6.3. Conclusiones
Una vez hemos llegado a este punto, nos queda evaluar los resultados que
hemos obtenido del trabajo, y cómo éstos han cumplido nuestro objetivo:
Justificamos por qué los métodos numéricos generales no son aptos para
resolver nuestro problema, detallando sus inconvenientes.
Software
1 f u n c t i o n [ q p]= KeplerV ( q0 , p0 , h )
2 % R e s u e l v e a n a l i t i c a m e n t e para un paso h
3 % l a p a r t e V d e l problema no p e r t u r b a d o de
4 % Ke pl er .
5 q=q0 ;
6 r 3 2 =(q0 ( 1 ) ^2+q0 ( 2 ) ^2) ^ ( 3 / 2 ) ;
7 p=p0−h∗q . / r 3 2 ;
8 end
1 f u n c t i o n [ q p]= KeplerT ( q0 , p0 , h )
2 % R e s u e l v e a n a l i t i c a m e n t e para un paso h l a p a r t e T
3 % d e l problema no p e r t u r b a d o de Kepler .
65
66 Cálculo de trayectorias de satélites
4 q=q0+h∗p0 ;
5 p=p0 ;
6 end
1 f u n c t i o n [ q p]=NB6( q0 , p0 , h )
2 % D e f i n i c i o n de c o e f i c i e n t e s .
3
4 b1 = 0 . 0 8 2 9 8 4 4 0 6 4 1 7 4 0 5 2 ; b2 = 0 . 3 9 6 3 0 9 8 0 1 4 9 8 3 6 8 1 ; b3
= −0.039056304922348;
5 b4=1−2∗(b1+b2+b3 ) ; b5=b3 ; b6=b2 ; b7=b1 ; a1
=0.2452989571842710;
6 a2 = 0 . 6 0 4 8 7 2 6 6 5 7 1 1 0 8 0 0 ; a3=1/2−(a1+a2 ) ; a4=a3 ; a5=a2 ; a6
=a1 ;
7
8 % Composicion .
9 [ q p]= KeplerV ( q0 , p0 , b1∗h ) ;
10 [ q p]= KeplerT ( q , p , a1 ∗h ) ;
11 [ q p]= KeplerV ( q , p , b2∗h ) ;
12 [ q p]= KeplerT ( q , p , a2 ∗h ) ;
13 [ q p]= KeplerV ( q , p , b3∗h ) ;
14 [ q p]= KeplerT ( q , p , a3 ∗h ) ;
15 [ q p]= KeplerV ( q , p , b4∗h ) ;
16 [ q p]= KeplerT ( q , p , a4 ∗h ) ;
17 [ q p]= KeplerV ( q , p , b5∗h ) ;
18 [ q p]= KeplerT ( q , p , a5 ∗h ) ;
19 [ q p]= KeplerV ( q , p , b6∗h ) ;
20 [ q p]= KeplerT ( q , p , a6 ∗h ) ;
21 [ q p]= KeplerV ( q , p , b7∗h ) ;
22
23 end
1 f u n c t i o n [ q p]=NB6_General ( q0 , p0 , h , f )
Software 67
2 % f e s un ’ ’ c e l l a r r a y o f f u n c t i o n handle ’ ’ que
3 % a l b e r g a dos f u n c i o n e s s o b r e l a s c u a l e s a p l i c a r
4 % e l a l g o r i t m o NB6 .
5
6 % D e f i n i c i o n de c o e f i c i e n t e s .
7
8 b1 = 0 . 0 8 2 9 8 4 4 0 6 4 1 7 4 0 5 2 ; b2 = 0 . 3 9 6 3 0 9 8 0 1 4 9 8 3 6 8 1 ; b3
= −0.039056304922348;
9 b4=1−2∗(b1+b2+b3 ) ; b5=b3 ; b6=b2 ; b7=b1 ; a1
=0.2452989571842710;
10 a2 = 0 . 6 0 4 8 7 2 6 6 5 7 1 1 0 8 0 0 ; a3=1/2−(a1+a2 ) ; a4=a3 ; a5=a2 ; a6
=a1 ;
11
12 % D e f i n i c i o n de f u n c i o n e s .
13 f u n c i o n 1=f { 1 } ;
14 f u n c i o n 2=f { 2 } ;
15
16 % Composicion .
17 [ q p]= f u n c i o n 2 ( q0 , p0 , b1∗h ) ;
18 [ q p]= f u n c i o n 1 ( q , p , a1 ∗h ) ;
19 [ q p]= f u n c i o n 2 ( q , p , b2∗h ) ;
20 [ q p]= f u n c i o n 1 ( q , p , a2 ∗h ) ;
21 [ q p]= f u n c i o n 2 ( q , p , b3∗h ) ;
22 [ q p]= f u n c i o n 1 ( q , p , a3 ∗h ) ;
23 [ q p]= f u n c i o n 2 ( q , p , b4∗h ) ;
24 [ q p]= f u n c i o n 1 ( q , p , a4 ∗h ) ;
25 [ q p]= f u n c i o n 2 ( q , p , b5∗h ) ;
26 [ q p]= f u n c i o n 1 ( q , p , a5 ∗h ) ;
27 [ q p]= f u n c i o n 2 ( q , p , b6∗h ) ;
28 [ q p]= f u n c i o n 1 ( q , p , a6 ∗h ) ;
29 [ q p]= f u n c i o n 2 ( q , p , b7∗h ) ;
30
31 end
1 f u n c t i o n [ q p ] = Kepler ( q0 , p0 , h )
2 % Esta f u n c i o n s e puede o b t e n e r en
68 Cálculo de trayectorias de satélites
9 % Primer v a l o r para e l c a l c u l o de l a e c u a c i o n
implicita .
10 x=En∗h∗a/ r 0 ; x1=x ;
11
12 % C a l c u l o de l a e c u a c i o n i m p l i c i t a .
13 while 1
14 c=c o s ( x ) ; s=s i n ( x ) ;
15 x=x−(x−Ec∗ s+Es∗(1− c )−En∗h ) /(1−Ec∗ c+Es∗ s ) ;
16 i f abs ( x−x1 ) < t o l , break , end
17 x1=x ;
18 end
19 c=c o s ( x ) ; s=s i n ( x ) ;
20 FP=1 − Ec∗ c+Es∗ s ;
21 f f =(c −1)∗a/ r 0 +1. d0 ; g=h+(s−x ) /En ;
22 f f p=−a∗En∗ s / (FP∗ r 0 ) ; gp=(c −1)/FP+1;
23
24 f o r i =1:2
25 q ( i )= f f ∗ q0 ( i )+g∗p0 ( i ) ;
26 p ( i )=f f p ∗ q0 ( i )+gp∗p0 ( i ) ;
27 end
1 f u n c t i o n [ q p v a r a r g o u t ]= Achatamiento ( q0 , p0 , h , v a r a r g i n )
2 e p s i l o n =10^−3;
3 alpha =1;
4
5 % El achatamiento a f e c t a s o l o a p .
6 q=q0 ;
Software 69
13 % En c a s o de que ya s e haya i n t r o d u c i d o l a r ,
aprovecharla .
14
15 switch nargin
16 case 4
17 r=v a r a r g i n ( 1 ) ;
18 r=c e l l 2 m a t ( r ) ;
19 otherwise
20 r =(x^2+y ^2) ^ ( 1 / 2 ) ;
21 v a r a r g o u t={r } ;
22 end
23 p ( 1 )=p0 ( 1 )+h∗3∗ x∗ e p s i l o n ∗(−y^2∗(1+2∗ alpha )+x^2∗(−1+3∗
a lp ha ) ) /(2 ∗ r ^ ( 7 ) ) ;
24 p ( 2 )=p0 ( 2 )−h∗3∗ y∗ e p s i l o n ∗ ( y^2+x^2∗(1 −5∗ alpha ) ) /(2 ∗ r ^ ( 7 )
);
25 end
1 f u n c t i o n [ q p]= Rozamiento ( q0 , p0 , h , v a r a r g i n )
2 e p s i l o n =10^−3;
3 a =0;
4 b=1;
5
6 % Solucion .
7
70 Cálculo de trayectorias de satélites
8 switch nargin
9 case 4
10 r 0=v a r a r g i n ( 1 ) ;
11 r 0=c e l l 2 m a t ( r 0 ) ;
12 otherwise
13 r 0=norm ( q0 ) ;
14 end
15
16 q=q0 ;
17 c t e=e p s i l o n ∗ exp (−( r0−a ) /b ) ;
18 p=p0 / ( norm ( p0 ) ∗ s q r t ( ( 1 / norm ( p0 )+c t e ∗h ) ^2) ) ;
19 end
[ε]
Para calcular la aplicación ϕh , se compone ambas soluciones con el mé-
todo de Störmer-Verlet en Perturbaciones.m:
1 f u n c t i o n [ q p]= P e r t u r b a c i o n e s ( q0 , p0 , h )
2 % Composicion d i r e c t a de l a s p e r t u r b a c i o n e s
Achatamiento y Rozamiento ,
3 % con e l metodo de Stormer−V e r l e t .
4 [ q p r 0 ]= Achatamiento ( q0 , p0 , h / 2) ;
5 [ q p]= Rozamiento ( q , p , h , r 0 ) ;
6 [ q p]= Achatamiento ( q , p , h / 2 , r 0 ) ;
7 end
1 f u n c t i o n [ q p]=NIA( q0 , p0 , h )
2 % Composicion para e l s i s t e m a c a s i −i n t e g r a b l e .
3
4 % D e f i n i c i o n de l o s c o e f i c i e n t e s :
5 a1 =(3 −3^(1/2) ) / 6 ;
6 b1 =1/2;
7 a2=1−2∗a1 ;
8
9 % Composicion de l a s f u n c i o n e s .
10 [ q p]= Kepler ( q0 , p0 , a1 ∗h ) ;
11 [ q p]= P e r t u r b a c i o n e s ( q , p , b1∗h ) ;
12 [ q p]= Kepler ( q , p , a2 ∗h ) ;
Software 71
13 [ q p]= P e r t u r b a c i o n e s ( q , p , b1∗h ) ;
14 [ q p]= Kepler ( q , p , a1 ∗h ) ;
15
16 q=q ’ ; p=p ’ ;
17 end
1 f u n c t i o n [ q p]=ABAH844( q0 , p0 , h )
2 % C o e f i c i e n t e s para e l metodo .
3
4 a1 = 0.2741402689434018761640565440378637101205;
5 a2 = −0.1075684384401642306251105297063236526845;
6 a3 = −0.04801850259060169269119541715084750653701;
7 a4 = 0.7628933441747280943044988056386148982021;
8 b1 = 0.6408857951625127177322491164716010349386;
9 b2 = −0.8585754489567828565881283246356000103664;
10 b3 = 0.7176896537942701388558792081639989754277;
11
12 % Composicion d e l metodo
13 [ q p]= Kepler ( q0 , p0 , a1 ∗h ) ;
14 [ q p]= P e r t u r b a c i o n e s ( q , p , b1∗h ) ;
15 [ q p]= Kepler ( q , p , a2 ∗h ) ;
16 [ q p]= P e r t u r b a c i o n e s ( q , p , b2∗h ) ;
17 [ q p]= Kepler ( q , p , a3 ∗h ) ;
18 [ q p]= P e r t u r b a c i o n e s ( q , p , b3∗h ) ;
19 [ q p]= Kepler ( q , p , a4 ∗h ) ;
20 [ q p]= P e r t u r b a c i o n e s ( q , p , b3∗h ) ;
21 [ q p]= Kepler ( q , p , a3 ∗h ) ;
22 [ q p]= P e r t u r b a c i o n e s ( q , p , b2∗h ) ;
23 [ q p]= Kepler ( q , p , a2 ∗h ) ;
24 [ q p]= P e r t u r b a c i o n e s ( q , p , b1∗h ) ;
25 [ q p]= Kepler ( q , p , a1 ∗h ) ;
26
27 q=q ’ ; p=p ’ ;
28 end
Perturbaciones_General.m
1 f u n c t i o n [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q0 , p0 , h , f )
2 % f e s un ’ ’ c e l l a r r a y o f f u c n t i o n handles ’ ’ ,
3 % de forma que s e o b t i e n e e l metodo Stormer−V e r l e t para
4 % distintas perturbaciones a considerar .
5
6 % Primera p a r t e .
7 f o r i =1: l e n g t h ( f )−1
8 f u n c i o n=f { i } ;
9 [ q p]= f u n c i o n ( q0 , p0 , h / 2) ;
10 q0=q ; p0=p ;
11 end
12
13 % Funcion i n t e r m e d i a .
14 f u n c i o n=f { l e n g t h ( f ) } ;
15 [ q p]= f u n c i o n ( q0 , p0 , h ) ;
16 q0=q ; p0=p ;
17
18 % Segunda p a r t e .
19 f o r i =1: l e n g t h ( f )−1
20 f u n c i o n=f { l e n g t h ( f )−i } ; % Composicion de f u n c i o n e s
en s e n t i d o c o n t r a r i o .
21 [ q p]= f u n c i o n ( q0 , p0 , h / 2) ;
22 q0=q ; p0=p ;
23 end
24
25 end
NIA_General.m
1 f u n c t i o n [ q p]=NIA_General ( q0 , p0 , h , f )
2 % f e s un ’ ’ c e l l a r r a y o f f u n c t i o n handle ’ ’
3 % para i n s e r t a r l a s p e r t u r b a c i o n e s que s e d e s e e .
4
5 % D e f i n i c i o n de l o s c o e f i c i e n t e s :
6 a1 =(3 −3^(1/2) ) / 6 ;
7 b1 =1/2;
8 a2=1−2∗a1 ;
9
Software 73
10 % Composicion de l a s f u n c i o n e s .
11 [ q p]= Kepler ( q0 , p0 , a1 ∗h ) ;
12 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b1∗h , f ) ;
13 [ q p]= Kepler ( q , p , a2 ∗h ) ;
14 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b1∗h , f ) ;
15 [ q p]= Kepler ( q , p , a1 ∗h ) ;
16
17 q=q ’ ; p=p ’ ;
18 end
ABAH844_General.m
1 f u n c t i o n [ q p]=ABAH844_General ( q0 , p0 , h )
2 % C o e f i c i e n t e s para e l metodo .
3
4 a1 = 0.2741402689434018761640565440378637101205;
5 a2 = −0.1075684384401642306251105297063236526845;
6 a3 = −0.04801850259060169269119541715084750653701;
7 a4 = 0.7628933441747280943044988056386148982021;
8 b1 = 0.6408857951625127177322491164716010349386;
9 b2 = −0.8585754489567828565881283246356000103664;
10 b3 = 0.7176896537942701388558792081639989754277;
11
12 % Composicion d e l metodo
13 [ q p]= Kepler ( q0 , p0 , a1 ∗h ) ;
14 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b1∗h ) ;
15 [ q p]= Kepler ( q , p , a2 ∗h ) ;
16 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b2∗h ) ;
17 [ q p]= Kepler ( q , p , a3 ∗h ) ;
18 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b3∗h ) ;
19 [ q p]= Kepler ( q , p , a4 ∗h ) ;
20 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b3∗h ) ;
21 [ q p]= Kepler ( q , p , a3 ∗h ) ;
22 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b2∗h ) ;
23 [ q p]= Kepler ( q , p , a2 ∗h ) ;
24 [ q p]= P e r t u r b a c i o n e s _ G e n e r a l ( q , p , b1∗h ) ;
25 [ q p]= Kepler ( q , p , a1 ∗h ) ;
26
27 q=q ’ ; p=p ’ ;
28 end
Bibliografía
[2] S. Blanes, D. Ginestar and M.D. Roselló, Introducción a los métodos nu-
méricos para ecuaciones diferenciales , Editorial Universitat Politècnica
de València, 2014.
[4] J.M. Sanz-Serna, Geometric Integration, The State of the Art in Nume-
rical Analysis (York, 1996) (New York), Inst. Math. Appl. Conf. Ser.
New Ser., vol. 63, Oxford Univ. Press, 1997, pp. 121 − 143.
[8] V. Martinusi, L. Dell Elce and G. Kerschen, First order analytic propa-
gation of satellites in the exponential atmosphere of and oblate planete,
Celest Mech Dyn Astr (2017) 127 : 451 − 476.
75
76 Cálculo de trayectorias de satélites