Está en la página 1de 20

4. Metodos de un paso.

Metodos de Runge
Kutta
Eduardo Sainz de la Maza
17 de febrero de 2011

Indice general
4. M
etodos de un paso. M
etodos de Runge-Kutta.

4.1. Metodos de un paso explcitos . . . . . . . . . . . . . . . . . .

4.2. Metodos de un paso implcitos . . . . . . . . . . . . . . . . . .

4.3. Metodos de Runge-Kutta explcitos . . . . . . . . . . . . . . .

4.4. Estimacion del error de los metodos de R-K explcitos . . . . . 11


4.4.1. Estimacion por extrapolacion . . . . . . . . . . . . . . 11
4.4.2. Metodos de Runge-Kutta Fehlberg . . . . . . . . . . . 11
4.4.3. Metodos especiales . . . . . . . . . . . . . . . . . . . . 13
4.5. Estabilidad Absoluta de los metodos de R-K explcitos . . . . 14
4.6. Metodos de Runge-Kutta implcitos . . . . . . . . . . . . . . . 16

Captulo 4
M
etodos de un paso. M
etodos
de Runge-Kutta.
4.1.

M
etodos de un paso explcitos

Dado el problema de valores iniciales para ecuaciones diferenciales ordinarias


 0
y (x) = f (x, y(x))
(4.1)
y(a) =
Un metodo de un paso es una ecuacion en diferencias finitas de orden 1, es
decir en la que solo aparecen 2 yn consecutivos relacionados. La estructura
general de un metodo de un paso es

yn+1 = yn + h(xn , yn ; h)
(4.2)
y0
= h
La funcion se llama funcion incremento del metodo, que supondremos continua en el dominio D = [a, b] R [0, h0 ].
Definici
on 4.1.1 (E.L.T.). Se define el error local de truncatura del metodo
4.2 en el punto xn+1 por
dn+1 = y(xn+1 ) y(xn ) h(xn , y(xn ); h)

(4.3)

Como su propio nombre indica es el error cometido en un paso es decir, el


error global cuando se supone que no hay errores previos, es decir cuando se
hace la hipotesis de que yn = y(xn ).
2

Definici
on 4.1.2 (E.G.T.). Se define el error global de truncatura del metodo
4.2 en el punto xn por
en = y(xn ) yn
(4.4)
Definici
on 4.1.3 (Consistencia). Se dice que el metodo 4.2 es consistente
para el problema de valores iniciales 4.1 si





dn+1
dn+1
= o(1) lm
=0
max
(4.5)
max
n=0,...,N 1 h
h0 n=0,...,N 1 h
Definici
on 4.1.4 (Cero-estabilidad). Dadas {yn } y {zn } obtenidas por

yn+1 = yn + h(xn , yn ; h)
(4.6)
y0
R


zn+1 = zn + h [(xn , zn ; h) + n ]
z0
R

(4.7)

diremos que el metodo 4.2 es cero-estable si existen constantes M1 y M2


independientes de h tal que
max |yn zn | M1 |y0 z0 | + M2

n=0,...,N

max |n |

n=0,...,N 1

(4.8)

Definici
on 4.1.5 (Convergencia). El metodo de un paso 4.2 es convergente
para el problema de valores iniciales 4.1 si cuando lm h = se verifica que
h0

max |en | = o(1) lm max |en | = 0

n=0,...,N

h0 n=0,...,N

(4.9)

Teorema 4.1.1 (Teorema de equivalencia). Si un metodo es consistente y


cero-estable entonces es convergente
Teorema 4.1.2 (Condicion necesaria y suficiente para la consistencia). Una
condicion necesaria y suficiente para la consistencia del metodo 4.2 con el
problema 4.1 es que
(x, y(x); 0) = f (x, y(x)) x [a, b]

(4.10)

Corolario 4.1.1. Una condicion necesaria y suficiente para la consistencia


del metodo 4.2 con el problema 4.1 es que
(x, y; 0) = f (x, y) x [a, b],

y R

(4.11)

Teorema 4.1.3 (Condicion suficiente para la cero-estabilidad). Si es Lipschitz en y, es decir si


|(x, y; h) (x, y ; h)| M |y y |

(x, y; h), (x, y ; h) D

(4.12)

entonces el metodo de un paso es cero-estable.


