Professional Documents
Culture Documents
8.1. Introducción
Una ecuación diferencial ordinaria de orden n de una función y(x) es una ecuación de la
forma
donde F es una función de la que se requiere que sea continua y derivable. Si es posible, se
despeja la derivada de orden más alto y se expresa de la forma
El problema puede ser extremadamente complejo en el caso general. En lo que sigue, vamos a
considerar esencialmente ecuaciones diferenciales de primer orden
y1 = y, y2 = y! , . . . , yn = y(n−1)
143
144 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
dy1 (x)
= y2 (x)
dx
dy2 (x)
= y3 (x) (8.2)
dx
dy3 (x)
= y4 (x)
dx
..
.
dyn (x)
= f (x, y1 (x), y2 (x), . . . , yn (x))
dx
Utilizaremos este procedimiento para resolver las ecuaciones diferenciales de segundo orden
que aparecen usualmente en los problemas dinámicos de la Física.
En este capítulo, vamos a considerar únicamente problemas en los que se especifican condi-
ciones de contorno iniciales, es decir, damos un punto inicial x0 y los valores de la función y(x)
(n−1)
y sus n − 1 primeras derivadas en dicho punto, que denotamos por y0 , y!0 , . . . , y0 , y deseamos
obtener y(x) a partir de x0 , sea en sentido positivo o negativo. Obtendremos la solución y y sus
derivadas en una red de N puntos, yk = y0 + k ∗ h, k = 0, 1, . . . , N, donde h es el paso de integra-
ción, que se elige de acuerdo con la precisión requerida. Los diferentes métodos de integración se
caracterizan por un término de error de la forma O(hm ) y por el número de operaciones necesa-
rias para realizar un paso de integración. Para un determinado método de integración, la precisión
aumenta cuando h disminuye. En general, desearemos obtener la solución y(x) en un intervalo
[x0 , x f ], con una precisión requerida, que determinará el paso de integración h que deberemos
x f − x0
empleart, con lo que el número de puntos de la red vendrá dado por N = + 1. Vamos a
h
considerar en lo que sigue la solución de una ecuación diferencial de primer orden,
y! (x) = f (x, y(x))
y discutiremos algunos ejemplos en los que se resuelven ecuaciones de orden superior reducién-
dolas a sistemas de primer orden.
d f (t) f (t + τ) − f (t) 1 !!
= − τ f (t) + O(τ 2 )
dt τ 2
las diferencias hacia atrás
d f (t) f (t) − f (t − τ) 1 !!
= + τ f (t) + O(τ 2 )
dt τ 2
y las diferencias centrales de primer y segundo orden
d f (t) f (t + τ) − f (t − τ) 1 2 !!!
= − τ f (t) + O(τ 3 )
dt 2τ 6
d 2 f (t) f (t + τ) − 2 f (t) + f (t − τ) 1
= − τ 2 f (4) (t) + O(τ 3 )
dt 2 τ 2 12
Estas fórmulas se obtienen directamente de los desarrollos en serie de Taylor
1 1 1
f (t + τ) = f (t) + τ f ! (t) + τ 2 f !! (t) + τ 3 f !!! (t) + τ 4 f (4) (t) + O(τ 5 )
2 6 24
1 1 1
f (t − τ) = f (t) − τ f ! (t) + τ 2 f !! (t) − τ 3 f !!! (t) + τ 4 f (4) (t) + O(τ 5 )
2 6 24
sumando y restando ambas expresiones.Vamos a exponer los métodos clásicos más populares.
v(t) + v(t + τ)
r(t + τ) = r(t) + τ
2
F(r(t), v(t),t)
v(t + τ) = v(t) + τ
m
Cuando la segunda ecuación se introduce en la primera obtenemos
F(r(t), v(t),t) 2
r(t + τ) = r(t) + v(t)τ + τ
2m
que es la integral exacta cuando la aceleración es constante. Vemos, por lo tanto, que el error en
la velocidad continúa siendo del orden de O(τ 2 ) pero el error en la posición es ahora del orden
de O(τ 3 ).
F(r(t), v(t),t)
v(t + τ/2) = v(t − τ/2) + τ
m
r(t + τ) = r(t) + τv(t + τ/2)
con la condición de comienzo
τ F(r(0), v(0), 0)
v(−τ/2) = v(0) −
2 m
En esta forma resulta evidente que el paso de integración es τ y que las velocidades se calculan
en el punto medio del paso de integración.
La necesidad de puntos de comienzo adicionales a las condiciones iniciales es común a los
métodos multipaso, con los que el método del salto de la rana (o del paso mitad) comparte este
inconveniente.
yn+1 = yn + hG(xn , yn , h)
h2 !! h3 hn hn+1 (n+1)
y(xn + h) = y(xn ) + hy! (xn ) + y (xn ) + y!!! (xn ) + · · · + y(n) (xn ) + y (ξ )
2! 3! n! (n + 1)!
Los n primeros términos proporcionan un método de un paso con un error de truncado de orden
hn+1 . Para poderlo utilizar de forma efectiva necesitamos evaluar las derivadas que aparecen en
la expresión. Utilizando la regla de la cadena, obtenemos
y!! (x) = f ! (x, y(x)) = fx (x, y(x)) + fy (x, y(x)) · y! (x) = fx (x, y(x)) + fy (x, y(x)) · f (x, y(x))
Podemos de igual forma denominar f (2) (x, y(x)) a y!!! (x) y calcular y(4) (x)como
(2) (2)
y(4) (x) = fx (x, y(x)) + fy (x, y(x)) · f (x)
Ejemplo 1
Resolver la ecuación diferencial y! = y en orden k mediante el método de serie de Taylor.
Solución: f (x, y) = y, f (1) (x, y) = y, f (2) (x, y) = y, . . . , f (k) (x, y) = y. Si truncamos la serie de
Taylor en orden k tenemos
" #
h2 h3 hk
y(x + h) = y 1 + h + + + · · · +
2! 3! k!
con lo que la integración en n pasos da
" #n
h2 h3 hk
yn = y0 1 + h + + + · · · +
2! 3! k!
que es una aproximación de orden k a yn = y0 enh que es la solución exacta.
8.3. MÉTODOS DE UN PASO 151
con k1 = f (xn, yn ) , ki = f (xn + λi h, yn + µi hki−1 ) donde los αi , µi son constantes que se deter-
minan de forma que la anterior expresión coincida con la serie de Taylor hasta el orden p. Hasta
p = 4, se encuentra que se puede tomar m = p, pero para p > 4 es necesario que m > p y además
i−1
ki = f (xn + λi h, yn + h " µi j k j )
j=1
es decir µ es una matriz triangular y cada ki utiliza todos los k j anteriores.. Para p = 5 hay que
tomar m = 6. En cierta manera, se puede considerar que los métodos de Runge-Kutta aproximan
las derivadas de la serie de Taylor por combinaciones lineales de valores de la función f en
puntos comprendidos entre (xn , yn ) y (xn+1 , yn+1 ). Se pueden considerar como una extensión
sofisticada del método del punto medio, tomando una serie de puntos intermedios del intervalo
de forma que la integral
! xn+1
yn+1 = yn + f (x, y)dx
xn
sea exacta hasta orden h p . La principal desventaja de estos métodos es que se debe calcular la
función f en puntos que no pertenecen a la red de integración (xn ,yn ). Por otro lado son muchas
sus ventajas, entre las que cabe mencionar la posibilidad de cambiar el paso de integración en
un momento dado, la estabilidad, la facilidad de programación, y la posibilidad de estimar los
errores de truncado en los métodos de Runge-Kutta más sofisticados.
Vamos a considerar en primer lugar los métodos de Runge-Kutta de orden 2, que aunque se
utilizan con menos frecuencia que los métodos de orden 4, su exposición es muy pedagógica.
Tomamos m = 2, que es el mínimo valor que hace falta para que las derivadas coincidan con la
serie de Taylor hasta segundo orden. La forma del método de segundo orden es por lo tanto:
yn+1 = yn + hα1 f (xn , yn ) + hα2 [ f (xn , yn ) + fx (xn , yn )λ2 h + fy (xn , yn ) f (xn , yn )µ2 h]
con lo que, para que la anterior ecuación coincida con la serie de Taylor hasta segundo orden
h2
yn+1 = yn + h f (xn , yn ) + ( fx (xn , y(xn )) + fy (xn , y(xn )) · f (xn ))
2!
152 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
α1 + α2 = 1
1
α2 λ2 =
2
1
α2 µ2 =
2
Estas ecuaciones tienen una infinidad de soluciones, que corresponden a todo el plano α1 +
α2 = 1. Una vez fijados α1 y α2 , µ1 , µ2 quedan determinados de forma única. Si tomamos
α1 = 0, α2 = 1, obtenemos λ2 = µ2 = 12 , y la regla de integración resultante
1 1
yn+1 = yn + h f (xn + h, yn + h f (xn , yn )) (8.5)
2 2
se conoce también como método del punto medio y constituye la justificación numérica del mé-
todo del salto de la rana en las ecuaciones de la dinámica. Equivale a tomar la derivada numérica
de y mediante la regla de tres puntos o a realizar la integral de y! (x) mediante la regla del punto
medio, calculando el valor de y(xn +h/2) por el método de Euler.
Cuando el método del punto medio se utiliza de forma que las funciones se calculen sólo
en la malla de integración, el método se convierte en un método de dos pasos, que satisface la
relación de recurrencia
yn+1 = yn + h (α1 k1 + α2 k2 + α3 k3 + α4 k4 )
D f = fx + f fy
D2 f = fxx + 2 f fxy + f 2 fyy
D3 f = fxxx + 3 f fxxy + 3 f 2 fxyy + f 3 fyyy
que permiten una notación más compacta. Podemos simplificar los desarrollos de los ki , poniendo
los argumentos ki−1 = (ki−1 − f ) + f , con lo cual cada ki tiene un desarrollo similar a k2 más
una parte adicional debida al desarrollo de ki−1 − f en hasta tercer orden de potencias de h
(dependiendo de la potencia de h del término donde aparezcan)
k1 = f
h2 2 2 h3
k2 = f + λ2 hD f + λ2 D f + λ23 D3 f
2 6
h2 h2 $ 2 % h3
k3 = f + λ3 hD f + λ3 h(k2 − f ) fy + λ32 D2 f + 2λ3 fxy (k2 − f ) + λ32 fyy (k22 − f 2 ) + λ33 D3 f
2 2 6
h2 2 2 h2 $ 2 2 % h3
= f + λ3 hD f + λ3 h fy (hλ2 D f + λ2 D f ) + λ3 D f + 2λ32 fxy λ2 hD f + λ32 fyy 2λ2 h f D f + λ33 D3 f
& 2 ' 2& 6 '
1 1 1
= f + λ3 hD f + h2 λ32 D2 f + λ3 λ2 fy D f + h3 λ33 D3 f + λ32 λ2 ( fxy D f + fyy f D f ) + λ22 λ3 fy D2 f
2 6 2
& ' & '
1 1 1
= f + λ3 hD f + h2 λ32 D2 f + λ3 λ2 fy D f + h3 λ33 D3 f + λ32 λ2 D fy D f + λ22 λ3 fy D2 f
2 6 2
h 2 2
h $ 2 % h3
k4 = f + λ4 hD f + λ4 h(k3 − f ) fy + λ42 D2 f + 2λ4 fxy (k3 − f ) + λ42 fyy (k32 − f 2 ) + λ43 D3 f
& 2 ' 2 6
1
= f + λ4 hD f + h2 λ4 λ3 fy D f + λ42 D2 f
2
& '
3 1 3 3 1
+h λ D f + λ4 λ3 ( fxy D f + fyy f D f ) + λ4 λ3 fy D f + λ4 λ3 λ2 fy D f
2 2 2 2
6 4 2
& ' & '
1 2 2 3 1 3 3 1
= f + hλ4 D f + h λ4 λ3 fy D f + λ4 D f + h
2
λ D f + λ4 λ3 D fy D f + λ4 λ3 fy D f + λ4 λ3 λ2 fy D f
2 2 2 2
2 6 4 2
154 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
Igualando potencias de h hasta h4 , obtenemos que deben cumplirse las siguientes 8 ecuaciones
con 7 incógnitas:
α1 + α2 + α3 + α4 = 1
1
α2 λ2 + α3 λ3 + α4 λ4 =
2
1
α2 λ2 + α3 λ3 + α4 λ4 =
2 2 2
3
1
α2 λ2 + α3 λ3 + α4 λ4 =
3 3 3
4
1
α3 λ2 λ3 + α4 λ3 λ4 =
6
1
α3 λ2 λ32 + α4 λ3 λ42 =
8
1
α3 λ22 λ3 + α4 λ32 λ4 =
12
1
α4 λ4 λ3 λ2 =
24
8.3. MÉTODOS DE UN PASO 155
Estas ecuaciones tienen una infinidad de soluciones. La solución escogida por Runge-Kutta
es α1 = α4 = 16 , α2 = α3 = 13 , λ2 = λ3 = 12 , λ4 = 1, que proporciona la regla de integración
h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) (8.8)
6
k1 = f (xn , yn )
1 1
k2 = f (xn + h, yn + hk1 )
2 2
1 1
k3 = f (xn + h, yn + hk2 )
2 2
k4 = f (xn + h, yn + hk3 )
h5 (4)
ε= f (ξ , y(ξ ))
120
Ejemplo:
Resolver mediante RK4 las ecuaciones de la dinámica para un cuerpo puntual de masa m que
se mueve en una dimensión x sometido a una fuerza constante F .
Tomemos F/m = a.
dx
= v
dt
dv
= a
dt
Tenemos
& '
x
y=
v
& '
dy v
= f(t, x, v) =
dt a
& '
v
k1 = f(t, x, v) =
a
& '
v + ha/2
k2 = f(t + h/2, y + h/2f) = f(t + h/2, x + hv/2, v + ha/2) =
a
& '
v + ha/2
k3 = f(t + h/2, y + h/2k2 ) = f(t + h/2, x + h/2 (v + ha/2) , v + ha/2) =
a
& '
2 v + ha
k4 = f(t + h, y + hk3 ) = f(t + h, x + hv + h a/2, v + ha) =
a
& '
h xn + h/6 (vn + 2(vn + ha/2) + 2(vn + ha/2) + vn + ha)
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) =
6 vn + h/6(a + 2a + 2a + a)
& '
xn + hvn + h2 a/2
=
vn + ah
yn+1 = yn + h (α1 k1 + α2 k2 + α3 k3 + α4 k4 + α5 k5 + α6 k6 )
y!n+1 = yn + h (β1 k1 + β2 k2 + β3 k3 + β4 k4 + β5 k5 + β6 k6 )
i−1
ki = f (x + λi h, y + " µi j k j )
j=1
Notemos que las funciones, que es la parte del algoritmo que consume más tiempo de cálculo,
son las mismas para quinto y cuarto orden. Sólo tenemos que formar combinaciones lineales
distintas de las mismas funciones para obtener ambos ordenes de integración. El error cometido
en un paso de integración se puede estimar como la diferencia entre los métodos de quinto y
cuarto orden:
6
ε = y(x + h) − y! (x + h) = h " (αi − βi )ki
i=1
lo que nos proporciona la posibilidad de estimar el error cometido en cada paso, con un esfuerzo
numérico mínimo. El método original, debido al Fehlberg, tiene los siguientes valores de los
parámetros.
i αi αi − βi λi µi j
16 1
1 35 360 0 0
1 1
2 0 0 4 4
128 3 3 9
3 − 4275 8 32 32
28561 2197 12 1932
4 56430 − 75240 13 2197 − 7200
2197
7296
2197
9 1 439 3680 845
5 − 50 50 1 216 −8 513 − 4104
2 2 1 8
6 55 55 2 − 27 2 − 3544
2565
1859
4104 − 11
40
Hay métodos similares debidos a England (ver Ralston Rabinowitz) y a Cash y Karp (ver
Numerical Recipes). Notemos que tomamos el valor de la solución de quinto orden aunque la
estima del error es de la de cuarto orden.
158 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
por lo que el método de Numerov es más preciso que el de Runge-Kutta de cuarto orden y nece-
sita menos evaluaciones de las funciones f (x), pues se calculan sólo en la malla de integración.
Ejercicio: Demostrar que el error de truncado del método de Numerov viene dado por ! =
−h y(6) (x)/240.
6
Solución:Tenemos el desrrollo de Taylor alrededor de yn
y!! = f (x, y)
h2
yn+1 − 2yn + yn−1 = [ f (xn+1 , yn+1 ) + 10 f (xn , yn ) + f (xn−1 , yn−1 )]
12
162 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
que da yn con un error O(h6 ). Como el cálculo del segundo término necesita yn+1 , que es la
solución que queremos determinar, se calcula yn+1 mediante el predictor
(0) h2
yn+1 = 2yn − yn−1 + [ f (xn+1 , yn ) + 10 f (xn , yn ) + f (xn−1 , yn−1 )]
12
y se itera
(k) h2 . (k−1)
/
yn+1 = 2yn − yn−1 + f (xn+1 , yn+1 ) + 10 f (xn , yn ) + f (xn−1 , yn−1 )
12
hasta que se alcance la convergencia (usualmente 3 o 4 veces). Este método se denomina método
implícito de Numerov.
El hecho de que el método de Numerov tiene un error que es una serie de potencias pares de
h, hace posible el utilizar el proceso de extrapolación al límite, utilizando pasos de integración h,
h/2, h/4,... para mejorar la precisión de la solución y(x) en un punto dado. La extrapolación al
límite también se puede utilizar para calcular y1 .
y1 = y0 + h f (x0 , y0 )
y2 = y0 + 2h f (x1 , y1 )
..
.
yn = yn−2 + 2h f (xn−1 , yn−1 )
1
y(x0 + H, h) = [yn + yn−1 + h f (xn , yn )]
2
tiene un error que es una serie de potencias pares de h, con coeficientes independientes de h:
y(x0 + H, h) = y(x0 + H) + A2 h2 + A4 h4 + A6 h6 + · · ·
8.7. MÉTODOS EXPLÍCITOS 163
Esto nos permite utilizar la extrapolación de Richardson para calcular y(x0 + H). Para ello toma-
mos h = H, H/2. H/4, H/8, . . . y construimos la tabla usual de extrapolación al límite
R(H)
R(1) (H)
R(H/2) R(2) (H)
R(1) (H/2) R(3) (H)
R(H/4) R(2) (H/2)
R(1) (H/4)
R(H/8)
..
.
con R(H) = y(x0 + H, H), R(H/2) = y(x0 + H, H/2), R(H/4) = y(x0 + H, H/4), . . ., y
(k−1)
4k R(k−1) (H/2m ) − Rm (H/2m−1 )
R(k) (H/2m−1 ) =
4k − 1
x − xn
con s = (s < 0) con lo que tenemos
h
! xn+1 m
pm (x)dx = h " b j # j fn
xn j=0
donde ! 1" #
j −s
b j = (−1) ds
0 j
Los coeficientes b j no dependen ni de m ni de n. Los primeros valores son b0 = 1, b1 = 1/2,
b2 = 5/12, b3 = 3/8 , b4 = 251/720.
164 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
La regla de integración
yn+1 = yn + h [b0 fn + b1 # fn + · · · + bm #m fn ]
donde los βi dependen del orden m del polinomio. Los casos particulares para diversos valores
de m son los siguiente: para m = 0
yn+1 = yn + h fn
que es el método de Euler. Para m = 1 tenemos:
h
yn+1 = yn + h [b0 fn + b1 ( fn − fn−1 )] = yn + (3 fn − fn−1 )
2
mientras que para m = 2 obtenemos
h
yn+1 = yn + h [b0 f0 + b1 ( f1 − f0 ) + b2 ( fn − 2 fn−1 + fn−2 )] = yn + [23 fn − 16 fn−1 + 5 fn−2 ]
12
Finalmente, para el algoritmo de Adams-Bashforth con m = 3 tenemos la relación de recurrencia:
con ! 1" #
−s
b∗j = (−1) j
ds
−1 j
Este método se conoce como algoritmo de Nÿstrom. Se encuentra que para m = 0 y m = 1
yn+1 = yn−1 + 2h fn
8.7. MÉTODOS EXPLÍCITOS 165
con
x − xn+1
s=
h
obtenemos
! xn+1 m+1
xn
pm+1 (x)dx = h " c j # j fn+1
j=0
con ! 0" #
j −s
c j = (−1) ds
−1 j
que depende sólo de j y no de la función o el orden del polinomio interpolador. Obtenemos por
lo tanto el algoritmo
$ %
yn+1 = yn + h c0 fn+1 + c1 # fn+1 + · · · + cm+1 #m+1 fn+1
166 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
donde los γi dependen sólo de i y m. Obtenemos los siguientes métodos implícitos para los
diferentes valores de m:
Para m = −1
yn+1 = yn + h fn+1
que es el método de Euler-Cromer. Para m = 0 obtenemos
h
yn+1 = yn + ( fn+1 + fn )
2
que es el método de Euler modificado. Para m = 1
h
yn+1 = yn + (5 fn+1 + 8 fn − fn−1 )
12
y finalmente, para m = 2
h
yn+1 = yn + (9 fn+1 + 19 fn − 5 fn−1 + fn−2 )
24
Ejercicio: Demostrar las expresiones anteriores.
También se pueden derivar algoritmos implícitos similares al de Nystrom a partir de la rela-
ción ! xn+1
y(xn+1 ) = y(xn−1 ) + pm+1 (x)dx
xn−1
Para m = 1 y m = 2 se obtiene la expresión
h
yn+1 = yn−1 + ( fn+1 + 4 fn + fn−1 )
3
que se conoce como método de Milne-Simpson o método implícito de Simpson. Su error de
truncado es el del método de integración de Simpson:
h4 (4)
t(x, h) = − f (η)
90
Ejercicio: Demostrarlo.
Los algoritmos implícitos necesitan una primera aproximación a yn+1 . Lo usual es utilizarlos
en la forma conocida como predictor corrector, donde un método explícito se emplea para calcu-
(0)
lar una primera aproximación de yn+1 , que llamamos yn+1 , y el corrector se emplea para mejorar
este valor. Tendremos por lo tanto,:
Predictor:
8.7. MÉTODOS EXPLÍCITOS 167
. /
(0)
yn+1 = yn + h b0 fn + b1 # fn + · · · + bk #k fn
Corrector:
. /
(i+1) (i) (i) (i)
yn+1 = yn + h c0 fn+1 + c1 # fn+1 + · · · + cm+1 #m+1 fn+1
donde k y m son los órdenes del predictor y corrector, respectivamente. Es recomendable que
k = m pero frecuentemente se emplean k y m distintos. El método más sencillo es k = 0 y m = 0
(0)
yn+1 = yn + h fn
(i+1) h . (i) /
yn+1 = yn + f + fn
2 n+1
conocido como método de Euler modificado. Cuando m = k = 2, tenemos el método de Adams-
Moulton de tercer orden:
(0) h
yn+1 = yn + [23 fn − 16 fn−1 + 5 fn−2 ] + O(h4 )
12
(i+1) h . (i) /
yn+1 = yn + 9 fn+1 + 19 fn − 5 fn−1 + fn−2 + O(h5 )
24
mientras que con k = 3 y m = 2 se obtiene el denominado método de Adams, frecuentemente
empleado:
(0) h
yn+1 = yn + [55 fn − 59 fn−1 + 37 fn−2 − 9 fn−3 ] + O(h5 )
24
(i+1) h . (i) /
yn+1 = yn + 9 fn+1 + 19 fn − 5 fn−1 + fn−2 + O(h5 )
24
Los métodos de predictor-corrector tienen como principal ventaja sobre los métodos explíci-
tos el que permiten estimar el error cometido. Por ejemplo, en el método de Adams
(0) 4h
yn+1 = yn−3 + (2 fn−2 − fn−1 + 2 fn )
3
(i+1) h 0 (i) 1
yn+1 = yn−1 + fn+1 + 4 fn + fn−1
3
168 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
Corrector
(k+1) h 0 (k) 1
xi,n+1 = xi,n + vi,n+1 + vi,n
2
(k+1) h 0 (k) (k) (k)
1
vi,n+1 = vi,n + fi,n+1 (rn+1 , vn+1 .tn+1 ) + fi,,n (rn , vn ,tn )
2
donde el subíndice i indica las coordenadas x, y y z (x1 = x, x2 = y, x3 = z). Vemos que el corrector
para la posición es la regla del punto medio.
y(xn+1 ) − y(xn )
t(xn , h) = − G(xn , y(xn ), h)
h
se le denomina error de truncado y nos da una medida de la convergencia de las soluciones de
la ecuación en diferencias a las soluciones ecuación diferencial. De la definición de error de
truncado tenemos que la solución exacta de la ecuación diferencial satisface
donde las tildes idican la relación de recurrencia afectada por los errores de redondeo. Tenemos
que y(xn ) satisface
h<
M
el error de redondeo dominará sobre el error de truncado, por lo que no tiene sentido disminuir h
o aumentar el orden de convergencia para mejorar la precisión del cálculo. Sólo queda aumentar
la precisión de la aritmética con la que operamos (cuádruple precisión o precisión arbitraria).
principio por el error de truncado del método, expresado como una potencia del paso de integra-
ción. Sin embargo, estas cotas de error no tienen en cuenta los errores de redondeo y los errores
en los valores iniciales. En un método de integración dado, la ecuación de diferencias asociada
será
yn+1 = yn + hG(yn , yn−1 , yn−2 , . . . , yn−m , xn )
Si cambio el valor inicial en una pequeña cantidad, y∗0 = y0 + ε, puede suceder que el cambio
en la nueva sucesión y∗n sea siempre pequeño si ε es pequeño, o que por el contrario que elrror
relativo rn = |y∗n − yn |/yn crezca indefinidamente. En este último caso, decimos que el método de
integración es inestable. Un método puede ser inestable en determinadas zonas de las condiciones
iniciales y los parámetros, y estable en otras. La estabilidad se puede estudiar mediante la reso-
lución exacta de la ecuación en diferencias. La inestabilidad puede tener su origen en el tamaño
del paso de integración, en la ecuacción en diferencias que reemplaza la ecuación diferencial o
puede ser una propiedad intrínseca de la ecuación diferencial, para una determinada región de los
parámetros y condiciones iniciales. Este último caso es el origen de los sistemas caóticos. Aquí
vamos a estudiar únicamente las inestabilidades producidas por el método númerico empleado
para resolver una ecuación ordinaria intrínsecamente estable, debidas tanto al tamaño excesivo
del paso de integración como a soluciones parásitas de la ecuación en diferencias que no existen
en la ecuación diferencial original. Para ilustrar el origen de las inestabilidades, vamos a consi-
derar el método del punto medio para el caso sencillo en que f (xn , yn ) = −Ayn , donde A es una
constante. La solución exacta de esta ecuación diferencial es y = ce−Ax . Consideremos el método
de Euler
yn+1 = yn − hAyn = (1 − Ah) yn
Tenemos
yn = (1 − Ah)n y0
Si |1 − Ah| > 1, la solución numérica satisfará yn → $ cuando n → $ en vez de yn → 0. Tenemos
un caso de inestabilidad, que se corrige eligiendo un paso de integración suficientemente peque-
ño, h < 2/A. La mayoría de los métodos son inestables si h es demasiado grande. Una excepción
es el método implícito de Adams-Moulton de orden 1 y 2. Para el orden m = 2, este método da
h h
yn+1 = yn + ( fn+1 + fn ) = yn + (−Ayn − Ayn+1 )
2 2
de forma que " # " #
1 1
1 + hA yn+1 = 1 − hA yn
2 2
con lo que obtenemos 3 4n
1 − 12 hA
yn = y0 ( e−Anh
1+ 1
2 hA
que cumple yn → 0 cuando n → $ para cualquier valor de h. Para el orden m = 1 tenemos
yn+1 = yn + h fn+1
172 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
Para resolver esta ecuación en diferencias suponemos una solución de la forma yn = zn , con lo
que obtenemos la ecuación característica
y
. 5 /n & 1 2 2
'n
(2)
yn = zn2 = −Ah + A h + 1 ( 1 − Ah + A h O(h ) ( e−Anh + O(nh3 )
2 2 3
2
= e−Axn + O(h2 )
yn = c2 , e−Axn
h h5
y(xn+1 ) = y(xn−1 ) + ( f (xn+1 , y(xn+1 )) + 4 f (xn , y(xn )) + f (xn−1 ), y(xn−1 ))) − f (4) (η)
3 90
Tenemos
tenemos
h
|y(xn+1 ) − yn+1 | ≤ |y(xn−1 ) − yn−1 | + (L |y(xn+1 ) − yn+1 | + 4L |y(xn ) − yn | + L |y(xn−1 ) − yn−1 |)
3
5
h 66 6
6
+ 6 f (4) (η)6
90
con lo cual
" # " #
hL hL 4hL h5
1− |y(xn+1 ) − yn+1 | ≤ 1 + |y(xn−1 ) − yn−1 | + |y(xn ) − yn | + M
3 3 3 90
174 CAPÍTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS
6 6
6 (4) 6
donde 6 f (η)6 ≤ M. Esta es una ecuación en diferencias, con ecuación característica de la
ecuación homogénea " # " #
hL 2 4hL hL
1− z + z− 1+ =0
3 3 3
cuyas raíces son
z1 = 1 + hL + O(h2 )
hL
z2 = −1 + + O(h2 )
3
La ecuación no homogénea tiene la solución coonstante
h4 M
z=−
180L
por lo que la solución general de los errores es
h4 M
|y(xn ) − yn | = c1 zk1 + c2 zk2 −
180L
Como
y(x0 ) = y0
h4 M
c1 + c2 =
180L
Si el error en el primer término es |y(x1 ) − y1 | = δ , se cumple
h4 M
c1 − c2 − =δ
180L
h4 M δ
c1 = +
180L 2
δ
c2 = −
2
" # " #
c2 zk2 h4 M h4 M h4 M
k
|y(xn ) − yn | ≤ c1 z1 1 + − ≤ δ + z k
−
c1 zk1 180L 180L 1 180L
Esta cantidad tiende a 0 cuando h tiende a 0 si δ = O(h), lo que ocurre siempre que se tome un
método adecuado para determinar y1 . Por lo tanto el método es convergente.
Ejercicio: Demostrar la estabilidad del método de Milne
Suponemos una ecuación diferencial
y! = Ay
8.10. ELECCIÓN DEL MÉTODO DE INTEGRACIÓN 175
hA h5 66 (4) 6
6
y(xn+1 )−yn+1 = y(xn−1 )−yn−1 + (y(xn+1 ) − yn+1 + 4 (y(xn ) − yn ) + (y(xn−1 ) − yn−1 ))+ 6 f (η)6
3 90
hA h5 66 6
6
!n+1 = !n−1 + (!n+1 + 4!n + !n−1 ) + 6 f (4) (η)6
3 90
Despreciando el error de truncado tenemos las raíces
z1 = 1 + hA + O(h2 )
hA
z2 = −1 + + O(h2 )
3
Si suponemos un error inicial !0 , c2 = !0 − c1 , con lo que tenemos
" #n nhA
n hA k −
!n = c1 (1 + hA) + (!0 − c1 ) −1 + ( c1 enhA + (−1) (!0 − c1 ) e 3
3
Como la solución exacta es
y(xn ) = enhA
tenemos para el error relativo de la solución
4nhA
!n k −
rn = ( c1 + (−1) (!0 − c1 ) e 3
y(xn )
Vemos por lo tanto que, si A > 0, el método es estable, ya que el error relativo permanece acotado,
y que si A < 0 el método es inestable ya que el error relativo aumenta indefinidamente.
Runge-Kutta del mismo orden. No permiten el cambio del paso de integración de forma sencilla,
aunque se puede realizar mediante fórmulas especiales. Los métodos explícitos no permiten es-
timar el error cometido y tienen un error de truncado incierto debido a la extrapolación, mientras
que los métodos implícitos tienen un excelente error de truncado. Tanto métodos explícitos e
implícitos requieren pocas evaluaciones, una sóla en el caso de los métodos explícitos, y unas
tres en los métodos predictor-corrector, que es menor que el esfuerzo numérico necesario en el
método RK4 y la mitad que en el método RK5. Los métodos predictor-corrector permiten adicio-
nalmente estimar el error cometido. Si el volumen de cálculo es un factor decisivo, los métodos
explícitos o los métodos implícitos del tipo predictor corrector son una posibilidad a considerar.
Si las condiciones no cambian mucho de un problema a otro, de forma que conocemos el error
cometido y no hace falta cambiar el paso de integración, los métodos explícitos son aconsejables,
pues requieren mucho menor volumen de cálculo. Esto ocurre, por ejemplo, cuando realizamos
cálculos comparativos con muchos potenciales similares, en los que varían sólo en los valores de
algunos parámetros que cambian ligeramente la forma del potencial.
8.11. Ejercicios
1. Considérese la ecuación de movimiento
d2x
= −x2
dt 2
con las condiciones iniciales x(t = 0) = 0 y v(t = 0) = 10. Determínese la posición y la
velocidad para t = 1 mediante el método de Euler y con paso h = 0,2.
3. La trayectoria de un móvil a lo largo de una línea recta viene descrita por la ecuación
d2x
= x2
dt 2
partiendo del punto x = 1 con velocidad inicial v = 1 ¿Cuánto tiempo trancurrirá hasta que
el móvil llegue al punto x = 2? Utilícese el método de Euler con pasos !x = 0,2.
8.11. EJERCICIOS 177
4. Una partícula de 1 Kg de masa se mueve partiendo del origen con una velocidad inicial de
10 m/s y está sometida a una fuerza dada por la expresión
F = αx2 − β v2
que da
λ exp(−λt0 ) exp(λt)
r2 = " #
8 9 exp(−λt0 )
λ − r0 1 +
2 exp(λt)
λ − r02
la integral angular es
θ = θ0 + ω(t − t0 )
√
por lo que vemos que produce espirales que tienden a círculos límite de radio r = λ.
Demostrar que las ecuaciones en coordenadas cartesianas son:
dr
= λ r − r2
dt
dθ
= ω
dt
Resolverlas por RK4 adaptativo y estudiar la variación del paso de integración para dife-
rentes condiciones iniciales.
3. Ecuaciones de Lorentz
4. Lotka Volterra