Está en la página 1de 36

Captulo 8

Ecuaciones diferenciales ordinarias


8.1.

Introduccin

Una ecuacin diferencial ordinaria de orden n de una funcin y(x) es una ecuacin de la
forma
F(x, y(x), y! (x), y!! (x), . . . , y(n) ) = 0
donde F es una funcin de la que se requiere que sea continua y derivable. Si es posible, se
despeja la derivada de orden ms alto y se expresa de la forma
y(n) = f (x, y, y! , y!! , y(n1) )

(8.1)

El problema puede ser extremadamente complejo en el caso general. En lo que sigue, vamos a
considerar esencialmente ecuaciones diferenciales de primer orden
y! (x) = f (x, y(x))
y sistemas de ecuaciones diferenciales de primer orden. Aunque parezca un problema excesivamente restringido, es suficientemente general para resolver la mayor parte de los problemas
que se presentan en el mbito cientfico y tcnico. De hecho, cualquier ecuacin diferencial de
orden n, expresada en la forma de la Ec.. 8.1, se puede reducir a un sistema de n ecuaciones
diferenciales de primer orden. Para ello, hacemos el siguiente cambio de variables:
y1 = y, y2 = y! , . . . , yn = y(n1)
con lo que obtenemos el sistema de ecuaciones diferenciales:
143

144

CAPTULO 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 dinmicos de la Fsica.
En este captulo, vamos a considerar nicamente problemas en los que se especifican condiciones de contorno iniciales, es decir, damos un punto inicial x0 y los valores de la funcin y(x)
(n1)
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 solucin y y sus
derivadas en una red de N puntos, yk = y0 + k h, k = 0, 1, . . . , N, donde h es el paso de integracin, que se elige de acuerdo con la precisin requerida. Los diferentes mtodos de integracin se
caracterizan por un trmino de error de la forma O(hm ) y por el nmero de operaciones necesarias para realizar un paso de integracin. Para un determinado mtodo de integracin, la precisin
aumenta cuando h disminuye. En general, desearemos obtener la solucin y(x) en un intervalo
[x0 , x f ], con una precisin requerida, que determinar el paso de integracin h que deberemos
x f x0
empleart, con lo que el nmero de puntos de la red vendr dado por N =
+ 1. Vamos a
h
considerar en lo que sigue la solucin de una ecuacin diferencial de primer orden,
y! (x) = f (x, y(x))
y discutiremos algunos ejemplos en los que se resuelven ecuaciones de orden superior reducindolas a sistemas de primer orden.

8.2.

Mtodos tradicionales de resolucin de las ecuaciones de


la dinmica

Desde que Newton creo su teoria de la dinmica, ha existido un gran inters en la resolucin
numrica de estas ecuaciones, principalmente aplicada a problemas de Astronoma. Las ecuaciones de Newton se planteaban como un sistema de dos ecuaciones diferenciales de primer orden
para los vectores velocidad v y posicin r:
dr(t)
= v(t)
dt
dv(t)
F(r, v,t)
=
dt
m

8.2. MTODOS TRADICIONALES DE RESOLUCIN DE LAS ECUACIONES DE LA DINMICA145


La resolucin de estas ecuaciones diferenciales se llevaba a cabo rremplazando las derivadas por cocientes incrementales (diferencias finitas), con un paso temporal !t = conveniente
de forma que la solucin numrica se obtenga con la resolucin requerida. Las formas usuales
empleadas eran las diferencias hacia adelante
d f (t)
f (t + ) f (t) 1 !!
=
f (t) + O( 2 )
dt

2
las diferencias hacia atrs
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 )
2
2
dt

12
Estas frmulas 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 mtodos clsicos ms populares.

8.2.1.

Mtodo de Euler

Consiste en reemplazar las derivadas por las diferencias hacia adelante, con lo que se obtiene
la regla de integracin
r(t + ) = r(t) + v(t)
F(r(t), v(t),t)

v(t + ) = v(t) +
m
que nos permite encontrar los valores de la posicin y la velocidad en una malla temporal de
paso de integracin . Este mtodo es estable si es suficientemente pequeo, y permite obtener
la solucin con la precisin requerida. El mtodo de Euler es un ejemplo de mtodo de un paso,
denominado as porque los valores de r y v en t + dependen slo de los valores en t. El error va
con 2 por lo que requiere pasos de integracin muy pequeos para obtener precisiones numricas
comparables a los errores onservacionales. Por esta razn se idearon mtodos que converjan ms
rpidamente.

146

8.2.2.

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

Mtodo de Euler-Cromer

Este mtodo es similar al anterior excepto que la velocidad el la primera ecuacin se toma en
el punto final
r(t + ) = r(t) + v(t + )
F(r(t), v(t),t)
v(t + ) = v(t) +

m
El mtodo de Euler-Cromer es mucho ms estable que el mtodo de Euler, esencialmente en problemas de rbitas y oscilatorios, pero desde el punto de vista de precisin numrica es igualmente
pobre.

8.2.3.

Mtodo de Euler modificado

En este mtodo, tambin conocido como mtodo del punto medio, se toma la velocidad de la
ecuacin para r como el promedio de las velocidades iniciales y finales, es decir es el promedio
de los mtodos de Euler y Euler-Cromer:
v(t) + v(t + )

2
F(r(t), v(t),t)
v(t + ) = v(t) +

m
r(t + ) = r(t) +

Cuando la segunda ecuacin se introduce en la primera obtenemos


r(t + ) = r(t) + v(t) +

F(r(t), v(t),t) 2

2m

que es la integral exacta cuando la aceleracin es constante. Vemos, por lo tanto, que el error en
la velocidad contina siendo del orden de O( 2 ) pero el error en la posicin es ahora del orden
de O( 3 ).

8.2.4.

Mtodo del salto de la rana (leap-frog)

Todos los mtodos anteriores implican errores O( 2 ), por lo que son poco eficientes. Un paso
ms all es utilizar diferencias centradas, que dan errores del orden de O( 3 ). El llamado mtodo
del salto de la rana utiliza diferencias centradas tanto en la velocidad como en la posicin:
v(t + ) v(t ) F(r(t), v(t),t)
=
2
m
que da
v(t + ) = v(t ) + 2

F(r(t), v(t),t)
m

8.2. MTODOS TRADICIONALES DE RESOLUCIN DE LAS ECUACIONES DE LA DINMICA147


El valor de la velocidad en t + est ligado con la diferencia central de la posicin en t +
r(t + 2) r(t)
= v(t + )
2
que nos da

r(t + 2) = r(t) + 2v(t + )

Tanto el valor de las posiciones como el de las velocidades est determinado con un error O( 2 ).
Vemos que con este mtodo las posiciones se determinan e, t = 0, 2, 4... mientras que las
velocidades se determinan en t = , 3, ..... Es decir, en el fondo es un mtodo de un paso con
!t = 2 pero con la malla de psiciones y velocidades intercaladas, de donde viene el nombre
del algoritmo. Los valores de las posiciones saltan sobre los de las velocidades. Si empezamos
la integracin en t = 0, entonces calculamos las velocidades en puntos t + (2n 1) y las
posiciones en t + 2n. empezando a partir de n = 1. Como las condiciones iniciales slo estn
dadas en t = 0, necesitamos v() para calcular v(). Esto se puede realizar con un paso hacia
detrs del mtodo de Euler
v() = v(0)

F(r(0), v(0), 0)
m

El mtodo del salto de la rana se presenta frecuentemente con el nombre del mtodo del paso
mitad, reemplazando 2 por :
F(r(t), v(t),t)
m
r(t + ) = r(t) + v(t + /2)

v(t + /2) = v(t /2) +


con la condicin de comienzo
v(/2) = v(0)

F(r(0), v(0), 0)
2
m

En esta forma resulta evidente que el paso de integracin es y que las velocidades se calculan
en el punto medio del paso de integracin.
La necesidad de puntos de comienzo adicionales a las condiciones iniciales es comn a los
mtodos multipaso, con los que el mtodo del salto de la rana (o del paso mitad) comparte este
inconveniente.

8.2.5. Mtodo de Verlet


Este mtodo consiste en escribir las ecuaciones dinmicas en la forma
dr(t)
= v(t)
dt
d 2 v(t)
F(r(t), v(t),t)
=
2
dt
m

148

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

y utilizar detivadas centradas en la resolucin de ambas ecuaciones


r(t + 2) r(t)
= v(t + )
2
r(t + 2) 2r(t + ) + r(t) F(r(t + ), v(t + ),t + )
=
2
m
El mtodo determina los valores de la posicin a partir de la segunda ecuacin, mientras que la
primera ecuacin se utiliza para determinar las velocidades a partir de las posiciones. Este es
un mtodo de dos pasos, ya que la determinacin de cada nuevo valor de r requiere los valores
obtenidos en los dos tiempos anteriores. Para la primera iteracin de la segunda ecuacin hace
falta r(), que se puede calcular a partir de las condiciones iniciales como
r() = r(0) + v(0) +

F(r(0), v(0), 0) 2

2m

El mtodo de Verlet se ha empleado tradicionalmente para el clculo de trayectorias de partculas,