Teorema 4.1.4. Si es Lipschitz en y entonces consistente convergente.
Definici
on 4.1.6 (Orden). Un metodo de un paso se dice que es de orden p
N si dn+1 = O(hp+1 ), para todo problema de valores iniciales 4.1, supuesto
que f (x, y) es suficientemente diferenciable.
Observese que si un metodo es de orden p entonces su error global en = O(hp ).
p

, . . . , p son continTeorema 4.1.5 (Caracterizacion del orden). Si ,


h
h
uas en D y si f (x, y) es suficientemente diferenciable en [a, b] R. Entonces
una condicion necesaria y suficiente para que el metodo 4.2 sea de orden p
es que
1
k (x, y; 0)
=
f (k) (x, y), k = 0, 1, . . . , p 1.
(4.13)
k
h
k+1
Nota: Denotamos por f (k) la diferencial de f de orden k, es decir, f (k) =
df
Observamos tambien que dx
= f
+ f f
fx + f fy .
x
y

dk f
.
dxk

Ejemplo 4.1 (Metodo de Taylor de orden p). Es el que tiene por funcion
incremento
hp1 (p1)
h
(x, y; h) = f (x, y) + f (1) (x, y) + +
f
(x, y)
2
p!
Si f C p entonces C(D). Ademas (x, y, 0) = f (x, y) y por tanto el
metodo sera consistente. Si ademas
| f (j) (x, y) f (j) (x, y ) | L(j) | y y |

x [a, b], y, y R

entonces
|(x, y; h) (x, y ; h)|

p1
X
L(j) hj0
(j + 1)!
j=0

!
|y y | x [a, b], y, y R

luego el metodo de Taylor es estable y por consiguiente convergente. Resulta


inmediato comprobar que este metodo tiene orden p.
4

4.2.

M
etodos de un paso implcitos

Consideramos ahora metodos de la forma



yn+1 = yn + h(xn , xn+1 , yn , yn+1 ; h)
y0
= h

(4.14)