ya que no requiere el clculo de las velocidades si la fuerza no depende de la velocidad. Este es
el caso de los problemas de Astronoma. El error del mtodo de Verlet para la posicin va como
O( 4 ), mientras que para la velocidad, que slo se calcula de forma accesoria, va como O( 2 ).
En lo que sigue, las variables dinmicas se calcularn en un red de tiempos tn = t0 + n. En
esta red, las ecuaciones de Verlet, por ejemplo, se escriben como
rn+1 = 2rn + rn1 + 2
vn =

Fn
+ O( 4 )
m

rn+1 rn1
+ O( 2 )
2

con

1 F0 2

2m
Existen muchas variaciones de estos mtodos clsicos, de forma que se mejore la estabilidad
o el orden del error. Actualmente, con la existencia de ordenadores potentes a bajo coste y el
desarrollo de mtodos poderosos con orden de convergencia elevado y la capacidad de estimar el
error cometido, estos mtodos clsicos estn cayendo en desuso, salvo para problemas tpicos de
libro de texto dirigidos a una audiencia sin conocimientos de Clculo Numrico. En lo que sigue
vamos a estudiar la derivacin sistemtica de mtodos con un error O( k ). Consideraremos la
integracin en una variable x, que to tiene que coincidir ni con el tiempo ni con la posicin, que
se incrementa en un paso de integracin h.
r1 = r0 + v0 +

8.3. Mtodos de un paso


De ahora en adelante denominaremos x a la variable independiente e y a la variable dependiente. Sin prdida de generalidad, consideraremos una sla ecuacin de primer orden. La
integracin de
y! = f (x, y(x))

8.3. MTODOS DE UN PASO

149

se puede escribir de forma implcita como


yn+1 = yn +

! xn+1
xn

f (x, y)dx

Como no conocemos la solucin y(x), que es el objetivo de nuestro problema, la integral no se


puede realizar exactamente y hay que realizarla de forma aproximada, basndose en valores ya
calculados de y.
Los denominados mtodos de un paso proporcionan yn+1 a partir de yn y xn . En otras palabras,
proporcionan una funcin G de forma que
yn+1 = yn + hG(xn , yn , h)
Existen diversas maneras de construir mtodos de un paso. El ms pedaggico, aunque no el
ms utilizado en la prctica, es el mtodo de la serie de Taylor, expuesto a continuacin.

8.3.1. Mtodo de la serie de Taylor


Si tenemos la ecuacin diferencial
y! (x) = f (x, y(x))
podemos expresar y(xn + h) en funcin de y(xn ) mediante la serie de Taylor,
y(xn + h) = y(xn ) + hy! (xn ) +

h2 !!
h3
hn
hn+1 (n+1)
y (xn ) + y!!! (xn ) + + y(n) (xn ) +
y
( )
2!
3!
n!
(n + 1)!

Los n primeros trminos proporcionan un mtodo 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 expresin. 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))
Si denominamos f (1) (x, y(x)) a y!! (x), obtenemos anlogamente
(1)

(1)

y!!! (x) = fx (x, y(x)) + fy (x, y(x)) f (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)


con lo que obtendremos en general
(k2)

f (k1) (x, y(x)) = fx

(k2)

(x, y(x)) + fy

y(k) (x) = f (k1) (x, y(x))

(x, y(x)) f (x)

150

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

Con estas definiciones obtenemos para la serie de Taylor la siguiente expresin:


y(xn + h) = y(xn ) + h f (xn , yn ) +

h2 (1)
hn
hn+1 (n)
f (xn , yn ) + + f (n1) (xn , yn ) +
f ( , )
2!
n!
(n + 1)!

Reteniendo los n + 1 primeros trminos de la serie de Taylor obtenemos un mtodo de un paso de


orden n, es decir obtenemos y(xn + h) a partir de y(xn ) con un error de truncado que depende de
hn+1 y potencias superiores de h. El caso ms sencillo es cuando nos quedamos con nicamente
los dos primeros trminos:
y(xn + h) = y(xn ) + h f (xn , yn )
Este mtodo es el ms sencillo imaginable y corresponde al mtodo de Euler mtodo. En general
es un mtodo muy impreciso, pero si se utiliza un paso de integracin suficientemente pequeo,
da la solucin de la ecuacin diferencial con la precisin deseada. Si el paso de integracin
es demasiado grande, el mtodo es inestable y la solucin numrica diverge de la exacta. Lo
utilizaremos para comparar con mtodos de orden superior en algunos de los ejemplos ofrecidos
posteriormente. Si retenemos dos trminos, obtenemos
h2
( fx (x, y(x)) + fy (x, y(x)) f (x))
(8.3)
2!
que es un mtodo de segundo orden, que proporciona resultados mucho mejores que el mtodo
de Euler. Su principal inconveniente es tener que calcular analticamente las derivadas parciales
fx (x, y(x)) y fy (x, y(x)), lo cual es un inconveniente si f (x) es muy complicada y adems produce
errores significativos si f (x) se conoce slo de forma emprica, es decir, es una aproximacin numrica a datos experimentales o una aproximacin a una funcin mucho ms complicada. Estos
inconvenientes resultan mucho ms importantes cuando derivamos mtodos de orden superior a
partir de la serie de Taylor. En general, aunque el mtodo de la serie de Taylor tiene un gran valor
pedaggico y es til en la derivacin de otros mtodos, es raramente una buena eleccin en la
solucin de un problema numrico. Sin embargo, cuando el clculo de las derivadas es sencillo,
como en el ejemplo dado a continuacin, el mtodo de serie de Taylor es un mtodo estable y
eficiente.
y(xn + h) = y(xn ) + h f (xn ) +

Ejemplo 1
Resolver la ecuacin diferencial y! = y en orden k mediante el mtodo de serie de Taylor.
Solucin: 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
#
"
hk
h2 h3
y(x + h) = y 1 + h + + + +
2! 3!
k!
con lo que la integracin en n pasos da
"
#n
h2 h3
hk
yn = y0 1 + h + + + +
2! 3!
k!
que es una aproximacin de orden k a yn = y0 enh que es la solucin exacta.

8.3. MTODOS DE UN PASO

8.3.2.

151

Mtodos de Runge-Kutta

Los mtodos de Runge-Kutta evitan el clculo analtico de las derivadas que aparece en la
serie de Taylor, haciendo la siguiente suposicin:
m

yn+1 = yn + h " i ki

(8.4)

i=1

con k1 = f (xn, yn ) , ki = f (xn + i h, yn + i hki1 ) donde los i , i son constantes que se determinan de forma que la anterior expresin 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 adems
i1

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 mtodos de Runge-Kutta aproximan
las derivadas de la serie de Taylor por combinaciones lineales de valores de la funcin f en
puntos comprendidos entre (xn , yn ) y (xn+1 , yn+1 ). Se pueden considerar como una extensin
sofisticada del mtodo del punto medio, tomando una serie de puntos intermedios del intervalo
de forma que la integral
yn+1 = yn +

! xn+1
xn

f (x, y)dx

sea exacta hasta orden h p . La principal desventaja de estos mtodos es que se debe calcular la
funcin f en puntos que no pertenecen a la red de integracin (xn ,yn ). Por otro lado son muchas
sus ventajas, entre las que cabe mencionar la posibilidad de cambiar el paso de integracin en
un momento dado, la estabilidad, la facilidad de programacin, y la posibilidad de estimar los
errores de truncado en los mtodos de Runge-Kutta ms sofisticados.
Vamos a considerar en primer lugar los mtodos de Runge-Kutta de orden 2, que aunque se
utilizan con menos frecuencia que los mtodos de orden 4, su exposicin es muy pedaggica.
Tomamos m = 2, que es el mnimo valor que hace falta para que las derivadas coincidan con la
serie de Taylor hasta segundo orden. La forma del mtodo de segundo orden es por lo tanto:
yn+1 = yn + h (1 f (xn , yn ) + h2 f (xn + 2 h, yn + 2 f (xn , yn )h)
Desarrollando en serie de Taylor la anterior expresin hasta orden h2 obtenemos,
yn+1 = yn + h1 f (xn , yn ) + h2 [ f (xn , yn ) + fx (xn , yn )2 h + fy (xn , yn ) f (xn , yn )2 h]
con lo que, para que la anterior ecuacin coincida con la serie de Taylor hasta segundo orden
yn+1 = yn + h f (xn , yn ) +

h2
( fx (xn , y(xn )) + fy (xn , y(xn )) f (xn ))
2!

152

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

deben de cumplirse las siguientes ecuaciones


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 integracin resultante
1
1
yn+1 = yn + h f (xn + h, yn + h f (xn , yn ))
2
2

(8.5)

se conoce tambin como mtodo del punto medio y constituye la justificacin numrica del mtodo del salto de la rana en las ecuaciones de la dinmica. Equivale a tomar la derivada numrica
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 mtodo de Euler.
Cuando el mtodo del punto medio se utiliza de forma que las funciones se calculen slo
en la malla de integracin, el mtodo se convierte en un mtodo de dos pasos, que satisface la
relacin de recurrencia
yn+1 = yn1 + 2h f (xn , yn )

(8.6)

Como y1 no est definido mediante esta relacin de recurrencia y el valor inicial y0 , hay que
calcularlo por otro mtodo. La posibilidad ms simple es emplear el mtodo de Euler para determinarlo
y1 = y0 + h f (x0 , y0 )
aunque si se quiere evitar la introduccin de errores adicionales habra que emplear un mtodo
de segundo orden (un paso de 8.5 por ejemplo). Esta ltima versin del mtodo del punto medio
es ligeramente ms precisa para un valor de h dado que el mtodo del punto medio con 2h (que
equivale al mismo esfuerzo de clculo) ya que los valores de y(xn + h/2) intermedios se calculan
mediante la relacin de recurrencia de segundo orden en vez de por el mtodo de Euler. Sin
embargo es un mtodo inestable para determinadas ecuaciones.
Si tomamos 1 = 2 = 21 , obtenemos la siguiente regla de integracin
1
yn+1 = yn + h ( f (xn , yn ) + f (xn + h, yn + h f (xn , yn )))
2

(8.7)

que usualmente se denomina mtodo de Runge-Kutta de orden 2 y tambin mtodo de Euler


modificado. Equivale a utilizar la regla trapezoidal para integrar y! (x), cuando f no depende de
y. Constituye una justificacin del mtodo de Euler modificado de las ecuaciones de la dinmica.
Todava hay una tercera solucin bien conocida, que corresponde a 1 = 41 , 2 = 34 y 2 = 2 = 23 :
"
#
h
2
2
yn+1 = yn +
f (xn , yn ) + 3 f (xn + h, yn + h f (xn , yn ))
4
3
3

8.3. MTODOS DE UN PASO

153

que se conoce como algoritmo de Heun.


Entre los mtodos de Runge Kutta, el ms popular es sin duda el mtodo de Runge-Kutta de
orden 4, en el que se toman m = p = 4. Es decir, suponemos una regla de integracin de la forma
yn+1 = yn + h (1 k1 + 2 k2 + 3 k3 + 4 k4 )
con k1 = f (xn , yn ), ki = f (xn + i h, yn + i ki1 h). Las constantes i , i , i se determinan de forma que la anterior expresin coincida con la serie de Taylor en orden h4 . Para ello, desarrollamos
las funciones ki en orden h3 y reagrupamos potencias de h.
En lo que sigue suprimimos los argumentos de las funciones, por claridad de notacin. Tomamos una solucin que satisfaga i = i , lo cual veremos a posteriori que es posible. Dada la
simetra en las derivadas con respecto a x e y, definimos los siguientes operadores diferenciales
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 notacin ms compacta. Podemos simplificar los desarrollos de los ki , poniendo
los argumentos ki1 = (ki1 f ) + f , con lo cual cada ki tiene un desarrollo similar a k2 ms
una parte adicional debida al desarrollo de ki1 f en hasta tercer orden de potencias de h
(dependiendo de la potencia de h del trmino donde aparezcan)

k1 =
k2 =
k3 =
=
=
=
k4 =
=

f
h2 2 2
h3
2 D f + 23 D3 f
2
6
% h3
h2
h2 $ 2
f + 3 hD f + 3 h(k2 f ) fy + 32 D2 f +
23 fxy (k2 f ) + 32 fyy (k22 f 2 ) + 33 D3 f
2
2
6
% h3
h2 2 2
h2 $ 2 2
f + 3 hD f + 3 h fy (h2 D f + 2 D f ) +
3 D f + 232 fxy 2 hD f + 32 fyy 22 h f D f + 33 D3 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 ( 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
2
2
% h3
h
h $ 2
f + 4 hD f + 4 h(k3 f ) fy + 42 D2 f +
24 fxy (k3 f ) + 42 fyy (k32 f 2 ) + 43 D3 f
2
6
&
' 2
1
f + 4 hD f + h2 4 3 fy D f + 42 D2 f
2
&
'
1
3 1 3 3
2
2
2
2
+h
D f + 4 3 ( fxy D f + fyy f D f ) + 4 3 fy D f + 4 3 2 fy D f
6 4
2
&
'
&
'
1 2 2
1
2
3 1 3 3
2
2
2
2
f + h4 D f + h 4 3 fy D f + 4 D f + h
D f + 4 3 D fy D f + 4 3 fy D f + 4 3 2 fy D f
2
6 4
2
f + 2 hD f +

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

154

Los primeros trminos de la serie de Taylor hasta orden h4 son


y(xn + h) = y(xn ) + h f (xn , yn ) +

h2
( fx (xn , yn ) + fy (xn , yn ) f (xn , yn ))
2!

h3 (1)
(1)
( fx (xn , yn ) + fy (xn , yn ) f (xn , yn ))
3!
h4 (2)
(2)
+ ( fx (xn , yn ) + f fy (xn , yn ))
4!
h2
h3
= y(xn ) + h f + D f + (D2 f + fy D f )
2
6
4
h
+ (D3 f + 3 f fy D fy + 3 fx D fy + fy D2 f + fy2 D f )
24
h2
h3 2
h4 3
= y(xn ) + h f + D f + (D f + fy D f ) + (D f + 3D f D fy + fy D2 f + fy2 D f )
2
6
24
+

donde hemos utilizado las relaciones


f (1) = fx + f fy = D f
f (2) = fxx + fx fy + 2 f fxy + f fy2 + f 2 fyy = D2 f + fy D f
f (3) = fxxx + fxx fy + fx fxy + 2 fx fxy + 2 f fxxy + fx fy2 + 2 f fxy + 2 f fx fyy
+ f 2 fxyy + f fxxy + f fxy fy + f fx fyy + 2 f fy fxy + 2 f 2 fxyy
+ f fy3 + 2 f 2 fy fyy + 2 f 2 fy fyy + f 3 fyyy = fxxx + 3 f fxxy + 3 f 2 fxyy + f 3 fyyy +
fy ( fxx + 2 f fxy + f 2 fyy ) + +3 fx fxy + 3 f fy fxy + 3 f fx fyy + 3 f 2 fy fyy + fx fy2 + f fy3
= D3 f + fy D2 f + 3D fy D f + fy2 D f
Igualando potencias de h hasta h4 , obtenemos que deben cumplirse las siguientes 8 ecuaciones
con 7 incgnitas:
1 + 2 + 3 + 4 = 1
1
2 2 + 3 3 + 4 4 =
2
1
2
2
2
2 2 + 3 3 + 4 4 =
3
1
3
3
3
2 2 + 3 3 + 4 4 =
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. MTODOS DE UN PASO

155

Estas ecuaciones tienen una infinidad de soluciones. La solucin escogida por Runge-Kutta
es 1 = 4 = 16 , 2 = 3 = 13 , 2 = 3 = 12 , 4 = 1, que proporciona la regla de integracin
h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
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 )

(8.8)

que es el mtodo de Runge-Kutta de 4 orden utilizado usualmente. Es equivalente a integrar


f (x) por el mtodo de Simpson cuando f (x, y) no depende de y(x). Esta es quizs la razn de
que este conjunto simple de parmetros extremadamente simple sea ptimo entre la infinidad
de parmetros posibles, ya que el mtodo de Simpson es un mtodo extremadamente eficiente
de integracin numrica con errores del orden de O(h5 ). Notemos que es necesario realizar 4
evaluaciones de la funcin f para cada paso de integracin. El mtodo es robusto y estable, y
suele ser una primera eleccin a la hora de tratar un problema dado. Es razonablemente eficiente
si las funciones f no son excesivamente complicadas. Su error de truncado es
h5 (4)
=
f ( , y( ))
120
Cuando la evaluacin de las funciones el menor nmero de veces posible es de importancia
crtica, los mtodos de orden superior conocidos come predictor-corrector son ms eficientes. El
mayor problema de estos mtodos radica en la imposibilidad de conocer el error real cometido,
lo cual es importante si las funciones f tienen un comportamiento abrupto, y en la imposibilidad
de cambiar el paso de integracin sobre la marcha, para cambiar el paso de integracin en las
zonas en las que el comportamiento de f vara. El cambiar el paso de integracin en un momento
dado es una de las ventajas que caracterizan los mtodos de Runge-Kutta y todos los mtodos
de un paso en general. En lo concerniente a la estimacin del error, una forma frecuentemente
utilizada en el pasado es comparar los resultados obtenidos con h y h/2, aunque este mtodo
es costoso en tiempo de clculo. En los ltimos tiempos, la disponibilidad de programas de
clculo simblico han permitido el descubrimiento de mtodos de Runge-Kutta de orden mayor
que 4 que contienen un mtodo de 4 orden con funciones calculadas en los mismos puntos.
Estos mtodos permiten evaluar el error cometido como la diferencia entre los valores obtenidos
con los dos rdenes diferentes. En Numerical Recipes se expone un mtodo de Runge-Kutta de
orden 6 que permite una estimacin del error mediante un mtodo de cuarto orden que utiliza los
mismos ki pero distintos coeficientes i .
En Ralston y Rabinowitz se exponen en detalle distintas variantes de los mtodos de RungeKutta.
En el caso de sistemas de ecuaciones, lo que tendremos es una relacin de recurrencia entre

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

156

vectores. Por ejemplo, para el mtodo de Runge-Kutta de 4 orden


h
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
6

Ejemplo:
Resolver mediante RK4 las ecuaciones de la dinmica para un cuerpo puntual de masa m que
se mueve en una dimensin x sometido a una fuerza constante F .
Tomemos F/m = a.
dx
= v
dt
dv
= a
dt
Tenemos
y=

&

x
v

'

dy
= f(t, x, v) =
dt
k1 = f(t, x, v) =

&

&

v
a
v
a

'

'

k2 = f(t + h/2, y + h/2f) = f(t + h/2, x + hv/2, v + ha/2) =

&

v + ha/2
a

k3 = f(t + h/2, y + h/2k2 ) = f(t + h/2, x + h/2 (v + ha/2) , v + ha/2) =


2

k4 = f(t + h, y + hk3 ) = f(t + h, x + hv + h a/2, v + ha) =

yn+1

h
= yn + (k1 + 2k2 + 2k3 + k4 ) =
6
&
'
xn + hvn + h2 a/2
=
vn + ah

&

&

&

'

v + ha/2
a

v + ha
a

'

'

xn + h/6 (vn + 2(vn + ha/2) + 2(vn + ha/2) + vn + ha)


vn + h/6(a + 2a + 2a + a)

Estas son las ecuaciones del movimiento uniformemente acelerado.


Ejercicio: Realizar un paso de integracin de las ecuaciones del oscilador armnico simple
por RK4. Discutir el resultado.

'

8.4. MTODOS DE RUNGE-KUTTA QUE CONTIENEN DOS RDENES DE APROXIMACIN157

8.4.

Mtodos de Runge-Kutta que contienen dos rdenes de


aproximacin

8.4.1.

Mtodo de quinto orden

De especial inters son los mtodos de quinto orden o superior que contienen otro mtodo de
de cuarto orden. Para quinto orden, estos mtodos son de la forma
yn+1 = yn + h (1 k1 + 2 k2 + 3 k3 + 4 k4 + 5 k5 + 6 k6 )
donde las ki coinciden con las funciones de un mtodo de cuarto orden
y!n+1 = yn + h (1 k1 + 2 k2 + 3 k3 + 4 k4 + 5 k5 + 6 k6 )
Las funciones ki se escriben de la forma
i1

ki = f (x + i h, y + " i j k j )
j=1

Notemos que las funciones, que es la parte del algoritmo que consume ms tiempo de clculo,
son las mismas para quinto y cuarto orden. Slo tenemos que formar combinaciones lineales
distintas de las mismas funciones para obtener ambos ordenes de integracin. El error cometido
en un paso de integracin se puede estimar como la diferencia entre los mtodos 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
numrico mnimo. El mtodo original, debido al Fehlberg, tiene los siguientes valores de los
parmetros.
i
1
2
3
4
5
6

i i

i
0

i j
0

1
4
3
8
12
13

1
4
3
32
1932
2197
439
216
8
27

16
35

28561
56430
9
50
2
55

1
360

128
4275
2197
75240
1
50
2
55

1
1
2

9
32
7200
2197

8
2

7296
2197
3680
513
3544
2565

845
4104
1859
4104

11
40

Hay mtodos similares debidos a England (ver Ralston Rabinowitz) y a Cash y Karp (ver
Numerical Recipes). Notemos que tomamos el valor de la solucin de quinto orden aunque la
estima del error es de la de cuarto orden.

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

158

8.5.

Mtodo de Runge-Kutta adaptativo

Un mtodo adaptativo es aquel que cambia el paso de integracin de forma que el error
comertido se encuentre siempre por debajo de cierta tolerancia . Esto siempre es posible en el
caso de mtodos de un paso que permitan la estimacin del error. Los mtodos de Runge-Kutta
que contienen otro de orden inferior permiten realizar una estimacion del error y modificar el
paso de integracin de forma que el error sea inferior a la tolerancia, pero no excesivamente. Si
sabemos que el error va con h5 tenemos que un factor 2 de reduccin de h disminuye el error
1
en 215 = 128
. Podemos ajustar el paso de integracin variando h un factor , h! = h, de forma
que 5 = , siempre que se desve apreciablemente, por encima o por debajo, de la tolerancia
deseada .
" #1/5
h!

= =
h

De esta forma, mantenemos un paso de integracin en un valor ptimo, sin que desperdiciemos
tiempo de clculo ni tengamos errores superiores a los deseados. En el mtodo RK4, la nica
forma de estimar el error es comparar los resultados obtenidos con un paso co h y dos pasos con
h/2. Esto se puede realizar cada cierto nmero de pasos de integracin. Los mtodos adaptativos
son esenciales en problemas donde las condiciones de integracin varan fuertemente, como
suele suceder en muchos problemas de de ingeniera. Como el error es slo una estimacin, en
un programa real tomamos una constante c1 menor que la unidad y hacemos h! = c1 h. Un valor
realista es c1 = 0,8. Tambin debemos evitar variaciones demasiado bruscas de h que puden
resultar incontrolables. Podemos limitar las variaciones de h en un factor c2 = 4, por ejemplo. Si
c1 h > 4h tomamos h! = 4h. Si c1 < 1/4 tomamos h! = h/4.

8.6. Mtodos multipaso


8.6.1. Ecuaciones de segundo orden: mtodo de Numerov
Para algunos tipos de ecuaciones de orden superior existen mtodos ms adecuados que el de
Runge-Kutta. En particular, para ecuaciones del tipo
y!! (x) = f (x)y(x) + w(x)
que aparece frecuentemente en Fsica, podemos aproximar la derivada segunda utilizando la
frmula de tres puntos de con su trmino de error
y!! (x) =

y(x + h) 2y(x) + y(x h) h2 (4)


y (x) =
h2
12
y(x + h) 2y(x) + y(x h) h2
( f (x)y(x) + w(x))!!
h2
12

En el ltimo paso hemos utilizado la ecuacin diferencial para calcular el trmino de error.
Utilizando la frmula de tres puntos de nuevo para calcular la derivada segunda del ltimo tr-

8.6. MTODOS MULTIPASO

159

mino, y!! (x) queda en la forma


y!! (x) =

y(x + h) 2y(x) + y(x h)


h2
1
( f (x + h)y(x + h) + w(x + h) 2 f (x)y(x) 2w(x) + f (x h)y(x + h) + w(x h))
12

con lo que la ecuacin en diferencias finitas correspondiente a la ecuacin diferencial queda


como
y(x + h) 2y(x) + y(x h)
1
[ f (x + h)y(x + h) + w(x + h)
2
h
12
2 f (x)y(x) 2w(x) + f (x h)y(x + h) + w(x h)] = f (x)y(x) + w(x)
Reordenando los trminos obtenemos finalmente la relacin de recurrencia
"

#
"
#
"
#
h2
5h2
h2
y(x + h) 1
f (x + h) 2y(x) 1 +
f (x) + y(x h) 1
f (x h)
=
12
12
12
h2 [w(x + h) + 10w(x) + w(x h)]
12

(8.9)
(8.10)

que se conoce como mtodo de integracin de Numerov. Notemos que no es un mtodo de un


paso, puesto que cada valor de y(x) se calcula a partir de los dos valores anteriores en la malla
de integracin. La funcin y(x) se determina con un error correspondiente al siguiente trmino
de error de la frmula de derivacin de tres puntos
! = h6 y(6) (x)/240
por lo que el mtodo de Numerov es ms preciso que el de Runge-Kutta de cuarto orden y necesita menos evaluaciones de las funciones f (x), pues se calculan slo en la malla de integracin.
Ejercicio: Demostrar que el error de truncado del mtodo de Numerov viene dado por ! =
6
h y(6) (x)/240.
Solucin:Tenemos el desrrollo de Taylor alrededor de yn

yn+1 2yn + yn1


h 2 (4)
h4 (6)
h 2 (4)
h4 (6)
h6 (8)
!!
!!
=
y
+
2
y
+
2
y
=
y
+
y
+
y
+
y
h2
4!
6!
12
360
20160
yn+1 2yn + yn1
h 2 (4)
h4 (6)
h6 (8)

y
h2
12
360
20160
y utilizando de nuevo la frmula de tres puntos para la derivada cuarta
y!! =

y(4) = (y!! )!! =

y!!n+1 2y!!n + y!!n1


h 2 (6)
h4 (8)

y
h2
12
360

obtenemos hasta orden h6


&
'
yn+1 2yn + yn1
h 2 y!!n+1 2y!!n + y!!n1
h 2 (6)
h4 (8)
h4 (6)
h6 (8)
y =

y
h2
12
h2
12
360
360
20160
!!

Definiendo
u(x) = y(x)

"
#
h2 !!
h2
y (x) = y(x) 1
f (x)
12
12

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

160

donde en el ltimo paso hemos utilizado la ecuacin diferencial, tenemos en orden h4


y!! =

un+1 2un + un1


h4 (6)
h4 (6) un+1 2un + un1
h4 (6)
+
y
y =
+
y
2
2
h
144
360
h
240

por lo que la relacin de recurrencia da un+1 = 2un un1 + h2 f (xn )yn con un error de truncado de

h6 (6)
y .
240

La forma ptima desde el punto de vista de eficiencia numrica de utilizar el mtodo de


Numerov es definir la funcin
"
#
h2
u(x) = y(x) 1 f (x)
12
para la cual la relacin 8.9 nos da la relacin de recurrencia
"
#
2 w(xn+1 ) + 10w(xn ) + w(xn1 )
un+1 = 2un un1 + h
+ f (xn )yn
12
En el segundo trmino aparece todava yn . Teniendo en cuenta que
y(x) = "

u(x)
#
h2
1 f (x)
12

(8.11)

podemos poner yn en funcin de un en el segundo miembro y tenemos finalmente la relacin de


recurrencia de un para la integracin por el mtodo de Numerov:

w
n+1 + 10wn + wn1
un+1 = 2un un1 + h2
+"
12

f (xn )un

h
1 f (xn )
12

La solucin buscada y(x) , se obtiene al final a partir de la relacin 8.11 para los puntos deseados:
yn = "

un
#
h2
1 f (xn )
12

En determinadas ocasiones, el llamado mtodo de Numerov modificado, en el que se reemplaza


el denominador de la expresin anterior por sus dos primeros trminos del desarrollo en serie de
Taylor,
"
#
f (xn )
h2
"
# f (xn ) 1 + f (xn )
12
h2
1 f (xn )
12
es ms estable que el mtodo de Numerov original. El error de truncado del mtodo de Numerov modificado es el correspondiente al mtodo de Numerov mas el cometido en la ltima
aproximacin
! = h6 f (x)3 y(x)/144 h6 y(4) (x)/240

8.6. MTODOS MULTIPASO

161

La mayor estabilidad se debe a la cancelacin de estos dos trminos de error. El mtodo de


Numerov necesita dos valores iniciales. Las condiciones iniciales de las ecuaciones diferenciales
!
de segundo orden suelen ser el valor inicial y0 y la derivada de la funcin y0 . El primer valor
de partida es el valor inicial y0 . El segundo valor y1 se puede determinar a partir de y0 como
!
y1 = y0 + y0 h aunque esto introduce un error de h2 . Una posibilidad es emplear Runge-Kutta
para determinar y1 . Otra posibilidad es considerar el desarrollo en serie de Taylor
1
1 (3)
1 (4)
y1 = y0 + y!0 h + y!!0 h2 + y0 h3 + y0 h4 + O(h5 )
2
6
24
Las derivadas se pueden determinar directamente de la ecuacin diferencial
y!!0 = f (x0 )y0 + w0

y0

(3)

= f ! (x0 )y0 + f (x0 )y!0 + w! (x0 )

y0

(4)

= f !! (x0 )y0 + f ! (x0 )y!0 + f (x0 ) ( f (x0 )y0 + w0 ) + w!! (x0 )

y as sucesivamente. Alternativamente, si no es posible determinar las derivadas analticamente,


las podemos determinar numricamente. Por ejemplo, en orden h3 podemos aproximar
(3)

y0 = ( f (x0 )y0 + w0 )! =

f (x1 )y1 + w1 f (x0 )y0 w0 (x0 )


h

con lo que obtenemos


1
1 f (x1 )y1 + w1 f (x0 )y0 w0 (x0 ) 3
y1 = y0 + y!0 h + ( f (x0 )y0 + w(x0 )) h2 +
h
2
6
h
1
1
y1 = y0 + y!0 h + ( f (x0 )y0 + w(x0 )) h2 + ( f (x1 )y1 + w(x1 )) h2
3
6
El mtodo de Numerov se utiliza usualmente para resolver la ecuacin de Schrdinger en un
pozo de potencial V (x):
h2 !!
(x) +V (x)(x) = E
2m
o la de un oscilador armnico forzado
x!! (t) + k2 x(t) = f (t)
Cuando tenemos una ecuacin de la forma
y!! = f (x, y)
aunque el mtodo de Numerov no es aplicable, se puede utilizar la relacin de recurrencia obtenida desarrollando y!! en orden h4 mediante la frmula de tres puntos con su trmino de error y
utilizando la ecuacin diferencial y la frmula de tres puntos para estimar y(4) (x),
yn+1 2yn + yn1 =

h2
[ f (xn+1 , yn+1 ) + 10 f (xn , yn ) + f (xn1 , yn1 )]
12

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

162

que da yn con un error O(h6 ). Como el clculo del segundo trmino necesita yn+1 , que es la
solucin que queremos determinar, se calcula yn+1 mediante el predictor
(0)

yn+1 = 2yn yn1 +

h2
[ f (xn+1 , yn ) + 10 f (xn , yn ) + f (xn1 , yn1 )]
12

y se itera
(k)

yn+1 = 2yn yn1 +

/
h2 .
(k1)
f (xn+1 , yn+1 ) + 10 f (xn , yn ) + f (xn1 , yn1 )
12

hasta que se alcance la convergencia (usualmente 3 o 4 veces). Este mtodo se denomina mtodo
implcito de Numerov.
El hecho de que el mtodo de Numerov tiene un error que es una serie de potencias pares de
h, hace posible el utilizar el proceso de extrapolacin al lmite, utilizando pasos de integracin h,
h/2, h/4,... para mejorar la precisin de la solucin y(x) en un punto dado. La extrapolacin al
lmite tambin se puede utilizar para calcular y1 .

8.6.2.

Mtodo de Stoer Burlisch y extrapolacin de Richardson

La regla del punto medio tiene un error que es una serie de potencias pares de h. Esto nos
permite utilizar el mtodo de extrapolacin al lmite en la forma que exponemos a continuacin.
Consideramos un paso de integracin H, que es mucho mayor que la longitud usual de un paso
de integracin, y subdividimos H en n subintervalos. Si realizamos una subintegracin dentro de
H, con y0 como valor inicial, obtenemos:
y1 = y0 + h f (x0 , y0 )
y2 = y0 + 2h f (x1 , y1 )
..
.
yn = yn2 + 2h f (xn1 , yn1 )
Entonces sucede que la estima
y(x0 + H, h) =

1
[yn + yn1 + 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. MTODOS EXPLCITOS

163

Esto nos permite utilizar la extrapolacin de Richardson para calcular y(x0 + H). Para ello tomamos h = H, H/2. H/4, H/8, . . . y construimos la tabla usual de extrapolacin al lmite
R(H)

R(1) (H)

R(H/2)

R(2) (H)

R(1) (H/2)

R(H/4)

R(2) (H/2)

R(1) (H/4)

R(H/8)
..
.

R(3) (H)

con R(H) = y(x0 + H, H), R(H/2) = y(x0 + H, H/2), R(H/4) = y(x0 + H, H/4), . . ., y
R(k) (H/2m1 ) =

8.7.

(k1)

4k R(k1) (H/2m ) Rm
4k 1

(H/2m1 )

Mtodos explcitos
!

Los mtodos explcitos se basan en escribir la solucin de la ecuacin diferencial y = f (x, y)


como
! xn+1
y(xn+1 ) = y(xn ) +
f (x, y(x))dx
xn

y aproximar f (x, y) por el polinomio interpolador en m+1 puntos (xn , yn ), (xn1 , yn1 ), (xnm , ynm ),
m n:
!
y(xn+1 ) = y(xn ) +

xn+1

xn

pm (x)dx

Utilizamos la frmula de diferencias regresivas del polinomio interpolador:


"
#
m
s
j
pm (x) = " (1)
# j fn
j
j=0
con s =

x xn
(s < 0) con lo que tenemos
h
! xn+1
xn

pm (x)dx = h " b j # j fn
j=0

donde
b j = (1)

#
! 1"
s
0

ds

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.

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

164
La regla de integracin

yn+1 = yn + h [b0 fn + b1 # fn + + bm #m fn ]
se denomina algoritmo de Adams-Bashfort. Expresando las diferencias en trminos de valores
de la funcin, obtenemos expresiones de la forma
yn+1 = yn + h [0 fn + 1 fn + + m fnm ]
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 mtodo de Euler. Para m = 1 tenemos:
h
yn+1 = yn + h [b0 fn + b1 ( fn fn1 )] = yn + (3 fn fn1 )
2
mientras que para m = 2 obtenemos
yn+1 = yn + h [b0 f0 + b1 ( f1 f0 ) + b2 ( fn 2 fn1 + fn2 )] = yn +

h
[23 fn 16 fn1 + 5 fn2 ]
12

Finalmente, para el algoritmo de Adams-Bashforth con m = 3 tenemos la relacin de recurrencia:


yn+1 = yn + h [ b0 f0 + b1 ( f1 f0 ) + b2 ( fn 2 fn1 + fn2 )
+b3 (( fn 2 fn1 + fn2 ) ( fn1 2 fn2 + fn3 )) ]
h
= yn + [55 fn 59 fn1 + 37 fn2 9 fn3 ]
24
Tambin se pueden derivar mtodos explcitos con un paso de integracin de varias unidades
de h. Tomando 2h tenemos
y(xn+1 ) = y(xn1 ) +

! xn+1
xn1

pm (x)dx

y procediendo como anteriormente obtenemos


yn+1 = yn1 + h [b0 fn + b1 # fn + + bm #m fn ]
con
bj

= (1)

#
! 1"
s
1

ds

Este mtodo se conoce como algoritmo de Nstrom. Se encuentra que para m = 0 y m = 1


yn+1 = yn1 + 2h fn

8.7. MTODOS EXPLCITOS

165

que es la regla del punto medio, mientras que para m = 2 obtenemos


h
yn+1 = yn1 + (7 fn 2 fn1 + fn2 )
3
Ejercicio: Demostrar estas relaciones.
Podemos generalizar las realaciones anteriores a un paso de integracin de amplitud (k + 1)h
y(xn+1 ) = y(xnk ) +

! xn+1
xnk

pm (x)dx

Cuando k = 3 obtenemos el denominado algoritmo de Milne


yn+1 = yn3 +

4h
(2 fn2 fn1 + 2 fn )
3

Todos los mtodos explcitos realizan una extrapolacin para calcular y(x) entre yn y yn+1 , lo
cual es un problema puesto que, como ya hemos visto, la extrapolacin tiene un error difcil de
determinar y en general es ms imprecisa que la interpolacin. Este problema se corrige mediante
los mtodos implcitos, que interpolan entre yn y yn+1 .

8.7.1. Mtodos implcitos


Los mtodos implcitos son similares a los mtodos explcitos, salvo que el polinomio interpolador pasa adems por el punto (xn+1 , yn+1 ). De forma similar a como hemos procedido para
los mtodos explcitos, podemos escribir
y(xn+1 ) = y(xn ) +

! xn+1
xn

pm+1 (x)dx

de donde, utilizando la frmula de diferencias hacia atrs para el polinomio interpolador,


"
#
m+1
s
j
pm+1 (x) = " (1)
# j fn+1
j
j=0
con

x xn+1
h

s=
obtenemos

! xn+1
xn

pm+1 (x)dx = h

" c j # j fn+1

j=0

con
c j = (1)

m+1

#
! 0"
s
1

ds

que depende slo de j y no de la funcin 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

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

166

denominado mtodo de Adams-Moulton. Los primeros valores de c j son: c0 = 1. c1 = 1/2,


c2 = 1/12 ,c3 = 1/24, c4 = 19/720. Expresando las diferencias en trmino de los valores
de la funcin, la expresin anterior toma la forma
yn+1 = yn + h [0 fn+1 + 1 fn + + m+1 fnm ]
donde los i dependen slo de i y m. Obtenemos los siguientes mtodos implcitos para los
diferentes valores de m:
Para m = 1
yn+1 = yn + h fn+1
que es el mtodo de Euler-Cromer. Para m = 0 obtenemos
h
yn+1 = yn + ( fn+1 + fn )
2
que es el mtodo de Euler modificado. Para m = 1
yn+1 = yn +

h
(5 fn+1 + 8 fn fn1 )
12

y finalmente, para m = 2
yn+1 = yn +

h
(9 fn+1 + 19 fn 5 fn1 + fn2 )
24

Ejercicio: Demostrar las expresiones anteriores.


Tambin se pueden derivar algoritmos implcitos similares al de Nystrom a partir de la relacin
! xn+1
y(xn+1 ) = y(xn1 ) +
pm+1 (x)dx
xn1

Para m = 1 y m = 2 se obtiene la expresin

h
yn+1 = yn1 + ( fn+1 + 4 fn + fn1 )
3
que se conoce como mtodo de Milne-Simpson o mtodo implcito de Simpson. Su error de
truncado es el del mtodo de integracin de Simpson:
t(x, h) =

h4 (4)
f ()
90

Ejercicio: Demostrarlo.
Los algoritmos implcitos necesitan una primera aproximacin a yn+1 . Lo usual es utilizarlos
en la forma conocida como predictor corrector, donde un mtodo explcito se emplea para calcu(0)
lar una primera aproximacin de yn+1 , que llamamos yn+1 , y el corrector se emplea para mejorar
este valor. Tendremos por lo tanto,:
Predictor:

8.7. MTODOS EXPLCITOS

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 mtodo ms sencillo es k = 0 y m = 0
(0)

yn+1 = yn + h fn
/
h . (i)
(i+1)
f
+ fn
yn+1 = yn +
2 n+1

conocido como mtodo de Euler modificado. Cuando m = k = 2, tenemos el mtodo de AdamsMoulton de tercer orden:
(0)

h
[23 fn 16 fn1 + 5 fn2 ] + O(h4 )
12
/
h . (i)
= yn +
9 fn+1 + 19 fn 5 fn1 + fn2 + O(h5 )
24

yn+1 = yn +
(i+1)

yn+1

mientras que con k = 3 y m = 2 se obtiene el denominado mtodo de Adams, frecuentemente


empleado:
(0)

h
[55 fn 59 fn1 + 37 fn2 9 fn3 ] + O(h5 )
24
/
h . (i)
9 fn+1 + 19 fn 5 fn1 + fn2 + O(h5 )
= yn +
24

yn+1 = yn +
(i+1)

yn+1

Los mtodos de predictor-corrector tienen como principal ventaja sobre los mtodos explcitos el que permiten estimar el error cometido. Por ejemplo, en el mtodo de Adams
1
9h 0 (i)
(i+1)
(i)
(i1)
yn+1 yn+1 =
f
fn+1
24 n+1

En general, son suficientes dos o tres iteraciones del corrector. En caso de que sean necesarias
ms iteraciones, es preferible disminuir el paso de integracin.
Tambin se pueden derivar correctores con varios pasos de integracin. El mtodo de Milne
de predictor-corrector emplea el mtodo explcito de Milne como predictor y utiliza el mtodo
implcito de Simpson como corrector:
(0)

4h
(2 fn2 fn1 + 2 fn )
3
1
h 0 (i)
= yn1 +
fn+1 + 4 fn + fn1
3

yn+1 = yn3 +
(i+1)

yn+1

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

168

Ejemplo: Consideremos las ecuaciones de la dinmica


dr(t)
= v(t)
dt
dv(t)
F(r, v,t)
=
= f(r, v.t)
dt
m
En el caso del mtodo predictor-corrector con k = m = 0, tenemos
Predictor
(0)

xi,n+1 = xi,n + hvi,n


(0)

vi,n+1 = v0i,n + h fi (rn , vn .tn )


Corrector
(k+1)

xi,n+1

(k+1)

vi,n+1

1
h 0 (k)
vi,n+1 + vi,n
2
1
h 0 (k)
(k)
(k)
= vi,n +
fi,n+1 (rn+1 , vn+1 .tn+1 ) + fi,,n (rn , vn ,tn )
2

= xi,n +

donde el subndice i indica las coordenadas x, y y z (x1 = x, x2 = y, x3 = z). Vemos que el corrector
para la posicin es la regla del punto medio.

8.8.

Errores de truncado y errores de redondeo

8.8.1.

Errores de truncado. Mtodos consistentes y mtodos convergentes.

La base de la solucin numrica de ecuaciones diferenciales es aproximar la ecuacin diferencial


y! = f (x, y)
por una relacin de recurrencia
yn+1 = yn + hG(xn , xn1 , . . . , xnk , yn , yn1 , . . . , ynk , h)
Consideraremos mtodos de un paso. Las soluciones de la ecuacin en diferencias yn difieren
de las soluciones y(xn ) de la ecuacin diferencial. A la cantidad
t(xn , h) =

y(xn+1 ) y(xn )
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 ecuacin en diferencias a las soluciones ecuacin diferencial. De la definicin de error de
truncado tenemos que la solucin exacta de la ecuacin diferencial satisface
y(xn+1 ) = y(xn ) + hG(xn , y(xn ), h) + ht(xn , h)

8.8. ERRORES DE TRUNCADO Y ERRORES DE REDONDEO

169

mientras que la solucin de la ecuacn en diferencias cumple


yn+1 = yn + hG(xn , yn , h)
El mtodo es consistente si, cuando h 0, el error de truncado cumple t(x, h) 0. En
particular el mtodo se dice que es consistente de orden p si existe un nmero M para el cual
t(xn , h) Mh p
cuando h 0.
El que un mtodo sea consistente no garantiza su utilidad para resolver una ecuacin diferencial, en la que deseamos calcular el valor y(xn ), con xn fijo, a partir de y(x0 ), de forma que si
disminuimos h debemos de aumentar n, con x0 +nh = xn . Decimos que un mtodo es convergente
si
yn y(xn )
con xn fijo, de forma que n $ cuando h 0. Vamos a considerar mtodos de un paso por
simplicidad de notacin. Para que la consistencia garantice la convergencia, debe cumplirse que
la sucesin

!n+1 = |yn+1 y(xn+1 )| = |yn + hG(xn , yn , h) y(xn ) hG(xn , y(xn ), h) ht(xn , h)| |yn y(xn )|
+h |t(xn , h)| + h |G(xn , yn , h) G(xn , y(xn ), h)|
converja cuando h 0. Repitiendo este proceso n veces y teniendo en cuenta que t(xn , h) Mh p ,
obtenemos

|yn+1 y(xn+1 )| nhMh p + h |G(xn , yn , h) G(xn , y(xn ), h)|


+h |G(xn1 , yn1 , h) G(xn1 , y(xn1 ), h)| + h |G(x1 , y1 , h) G(x1 , y(x1 ), h)|
La segunda suma debe de converger para que el mtodo sea convergente. Esto se puede garantizar
si se cumple la condicin (conocida como condicin Lipchitz)
|G(xn , yn , h) G(xn , y(xn ), h)| L |yn y(xn )|
para una constante positiva L. Tenemos que en este caso podemos escribir
|yn+1 y(xn+1 )| (1 + hL) |yn y(xn )| + h |t(xn , h)|
que repitiendo n veces da
|yn+1 y(xn+1 )| h |t(xn , h)| + h(1 + hL) |t(xn1 , h)| + h(1 + hL)2 |t(xn2 , h)| +
+ h(1 + hL)n |t(x1 , h)|
.
/
2
n
p
hMh (1 + hL) + (1 + hL) + + (1 + hL)

hMh p [exp (hL) + exp (2hL) + + exp (nhL)]


&
'
exp(nhL) 1
p+1
Mh
exp(hL)
=
exp(hL) 1
&
'
&
'
exp((xn x0 )L) 1
exp((xn x0 )L) 1
p+1
p
= Mh
exp(hL)
Mh exp(hL)
exp(hL) 1
L

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

170

Por lo tanto tenemos que cuando h 0


|yn+1 y(xn+1 )| Mh
si L '= 0 y

&

exp((xn x0 )L) 1
L

'

|yn+1 y(xn+1 )| (xn x0 )Mh p

si L = 0. Vemos que este resultado no aumenta con n para xn fijo, por lo que el mtodo es convergente. Por lo tanto la convergencia es una condicin ms estricta que la consistencia (requiere
la condicin Lipchitz o equivalente).

8.8.2.

Errores de redondeo

Podemos pensar que podemos disminuir indefinidamemte el paso de integracin de forma


que nos aproximemos a la solucin exacta tanto como queramos. Sin embargo, cuando trabajamos con ordenadores, lo hacemos con una precisin numrica , de forma que en vez de la
sucesin yn , calculamos calculamos la sucesin y2n , dada por
y2n+1 = y2n + hG(xn , xn1 , . . . , xnk , yn , yn1 , . . . , ynk , h) +

donde las tildes idican la relacin de recurrencia afectada por los errores de redondeo. Tenemos
que y(xn ) satisface
|2
yn+1 y(xn+1 )| = |2
yn + hG(xn , y2n , h) y(xn ) h(Gxn , y(xn ), h) ht(xn , h) + |
|2
yn y(xn )| + h |t(xn , h)| + h |G(xn , y2n , h) G(xn , y(xn ), h)| +
yn y(xn )| + hMh p + hL |2
yn y(xn )| + = hMh p + (1 + hL) |2
yn y(xn )| +
= |2
Vemos que si reducimos h por debajo de

h<

1
0 1 p+1

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 precisin del clculo. Slo queda aumentar
la precisin de la aritmtica con la que operamos (cudruple precisin o precisin arbitraria).

8.9.

Ecuaciones en diferencias y estabilidad de ecuaciones diferenciales

Uno de los problemas importantes es determinar si un mtodo para resolver una ecuacin diferencial es estable. Cuando resolvemos la ecuacin numricamente, reemplazamos la ecuacin
diferencial por una ecuacin en diferencias. Las solucin exacta de esta ecuacin en diferencias
es distinta de la solucin de la ecuacin diferencial. La diferencia entre ambas viene dada en

8.9. ECUACIONES EN DIFERENCIAS Y ESTABILIDAD DE ECUACIONES DIFERENCIALES171


principio por el error de truncado del mtodo, expresado como una potencia del paso de integracin. Sin embargo, estas cotas de error no tienen en cuenta los errores de redondeo y los errores
en los valores iniciales. En un mtodo de integracin dado, la ecuacin de diferencias asociada
ser
yn+1 = yn + hG(yn , yn1 , yn2 , . . . , ynm , xn )
Si cambio el valor inicial en una pequea cantidad, y0 = y0 + , puede suceder que el cambio
en la nueva sucesin yn sea siempre pequeo si es pequeo, o que por el contrario que elrror
relativo rn = |yn yn |/yn crezca indefinidamente. En este ltimo caso, decimos que el mtodo de
integracin es inestable. Un mtodo puede ser inestable en determinadas zonas de las condiciones
iniciales y los parmetros, y estable en otras. La estabilidad se puede estudiar mediante la resolucin exacta de la ecuacin en diferencias. La inestabilidad puede tener su origen en el tamao
del paso de integracin, en la ecuaccin en diferencias que reemplaza la ecuacin diferencial o
puede ser una propiedad intrnseca de la ecuacin diferencial, para una determinada regin de los
parmetros y condiciones iniciales. Este ltimo caso es el origen de los sistemas caticos. Aqu
vamos a estudiar nicamente las inestabilidades producidas por el mtodo nmerico empleado
para resolver una ecuacin ordinaria intrnsecamente estable, debidas tanto al tamao excesivo
del paso de integracin como a soluciones parsitas de la ecuacin en diferencias que no existen
en la ecuacin diferencial original. Para ilustrar el origen de las inestabilidades, vamos a considerar el mtodo del punto medio para el caso sencillo en que f (xn , yn ) = Ayn , donde A es una
constante. La solucin exacta de esta ecuacin diferencial es y = ceAx . Consideremos el mtodo
de Euler
yn+1 = yn hAyn = (1 Ah) yn
Tenemos

yn = (1 Ah)n y0

Si |1 Ah| > 1, la solucin numrica satisfar yn $ cuando n $ en vez de yn 0. Tenemos


un caso de inestabilidad, que se corrige eligiendo un paso de integracin suficientemente pequeo, h < 2/A. La mayora de los mtodos son inestables si h es demasiado grande. Una excepcin
es el mtodo implcito de Adams-Moulton de orden 1 y 2. Para el orden m = 2, este mtodo da
h
h
yn+1 = yn + ( fn+1 + fn ) = yn + (Ayn Ayn+1 )
2
2
de forma que

con lo que obtenemos

"

#
"
#
1
1
1 + hA yn+1 = 1 hA yn
2
2
yn =

1 12 hA
1+

1
2 hA

4n

y0 ( eAnh

que cumple yn 0 cuando n $ para cualquier valor de h. Para el orden m = 1 tenemos


yn+1 = yn + h fn+1

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

172

que en nuestro caso particular se resulve como


"
#n
1
y0
yn =
1 + hA
que siempre converge a 0 si A > 0. Esta es la razn de la convergencia de los mtodos de EulerCromer y Euler modificado.
Hay otro tipo de inestabilidades ms perverso que aparecen en los mtodos multipaso, debido
a la aparicin de soluciones parsitas. Por ejemplo, la ecuacin en diferencias dada por el mtodo
del punto medio (de dos pasos) es
yn+1 + 2hAyn + yn1 = 0
Para resolver esta ecuacin en diferencias suponemos una solucin de la forma yn = zn , con lo
que obtenemos la ecuacin caracterstica
zn1 (z2 + 2Ahz 1) = 0

que tiene como soluciones no nulas, z1 = Ah+ A2 h2 + 1 y z2 = Ah A2 h2 + 1. Tendremos


por lo tanto las soluciones de la ecuacin en diferencias
'n
.
/n &
5
1 2 2
(1)
n
3
2
2
yn = z1 = Ah A h + 1 ( 1 Ah A h + O(h ) ( (1)n eAnh + O(nh3 )
2
= (1)n eAxn + O(h2 )

y
(2)
yn

zn2

'n
.
/n &
5
1 2 2
3
2
2
= Ah + A h + 1 ( 1 Ah + A h O(h ) ( eAnh + O(nh3 )
2

= eAxn + O(h2 )

donde hemos tenido en cuenta xn x0 = nh. La solucin general de la ecuacin en diferencias es


una combinacin lineal de ambas soluciones
yn = c1 (1)n eAxn + c2 eAxn
Tenemos que la ecuacin en diferencias tiene, adems de la solucin de la ecuacin diferencial,
la solucin parsita yn = c1 (1)n eAxn . La solucin que corresponde a la ecuacin diferencial y
que debera ser seleccionada por las condiciones iniciales es
yn = c2 , eAxn
es decir, c1 = 0. Sin embargo, en la prctica, los errores de redondeo y de truncado introducen
una componente de la solucin parsita
yn = (1)n eAxn + c2 eAxn

8.9. ECUACIONES EN DIFERENCIAS Y ESTABILIDAD DE ECUACIONES DIFERENCIALES173


que crece exponencialmente hasta enmascarar completamente la solucin verdadera. El error
relativo es de la solucin, que denominamos rn , es
rn =

yn yn

(1)n e2Axn $
yn
c2

El origen de esta solucin parsita radica en la aproximacin una ecuacin diferencial de primer
orden por una ecuacin en diferencias de segundo orden. Como necesitamos dos valores de
comienzo, aunque estos valores sean exactos para la ecuacin diferencial, como la ecuacin en
diferencias es distinta, estos valores no correspondern a la solucin de la ecuacin en diferencias
que corresponde a la solucin de la ecuacin diferencial y no la seleccionarn de forma exclusiva,
introduciendo componentes de las otras soluciones parsitas. En general cuando resolvemos una
ecuacin diferencial de primer orden mediante un mtodo de m pasos, la convertimos en una
ecuacin en diferencias de orden m, que tiene m soluciones. Si algunas de estas soluciones son
exponenciales crecientes, el mtodo ser inestable.
Ejemplo: Demostrar la convergencia del mtodo de Milne.
Las soluciones numricas satisfacen
h
yn+1 = yn1 + ( fn+1 + 4 fn + fn1 )
3
mientras que las exactas
h
h5
y(xn+1 ) = y(xn1 ) + ( f (xn+1 , y(xn+1 )) + 4 f (xn , y(xn )) + f (xn1 ), y(xn1 ))) f (4) ()
3
90
Tenemos
y(xn+1 ) yn+1 = y(xn1 ) yn1 +
h
[ f (xn+1 , y(xn+1 )) fn+1 + 4 ( f (xn , y(xn ) fn ) + f (xn1 , y(xn1 )) fn1 ]
3
h5
f (4) ()
90
Si se cumple la condicin Lipchitz
| f (xn , y(xn )) fn | L |y(xn ) yn |
tenemos
h
|y(xn+1 ) yn+1 | |y(xn1 ) yn1 | + (L |y(xn+1 ) yn+1 | + 4L |y(xn ) yn | + L |y(xn1 ) yn1 |)
3
6
6
5
h 6
6
+ 6 f (4) ()6
90

con lo cual
"
#
"
#
hL
hL
4hL
h5
|y(xn+1 ) yn+1 | 1 +
|y(xn1 ) yn1 | +
|y(xn ) yn | + M
1
3
3
3
90

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

174

6
6
6
6 (4)
donde 6 f ()6 M. Esta es una ecuacin en diferencias, con ecuacin caracterstica de la
ecuacin homognea
"
#
#
"
hL 2 4hL
hL
1
z +
=0
z 1+
3
3
3
cuyas races son

z1 = 1 + hL + O(h2 )
hL
z2 = 1 +
+ O(h2 )
3
La ecuacin no homognea tiene la solucin coonstante
z=

h4 M
180L

por lo que la solucin general de los errores es


|y(xn ) yn | = c1 zk1 + c2 zk2
Como

h4 M
180L

y(x0 ) = y0

h4 M
180L
Si el error en el primer trmino es |y(x1 ) y1 | = , se cumple
c1 + c2 =

c1 c2

h4 M
=
180L

h4 M
+
180L 2

c2 =
2
"
#
"
#
c2 zk2
h4 M
h4 M
h4 M
k
k
|y(xn ) yn | c1 z1 1 +

+
z

c1 zk1
180L
180L 1 180L
c1 =

Esta cantidad tiende a 0 cuando h tiende a 0 si = O(h), lo que ocurre siempre que se tome un
mtodo adecuado para determinar y1 . Por lo tanto el mtodo es convergente.
Ejercicio: Demostrar la estabilidad del mtodo de Milne
Suponemos una ecuacin diferencial
y! = Ay

8.10. ELECCIN DEL MTODO DE INTEGRACIN

175

con lo que obtenemos la ecuacin en diferencias


6
hA
h5 66 (4)
6
y(xn+1 )yn+1 = y(xn1 )yn1 +
(y(xn+1 ) yn+1 + 4 (y(xn ) yn ) + (y(xn1 ) yn1 ))+ 6 f ()6
3
90
6
hA
h5 66
6
!n+1 = !n1 +
(!n+1 + 4!n + !n1 ) + 6 f (4) ()6
3
90
Despreciando el error de truncado tenemos las races
z1 = 1 + hA + O(h2 )
hA
z2 = 1 +
+ O(h2 )
3
Si suponemos un error inicial !0 , c2 = !0 c1 , con lo que tenemos
"

hA
!n = c1 (1 + hA) + (!0 c1 ) 1 +
3
n

Como la solucin exacta es

#n

nhA
( c1 enhA + (1) (!0 c1 ) e 3
k

y(xn ) = enhA

tenemos para el error relativo de la solucin


4nhA

!n
k
rn =
( c1 + (1) (!0 c1 ) e 3
y(xn )
Vemos por lo tanto que, si A > 0, el mtodo es estable, ya que el error relativo permanece acotado,
y que si A < 0 el mtodo es inestable ya que el error relativo aumenta indefinidamente.

8.10.

Eleccin del mtodo de integracin

Hay diversos puntos a c onsiderar a la hora de elegir un mtodo de integracin: volumen de


clculo para una precisin dada, control de errores y estimacin del error, estabilidad, posibilidad de cambiar el paso de integracin, y error de truncado. El volumen de clculo necesario es
esencialmente debido al clculo de las diversas funciones que aparecen en el mtodo, por lo que
minimizar el nmero de funciones calculadas es esencial.
En los mtodos de un paso (Taylor y Runge-Kutta) se puede cambiar fcilmente el paso de
integracin y son estables. Por otro lado, la estimacin del error es dficil salvo en los mtodos
de Runge-Kutta de orden superior que contienen otro inferior. El mtodo de Taylor es difcil de
programar y requiere el clculo de muchas derivadas. Ambos mtodos tienen excelentes errores
de truncado. Adems no necesitan utilizar otro mtodo para determinar valores de comienzo,
pus utilizan tantos puntos de partida como condiciones iniciales.
Los mtodos explcitos e implcitos de orden m requieren valores de comienzo en m puntos.
Estos valores de comienzo deben de ser calculados por otro mtodo, en general un mtodo de

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

176

Runge-Kutta del mismo orden. No permiten el cambio del paso de integracin de forma sencilla,
aunque se puede realizar mediante frmulas especiales. Los mtodos explcitos no permiten estimar el error cometido y tienen un error de truncado incierto debido a la extrapolacin, mientras
que los mtodos implcitos tienen un excelente error de truncado. Tanto mtodos explcitos e
implcitos requieren pocas evaluaciones, una sla en el caso de los mtodos explcitos, y unas
tres en los mtodos predictor-corrector, que es menor que el esfuerzo numrico necesario en el
mtodo RK4 y la mitad que en el mtodo RK5. Los mtodos predictor-corrector permiten adicionalmente estimar el error cometido. Si el volumen de clculo es un factor decisivo, los mtodos
explcitos o los mtodos implcitos 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 integracin, los mtodos explcitos son aconsejables,
pues requieren mucho menor volumen de clculo. Esto ocurre, por ejemplo, cuando realizamos
clculos comparativos con muchos potenciales similares, en los que varan slo en los valores de
algunos parmetros que cambian ligeramente la forma del potencial.

8.11.

Ejercicios

1. Considrese la ecuacin de movimiento


d2x
= x2
dt 2
con las condiciones iniciales x(t = 0) = 0 y v(t = 0) = 10. Determnese la posicin y la
velocidad para t = 1 mediante el mtodo de Euler y con paso h = 0,2.
2. Considrese la ecuacin diferencial
dy
1
=
dt
1 t4

con la condicin de contorno y(0)=0. Intgrese esta ecuacin diferencial hasta t = 0,5 con
pasos de integracin !t = 0,1, usando el mtodo de Euler. Comprerse el resultado con la
evaluacin numrica de la integral
y(0,5) =

! 0,5
0

con la regla trapezoidal con paso h = 0,1.

dt
1 t4

3. La trayectoria de un mvil a lo largo de una lnea recta viene descrita por la ecuacin
d2x
= x2
dt 2
partiendo del punto x = 1 con velocidad inicial v = 1 Cunto tiempo trancurrir hasta que
el mvil llegue al punto x = 2? Utilcese el mtodo de Euler con pasos !x = 0,2.

8.11. EJERCICIOS

177

4. Una partcula 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 expresin
F = x2 v2
con = 1 N/m2 y = 0,002 Kg/m.
a) Escrbase la ecuacin diferencial que describe el movimiento.
b) Transfrmese en un sistema de ecuaciones diferenciales de primer grado.
c) Escrbanse las frmulas de integracin para el mtodo de Euler.
d) Determnese la posicin, velocidad y aceleracin en t = 0,5 con paso h = 0,1, sabiendo que las condiciones iniciales son x(0) = 0 y v(0) = 10.
5. Considrese la ecuacin diferencial y! = y con la condicin de contorno y(0) = 9. Calcular el valor de y(1) usando el mtodo del punto medio, con dos y cuatro subdivisiones
del intervalo. Realizar a continuacin la extrapolacin de Richardson para obtener el mejor
valor. Comparar con la solucin analtica de la ecuacin diferencial.
6. Dada la ecuacin diferencial

d2x
= t2
dt 2
con las condiciones de contorno para t = 1
4
3
dx(1)
8
=
dt
3
x(1) =

llevar a cabo un paso de integracin de valor h = 0,1 usando el mtodo de Euler y el mtodo
predictor corrector.

Problemas con ordenador


1. Un modelo de gran importancia en dinmica no lineal y Caos es el modelo de Hopf. En
coordenadas polares este modelo se escribe
dr
= r r2
dt
d
=
dt
Este modelo tiene solucin analtica
3
4
dr
1
1
1

= dr

+
= dt
r r2
r 2 ( + r) 2 ( r)

CAPTULO 8. ECUACIONES DIFERENCIALES ORDINARIAS

178

que tiene como integral

1
ln r

que da
r2 =

la integral angular es

r02
= t t0
r2

exp(t0 ) exp(t)
"
#
8
9
exp(t0 )
2
r0 1 +
exp(t)
r02
= 0 + (t t0 )

por lo que vemos que produce espirales que tienden a crculos lmite de radio r =
Demostrar que las ecuaciones en coordenadas cartesianas son:

dr
= r r2
dt
d
=
dt
Resolverlas por RK4 adaptativo y estudiar la variacin del paso de integracin para diferentes condiciones iniciales.
2. Osciladoor de Van der Pool
3. Ecuaciones de Lorentz
4. Lotka Volterra
5. La ecuacin de Mathieu viene dada por
y!! (x) + (a 2q cos 2x) y = 0

También podría gustarte