donde la funcion o funcion incremento del metodo sea continua en el dominio D = [a, b] [a, b] R R [0, h0 ]. Ahora tenemos una ecuacion no
lineal en yn+1 que habra que resolver en cada paso.
Teorema 4.2.1. Si verifica una condicion de Lipschitz en la variable v,
es decir si
| (r, s, u, v; h) (r, s, u, v ; h) | L | v v |
en D, h suficientemente peque
no, entonces fijado y0 existe {y0 , y1 , . . . , yN }
que es solucion del problema 4.14.
Demostracion. sea g(z) = yn +h(xn , xn+1 , yn , z; h), entonces |g(z)g(z )|
hL|z z | . Tomando h suficientemente peque
no para que hL < 1 se tiene
que g(z) es contractiva, por lo que tendra un punto fijo que es la solucion
buscada.
Desde el punto de vista practico el valor de yn+1 lo obtenemos con la iteracion
de punto fijo dada por
(
(0)
yn+1
(4.15)
(t+1)
(t)
yn+1 = yn + h(xn , xn+1 , yn , yn+1 ; h)
(t)

y seg
un el teorema del punto fijo lm yn+1 = yn+1
t

Las definiciones de error local de truncatura, error global, consistencia, ceroestabilidad, convergencia y orden son las mismas, adecuandolas, que para los
metodos de un paso explcitos. Igualmente el teorema de equivalencia.
Teorema 4.2.2 (Condicion necesaria y suficiente para la consistencia). El
metodo de un paso implcito 4.14 es consistente con el problema de valores
iniciales 4.1 si y solo si
(x, x, y, y; 0) = f (x, y)

x [a, b],

y R

Teorema 4.2.3 (Condicion suficiente para la cero-estabilidad). Si verifica


una condicion de Lipschitz en las variables u, v, es decir si
| (r, s, u, v; h) (r, s, u , v ; h) | L (| u u | + | v v |)
entonces el metodo de un paso 4.14 es cero-estable.
5

Ejemplo 4.2. Un ejemplo de metodo de un paso implcito es la Regla de los


trapecios
h
yn+1 = yn + (fn + fn+1 )
2
En este caso
1
(r, s, u, v; h) = (f (r, u) + f (s, v))
2
que es Lipschitz si lo es f (x, y),
1
| (r, s, u, v; h) (r, s, u , v ; h) | L (| u u | + | v v |)
2
por lo tanto sera cero-estable.
(x, x, y, y; 0) =

1
(f (x, y) + f (x, y)) = f (x, y)
2

luego es tambien consistente y convergente.


Estudiemos su orden analizando y(xn+1 )yn+1 cuando se supone yn = y(xn ).
En primer lugar tenemos que hacer expansiones de Taylor de la yn+1 dentro
de la f (xn+1 , yn+1 ) obteniendo
yn+1 = y(xn ) + h2 f (xn , y(xn )) + h2 f (xn+1 , yn+1 )
= y(xn ) + h2 y 0 (xn ) + h2 f (xn + h, y(xn ) + O(h))
= y(xn ) + hy 0 (xn ) + O(h2 ).
luego
f (xn+1 , yn+1 ) = f (xn + h, y(xn ) + hy 0 (xn ) + O(h2 ))
= y 0 (xn ) + h(fx (xn , y(xn )) + hy 0 (xn )fy (xn , y(xn )) + 21 O(h2 )
= y 0 (xn ) + hy 00 (xn ) + 12 O(h2 ).
por tanto
dn+1 = y(xn+1 ) y(xn ) h2 f (xn , y(xn )) h2 f (xn+1 , yn+1 )
= y(xn+1 ) y(xn ) h2 f (xn , y(xn )) h2 (y 0 (xn ) + hy 00 (xn ) + 21 O(h2 ))
3
2
= hy 0 (xn ) + h2 y 00 (xn ) + h3! y 000 (xn ) + h2 y 0 (xn )
2
h2 y 0 (xn ) h2 y 00 (xn ) 14 O(h3 ) + = O(h3 )
por tanto el orden es p = 2.

4.3.

M
etodos de Runge-Kutta explcitos

Los metodos de Runge-Kutta pueden considerarse como la clase mas importante de metodos de un paso para aproximar ecuaciones y sistemas de
ecuaciones diferenciales ordinarias. La estructura general de un metodo de
Runge-Kutta explcito de R tapas viene dada por

yn+1 = yn + h(xn , yn ; h)

(x,
y;
h)
=
cr kr

r=1

k1 = f (x,
 y)

(4.16)
r1
P

kr = f x + har , y + h
brs ks , r = 2, 3, . . . , R

s=1

r1

ar =
brs , r = 2, 3, . . . , R
s=1

Un metodo de R-K de R etapas emplea R evaluaciones de la funcion f (x, y)


que pueden considerarse como aproximaciones de la derivada y 0 (x) en diversos
puntos y en este sentido, podemos interpretar (x, y; h) como una media de
R
P
dichas aproximaciones. Por ello, por consistencia, se exije que
cr = 1. La
r=1

eleccion de las constantes cr , ar y brs daran lugar a distintos metodos de


Runge-Kutta con diferentes propiedades. Ademas en los metodos explcitos
cada kr solo depende de ks previamente calculados. Nuestra primera tarea
va a ser la obtencion de algunos de estos metodos.
Para simplificar la notacion denotaremos con subndices las derivadas parciales
2 f (x, y)
2 f (x, y)
f (x, y)
, fxx =
,
f
=
, etc.
f = f (x, y), fx =
xy
x
x2
xy
Denotaremos tambien con
F = fx + f fy ,

G = fxx + 2f fxy + f 2 fyy .

(4.17)

Con esta notacion la funcion incremento T del metodo de Taylor podemos


expresarla
1
1
T (x, y; h) = f + hF + h2 (F fy + G) + O(h3 ).
2
6
Vamos a analizar con detalle los metodos de hasta R = 3 etapas. Se tiene
que los k1 , k2 y k3 tienen la forma
k1 = f (x, y) = f
k2 = f (x + ha2 , y + ha2 k1 )
k3 = f (x + ha3 , y + h(a3 b32 )k1 + hb32 k2 ).
7

(4.18)

Expandiendo k2 en serie de Taylor en el punto (x, y) se obtiene


1
k2 = f + ha2 (fx + k1 fy ) + h2 a22 (fxx + 2k1 fxy + k12 fyy ) + O(h3 ).
2
Sustituyendo k1 y usando 4.17 se tiene
1
k2 = f + ha2 F + h2 a22 G + O(h3 ).
2
Analogamente para k3 tenemos
k3 = f + h {a3 fx + [(a3 b32 )k1 + b32 k2 ] fy }
+ 21 h2 {a23 fxx + 2a3 [(a3 b32 )k1 + b32 k2 ] fxy
+ [(a3 b32 )k1 + b32 k2 ]2 fyy + O(h3 ).

(4.19)

Sustituyendo de nuevo k1 y k2 y usando 4.17 se tiene


1
k3 = f + ha3 F + h2 (a2 b32 F fy + a23 G) + O(h3 ).
2
Esto nos permite escribir la funcion incremento del Runge-Kutta de 3 etapas
por
(x, y; h) = (c1 + c2 + c3 )f + h(c2 a2 + c3 a3 )F
+ 21 h2 [2c3 a2 b32 F fy + (c2 a22 + c3 a23 )G] + O(h3 ).

(4.20)

Para tener metodos de R = 1 etapas, c2 = c3 = 0 quedando


(x, y; h) = c1 f + O(h3 ).
Comparando con la funcion T , como ademas debe ser c1 = 1 se obtiene que
solo existe un metodo de R-K explicito de una etapa que es el metodo de
Euler y que tiene orden uno.
Para R = 2 etapas, c3 = 0 y nos queda la funcion incremento
1
(x, y; h) = (c1 + c2 )f + hc2 a2 F + h2 c2 a22 G + O(h3 ).
2
Comparando con la funcion T , se deben cumplir las ecuaciones
c1 + c2 = 1,

1
c2 a2 = .
2

Que es un conjunto de 2 ecuaciones con 3 incognitas, por lo que existe una


familia uniparametica de metodos de 2 etapas y orden 2 y que no puede
existir ninguno de orden 3. Los dos casos mas conocidos son
8

El metodo de Euler modificado, que corresponde a tomar c1 = 0, c2 = 1 y


a2 = 21


1
1
yn+1 = yn + hf xn + h, yn + hf (xn , yn ) .
2
2
El metodo de Euler mejorado, que corresponde a tomar c1 = 12 , c2 =
a2 = 1

1
2

1
yn+1 = yn + h [f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))] .
2
Para R = 3 etapas comparando los terminos hasta h2 de 4.20 con la T se
deben cumplir las siguientes ecuaciones
c1 + c2 + c3 = 1
1
c 2 a2 + c 3 a3 =
2
1
2
2
c 2 a2 + c 3 a3 =
(4.21)
3
1
.
c3 a2 b32 =
6
Son un sistemas de 4 ecuaciones con 6 incognitas, por lo que existe una familia
bi-parametrica de soluciones o metodos explcitos de tres etapas y orden 3.
No existe ninguno de orden cuatro. Dos ejemplos bien conocidos son
La formula de Heun de tercer orden que corresponde a tomar c1 = 14 , c2 = 0,
c3 = 43 ; a2 = 31 , a3 = 23 , b32 = 32
h
(k1 + 3k3 )
4
= f (xn , yn )
1
1
= f (xn + h, yn + hk1 )
3
3
2
2
= f (xn + h, yn + hk2 ).
3
3

yn+1 = yn +
k1
k2
k3

La formula de Kutta de tercer orden que corresponde a tomar c1 = 16 , c2 = 32 ,


c3 = 16 ; a2 = 21 , a3 = 1, b32 = 2
h
(k1 + 4k2 + k3 )
6
= f (xn , yn )
1
1
= f (xn + h, yn + hk1 )
2
2
= f (xn + h, yn hk1 + 2hk2 ).

yn+1 = yn +
k1
k2
k3

La obtencion de metodos de R = 4 etapas es mas tediosa pues aparecen ocho


ecuaciones en diez incognitas por lo que no hacemos el desarrollo y solamente
ponemos como ejemplo el conocido como metodo de Runge-Kutta de cuarto
orden que puede considerarse como el mas popular de todos los metodos de
Runge-Kutta
h
(k1 + 3k2 + 3k3 + k4 )
8
f (xn , yn )
1
1
f (xn + h, yn + hk1 )
3
3
2
1
f (xn + h, yn hk1 + hk2 )
3
3
f (xn + h, yn hk2 + hk3 ).

yn+1 = yn +
k1 =
k2 =
k3 =
k4 =

Podra parecer que el orden coincide con el n


umero de etapas en los metodos
de R-K explcitos, pero esto no es as. Si denotamos por p(R) el maximo
orden alcanzable por un metodo explicito de R etapas se tiene que p(R) = R
para R = 1, 2, 3, 4, pero p(5) = 4, P (6) = 5, p(7) = 6, p(8) = 6 y p(R)
R 2, R = 9, 10, . . ..
Definici
on 4.3.1 (Error local de truncatura). Se define el error local de
truncatura en xn+1 del metodo 4.16 y se denota por dn+1 o Tn+1 a
Tn+1 = y(xn+1 ) y(xn ) h(xn , y(xn ); h)

(4.22)

donde y(x) es la solucion teorica del problema de valores iniciales 4.1.


Observamos que en este caso el Tn+1 coincide con el error global en+1 =
y(xn+1 ) yn+1 cuando de hace la hipotesis que no de han cometido errores
previos, por eso indica el error cometido en un paso.
Si suponemos que y(x) es suficientemente regular y si el metodo tiene orden
p entonces podemos escribir
Tn+1 = Cp+1 hp+1 y (p+1) (xn ) + O(hp+2 ),
donde la constante Cp+1 se llama constante de error y los terminos en hp+1
forman la parte principal del ELT. Muchas veces se expresa a traves de una
funcion llamada funcion error principal
Tn+1 = (xn , y(xn ))hp+1 + O(hp+2 ).
Como los metodos de Runge-Kutta son un caso particular de metodos de un
paso, todo lo visto para metodos de un paso es aplicable. Nos centraremos
en aspectos especficos de estos metodos.
10

4.4.

Estimaci
on del error de los m
etodos de
R-K explcitos

Un elemento importante al utilizar los metodos numericos es poder estimar el


error, para saber si conviene modificar el metodo o el paso que se esta utilizando durante la computacion. Vamos a ver tres formas diferentes de estimar el
error local de truncatura de estos metodos.

4.4.1.

Estimaci
on por extrapolaci
on

La primera esta basada en la extrapolacion al lmite de Richardson. Bajo la


hipotesis de que no se han cometido errores previos, es decir, si yn = y(xn )
entonces
y(xn+1 ) yn+1 = Tn+1 = (xn , y(xn ))hp+1 + O(hp+2 )

donde p es el orden del metodo de R-K. Supongamos que yn+1


es una segunda
aproximacion de y(xn+1 ) obtenida aplicando el mismo metodo con paso 2h
a partir de xn1 . Se verifica tambien

y(xn+1 ) yn+1
= Tn+1 = (xn1 , y(xn1 ))(2h)p+1 + O(hp+2 )
= (xn , y(xn ))(2h)p+1 + O(hp+2 )

tras expandir (xn1 , y(xn1 )) en (xn , y(xn )) y restando ambas ecuaciones

yn+1 yn+1
= (2p+1 1)(xn , y(xn ))hp+1 + O(hp+2 )

por lo que podemos estimar la parte principal del error local de truncatura
por

yn+1 yn+1
Tn+1 (xn , y(xn ))hp+1 =
2p+1 1

4.4.2.

M
etodos de Runge-Kutta Fehlberg

Esta tecnica para estimar el error local de truncatura consiste en emplear


dos metodos de R-K de ordenes p y p + 1
yn+1 = yn + hI (xn , yn ; h) de orden p
yn+1 = yn + hII (xn , yn ; h) de orden p + 1

11

a ser posible que utilicen las mismas evaluaciones de la funcion f (x, y) es


decir que compartan las kr
I (x, y; h) =
II (x, y; h) =

RI
X
r=1
RII
X

cr kr
cr kr

r=1

kr = f (x + ar h, y + h

r1
X

brs ks )

s=1

Habitualmente RII = RI + 1. Se verifica que


I
= I (xn , y(xn ))hp+1 + O(hp+2 )
Tn+1
II
Tn+1
= II (xn , y(xn ))hp+2 + O(hp+3 ).

y con las hipotesis de que no hay errores previos yn = yn = y(xn )


y(xn+1 ) yn+1 = I (xn , y(xn ))hp+1 + O(hp+2 )
y(xn+1 ) yn+1 = II (xn , y(xn ))hp+2 + O(hp+3 ),
luego podemos estimar la parte principal del ELT del metodo de orden p
usando
yn+1 yn+1 = I (xn , y(xn ))hp+1 + O(hp+2 ).
Si queremos trabajar siempre con un tama
no de paso h tal que el error en
un paso sea menor que una tolerancia prefijada, despreciando los terminos
de orden superior esto significa que
k I (xn , y(xn ))hp+1 k
si en el paso siguiente de xn+1 a xn+2 queremos usar un nuevo hnew de manera
que
k I (xn+1 , y(xn+1 ))hp+1
new k ,
como
k I (xn+1 , y(xn+1 )) k=k I (xn , y(xn )) k +O(h),
y como
k yn+1 yn+1 k
+ O(h)
| hp+1 |
para que en nuevo error este acotado por , debe cumplirse que
k I (xn , y(xn )) k=

k yn+1 yn+1 k p+1


| hnew | ,
| hp+1 |
12

es decir

hnew

p+1

h
k yn+1 yn+1 k

Ejemplo 4.3. El mas conocido de estos metodos es el RKF45 de ordenes 4


y 5 con 5 y 6 etapas. Damos su tableau.
ar
0

br1

1
4
3
8
12
13

1
4
3
32
1932
2197
439
216
8
27
25
216
16
135

1
1
2

cr
cr

br2

9
32
7200
2197

8
2
0
0

br3

7296
2197
3680
513
3544
2565
1408
2565
6656
12825

br4

br5

br6

845
4104
1859
4104
2197
4104
28561
56430

11
40

15
9
50

2
55

En general los coeficientes de un metodo de R-K se representan en forma de


Tabla llamada Matriz de Butcher o Tableau.
a1
a2
..
.

b11
b21
..
.

aR bR1
c1

4.4.3.

b12 b1R
b22 b2R
..
..
..
.
.
.
bR2 bRR
c2 cR

M
etodos especiales

A esta clase pertenecen algunos metodos que permiten estimar directamente


el error local de truncatura, pero no se utilizan pues no sirven como metodos de proposito general y hay muy pocos. Tiene un cierto interes historico
y tuvieron cierta relevancia a principios de la decada de los 60. Tan solo

13

pondremos un ejemplo debido a Merson a modo de ilustracion


h
(k1 + 4k4 + k5 )
6
f (xn , yn )
1
1
f (xn + h, yn + hk1 )
3
3
1
1
1
f (xn + h, yn + hk1 + hk2 )
3
6
6
1
1
3
f (xn + h, yn + hk1 + hk3 )
2
8
8
1
3
f (xn + h, yn + hk1 hk3 + 2hk4 )
2
2

yn+1 = yn +
k1 =
k2 =
k3 =
k4 =
k5 =

Este metodo tiene orten cuatro y su estimacion del erroe local viene dada
por
30Tn+1 = h(2k1 + 9k3 8k4 + k5 ).

4.5.

Estabilidad Absoluta de los m


etodos de
R-K explcitos

Para estudiar la estabilidad debil o absoluta de los metodos de R-K aplicamos


= h
el metodo a la ecuacion test y 0 = y y buscamos la region o el intervalo h
yn+1
para los que yn se mantiene acotado.
Para el caso de R 3 etapas de 4.18 aplicando la ecuacion test obtenemos
k1 = f (x, y) = y
k2 = f (x + ha2 , y + ha2 k1 ) = y(1 + a2 h)
k3 = f (x + ha3 , y + h(a3 b32 )k1 + hb32 k2 ) =
= y(1 + a3 h + a2 b32 h2 2 )
por tanto
(x, y; h) = c1 k1 + c2 k2 + c3 k3


= y (c1 + c2 + c3 ) + (c2 a2 + c3 a3 )h + c3 a2 b32 h2 2
luego


yn+1 = yn + h (c1 + c2 + c3 ) + (c2 a2 + c3 a3 )h + c3 a2 b32 h2 2 yn
yn+1
+ (c2 a2 + c3 a3 )h
2 + c3 a2 b32 h
3.
= 1 + (c1 + c2 + c3 )h
yn
14

Esto es una ecuacion en diferencias finitas de orden uno cuya solucion general
de de la forma
yn = d1 rn ,
donde d1 es una constante arbitraria y donde
+ (c2 a2 + c3 a3 )h
2 + c3 a2 b32 h
3.
r1 = 1 + (c1 + c2 + c3 )h
Podemos definir la region de estabilidad absoluta del metodo R-K como la
para los que |r1 | < 1 y en el caso de que
region del plano complejo de los h
sea real, hablamos del intervalo de estabilidad absoluta.
Lo primero que podemos observar es que para que el metodo sea consistente
c1 + c2 + c3 = 1 luego siempre
+ O(h2 ),
r1 = 1 + h

(4.23)

peque
y por tanto para h
no y positivo no puede haber estabilidad absoluta.
Una segunda observacion es que si el metodo tiene orden tres y tres etapas
entonces
2 + 1 h
3 + O(h4 ).
+ 1h
(4.24)
r1 = 1 + h
2
6
Todos los metodos de R-K de tres etapas y orden 3 tienen la misma region
de estabilidad absoluta. En particular el intervalo de estabilidad absoluta es
(2.51, 0). Este resultado es cierto para 1, 2 3 y 4. Damos una tabla con
estos intervalos.
Metodo
R1
R2
R3
R4

1+h
+
1+h
+
1+h
+
1+h

1 2
h
2
1 2
h
2
1 2
h
2

r1

Intervalo

+
+

(2, 0)
(2, 0)
(2.51, 0)
(2.78, 0)

1 3
h
6
1 3
h
6

1 4
h
24

El intervalo puede cambiar si no coinciden el n


umero de etapas y el orden.
Por ejemplo si busco un metodo de tres etapas pero con orden solo dos,
tendremos que
+ 1h
2 + 3 h
3 + O(h4 ),
r1 = 1 + h
(4.25)
2
y podemos elegir los coeficientes del metodo para que 3 = c3 a2 b32 tenga un
cierto valor. Por ejemplo para 3 = 0 nos queda un intervalo (2, 0) y para
1
obtendramos un intervalo (4.52, 0).
3 = 12

15

Regiones de estabilidad absoluta de los Runge-Kutta explicitos.


4

'rk1.dat'
'rk2.dat'
'rk3.dat'
'rk4.dat'
'rk5.dat'
'rk6.dat'

3
2
1
0
-1
-2
-3
-4

4.6.

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5

M
etodos de Runge-Kutta implcitos

En los metodos de R-K implcitos las kr dependen no solo de las ks anteriores


sino de todas ellas. Teniendo que resolver un sistema de ecuaciones no lineales
en cada iteracion. Es decir su estructura es

yn+1 = yn + h(xn , yn ; h)

(x,
y;
h)
=
cr k r

r=1


R
P
(4.26)
kr = f x + har , y + h
brs ks , r = 1, 2, . . . , R

s=1

ar =
brs , r = 1, 2, . . . , R
s=1

Cuando en el sumatorio que define kr se suma hasta r se dice que el metodo


es semi-mplcito y cada kr depende de s misma, teniendo que resolver R
ecuaciones no lineales en cada iteracion.
El proceso de obtencion se complica con respecto a los metodos explcitos.
Consideraremos solo es caso de R = 2 etapas. La expansion de la funcion
incremento del metodo de Taylor con los terminos en h3 es
1
1
T (x, y; h) = f + hF + h2 (F fy + G) +
2
6

1 3
+
h (3fxy + 3f fyy + fy2 )F + Gfy + H + O(h4 ),
24
16

donde
F = fx + f fy ,
G = fxx + 2f fxy + f 2 fyy ,
H = fxxx + 3f fxxy + 3f 2 fxyy + f 3 fyyy .

(4.27)

Ahora para r = 1, 2 se tiene que


kr = f (x + har , y + br1 hk1 + br2 hk2 ).

(4.28)

Se hacen expansiones de Taylor de las kr ,


kr = f + h [ar fx + (br1 k1 + br2 k2 )fy ]

1 2 2
+
h ar fxx + 2ar (br1 k1 + br2 k2 )fxy + (br1 k1 + br2 k2 )2 fyy
2
1 3 3
+
h ar fxxx + 3a2r (br1 k1 + br2 k2 )fxxy + 3ar (br1 k1 + br2 k2 )2 fxyy
6

+ (br1 k1 + br2 k2 )3 fyyy + O(h4 ), r = 1, 2.
pero como son implcitas no podemos usar la tecnica usada en el caso explcito, as que suponemos que esta kr se pueden expresar en potencias de
h
kr = Ar + hBr + h2 Cr + h3 Dr + O(h4 ), r = 1, 2
(4.29)
entonces sustituyendo en la anterior, sin desarrollar los terminos en h4 o
superior que los englobamos en el O(h4 ), tenemos
Ar + hBr + h2 Cr + h3 Dr



= f + h ar fx + br1 (A1 + hB1 + h2 C1 ) + br2 (A2 + hB2 + h2 C2 ) fy
1 2 2
h ar fxx + 2ar [br1 (A1 + hB1 ) + br2 (A2 + hB2 )] fxy
+
2

+
[br1 (A1 + hB1 ) + br2 (A2 + hB2 )]2 fyy
1 3 3
h ar fxxx + 3a2r (br1 A1 + br2 A2 )fxxy
=
6

+
3ar (br1 A1 + br2 A2 )2 fxyy + (br1 A1 + br2 A2 )3 fyyy + O(h4 ),
e igualando los terminos constantes, en h, en h2 , etc. en ambos lados de la

17

igualdad obtenemos que


Ar = f
Br = ar F
1
Cr = (br1 a1 + br2 a2 )F fy + a2r G
2
Dr = [br1 (b11 a1 + b12 a2 ) + br2 (b21 a1 + b22 a2 )] F fy2
1
+ ar (br1 a1 + br2 a2 )F (fxy + f fyy ) + (br1 a21 + br2 a22 )Gfy
2
1 3
+
a H, r = 1, 2.
6 r
Llevando esto a la expansion de las kr y usando que (x, h; h) = c1 k1 + c2 k2
obtenemos
(x, y; h) = c1 A1 + c2 A2 + h(c1 B1 + c2 B2 ) + h2 (c1 C1 + c2 C2 )
+h3 (c1 D1 + c2 D2 ) + O(h4 ),

(4.30)

comparando con la T obtenemos que el metodo de R-K implcito de R = 2


etapas tendra orden uno si
c1 + c2 = 1,
(4.31)
tendra orden dos si ademas
1
c1 a1 + c2 a2 = ,
2

(4.32)

orden tres si ademas


1
6
1
=
3

c1 (b11 a1 + b12 a2 ) + c2 (b21 a1 + b22 a2 ) =


c1 a21 + c2 a22

(4.33)

y orden cuatro si ademas de las condiciones anteriores se cumple


1
24
1
c1 a1 (b11 a1 + b12 a2 ) + c2 a2 (b21 a1 + b22 a2 ) =
8
1
2
2
2
2
c1 (b11 a1 + b12 a2 ) + c2 (b21 a1 + b22 a2 ) =
(4.34)
12
1
c1 a31 + c2 a32 =
.
4

(c1 b11 + c2 b21 )(b11 a1 + b12 a2 ) + (c1 b12 + c2 b22 )(b21 a1 + b22 a2 ) =

18

Junto con la relacion de la definicion 4.26


a1 = b11 + b12
a2 = b21 + b22 .
Queda un sistema de ocho ecuaciones con seis incognitas que resulta tener
una u
nica solucion dada por

1
1
3
1
3
c1 = c2 = , a1 =
, a2 =
,
2
2
6
2
6
1
1
1
b11 = b22 = , b12 = a1 , b21 = a2 .
4
4
4
El metodo de Gauss tiene orden cuatro y viene dado por
h
yn+1 = yn + (k1 + k2 )
2
!
!
!
1
1
1
3
3
k1 = f xn +
+
h, yn + hk1 +
+
hk2
2
6
4
4
6
!
!
!
1
3
1
3
1
k2 = f xn +

h, yn +

hk1 + hk2 .
2
6
4
6
4
Un ejemplo de metodo de Runge-Kutta semi-implcito de tres etapas y orden
cuatro debido a Butcher es
h
yn+1 = yn + (k1 + 4k2 + k3 )
6
k1 = f (xn , yn )


1
1
1
k2 = f xn + h, yn + hk1 + hk2
2
4
4
k3 = f (xn + h, yn + hk2 ) .
El interes de los metodos implcitos radica en las propiedades de estabilidad
absoluta que son muy superiores a las de los metodos explcitos. La definicion de la region de estabilidad absoluta es la misma que para los metodos
= h,
explcitos, pero al aplicar el metodo a la ecuacion test y 0 = y con h

en vez de obtener un polinomio en h se obtiene una funcion racional en h.


As para el metodo de Hammer y Hollingsworth se obtiene la expresion
1+
yn+1
= r1 =
yn
1

1
h
2
1
h
2

+
+

1 2
h
12
1 2 ,
h
12

que tiene a (, 0) como intervalo de estabilidad absoluta.


19

También podría gustarte