Está en la página 1de 12

Metodos de Runge-Kutta

Luis Eduardo Bermudez


October 2014

1.

Introducci
on

Los metodos de Runge-Kutta (RK) se utilizan para resolver problemas de


ecuaciones diferenciales ordinarias con valor inicial. Consideremos una ecuacion
diferencial ordinaria
y 0 = f (x, y),

y(0) = y0

(1)

Para calcular yn+1 en xn+1 = xn +h, dado un valor de


tegramos la ecuaci
on anterior en el intervalo [xn , xn+1 ]
Z xn+1
f (x, y)dt
yn+1 = yn +

yn

in-

(2)

xn

La solucion de la ecuacion diferecial 1 por los metodos de Runge-Kutta se obtienen conociendo yn e integrando el segundo termino de la ecuacion 2 con
alg
un metodo numerico.
Los metodos de RK logran la exactitud del procedimiento de la serie de Taylor sin necesitar el c
alculo de derivadas de orden superior[1]. Existen muchas
variantes, pero todas tienen la forma generalizada de la ecuacion 3
yi+1 = yi + (xi , yi , h)h

(3)

donde (xi , yi , h)h se conoce como funcion incremento, la cual puede interpretarse como una pendiente representativa del intervalo. La funcion incremento
se escribe en forma general como
= a1 k1 + a2 k2 + ... + an kn

(4)

donde las a son las constantes y las k son pendientes


k1 = f (xi , yi )

(5a)

k2 = f (xi + p1 h, yi + q11 k1 h)

(5b)

k3 = f (xi + p2 h, yi + q21 k1 h + q22 k2 h)

(5c)

.
.
.
ki = f (xi + p2 h, yi +

i1
X

qij kj h),

i = 2, 3, ...,

(5d)

j=1

.
.
.
kn = f (xi + pn1 h, yi + qn1,1 k1 h + qn1,2 k2 h + ... + qn1,n1 kn1 h) (5e)
Es posible tener varios tipos de metodos de RK empleando diferentes n
umeros
de terminos representados por n en la funcion incremento. Por ejemplo el metodo RK de orden 1 es decir n = 1, es el metodo de Euler. En los metodos de RK
de segundo orden usan la funcion incremento con dos terminos n = 2, en este
caso ser
an exactos si la solucion de la ED es cuadratica.
Existen muchas variantes, pero todas tienen la forma generalizada de la ecuaci
on 3. Observe que k es una relacion de recurrencia, es decir k1 aparecen en la
ecuaci
on k2 , la cual aparece en la ecuacion k3 , etc. Esta recurrencia vuelve eficiente a los metodos de RK par calculos en computadora, aunque no garantizan
la convergencia hacia la solucion verdadera[2].
Una vez se escoge el orden n, los valores de a, p y q se obtienen igualando la
ecuaci
on 3 con la expansi
on de la serie de Taylor hasta el termino de segundo
orden y desarrollando las ecuaciones algebraicas resultantes.

2.

M
etodos de Runge-Kutta de segundo orden

El metodo de Runge-Kutta de segundo orden (RK2) simula la precision del


metodo de la serie de Taylor de orden n = 2 [2]. La version de segundo orden
de la ecuaci
on general en 3 es:
yi+1 = yi + (a1 k1 + a2 k2 )h

(6)

donde
k1 = f (xi , yi )

(7a)

k2 = f (xi + p1 h, yi + q11 k1 h)

(7b)

Para usar la ecuacion 6 debemos determinar los valores de a1 , a2 , p1 y q11 .


Para ello recordamos la serie de Taylor de orden 2 para yi+1 en terminos de yi .
yi+1 = yi + f (xi , yi )h +

f 0 (xi , yi )h2
2

(8)

donde f (xi , yi ) debe determinarse por derivacion usando la regla de la cadena


para una funci
on de dos variables una dependiente de la otra.
f 0 (xi , yi ) =

f (xi , yi ) f (xi , yi ) dy
+
.
x
y
dx

(9)

Sustituimos la ecuaci
on 9 en 8 y obtenemos


f
f dy h2
yi+1 = yi + f (xi , yi )h +
+
.
x
y dx 2

(10)

La estrategia b
asica de los metodos de RK es el uso de manipulaciones algebraicas para obtener los valores de a1 , a2 , p1 y q11 que hacen equivalentes las
ecuaciones 6 y 10. Usamos una serie de Taylor una funcion de dos variables de
orden 1 para expandir la ecuacion 7b.
g(x + r, y + s) = g(x, y) + r

g
g
+s
+ ...
x
y

(11)

Si aplicamos este metodo en 11 para expandir la ecuacion 7b obtenemos


f (xi + p1 h, yi + q11 k1 h) = f (xi , yi ) + p1 h

f
f
+ q11 k1 h
+ O(h2 )
x
y

(12)

la ecuaci
on 12 y la ecuaci
on 7a se sustituyen en la ecuacion 6 as:
yi+1 = yi +a1 hf (xi , yi )+a2 hf (xi , yi )+a2 p1 h2

f
f
+a2 q11 h2 f (xi , yi ) +O(h3 )
x
y
(13)

Agrupando terminos y factorizando h


yi+1



f
f 2
= yi +[a1 f (xi , yi ) + a2 f (xi , yi )] h+ a2 p1
+ a2 q11 f (xi , yi )
h +O(h3 )
x
y
(14)

Ahora comparamos terminos comunes en las ecuaciones 13 y 10


f (xi , yi )h = [a1 f (xi , yi ) + a2 f (xi , yi )] h

(15a)

a1 = 1 a2

(15b)

f
x

h2
2

a2 p1 =


= a2 p1

f 2
h
x

(15c)

1
2

(15d)
3

f dy
.
y dx

h2
f 2 
= a2 q11 f (xi , yi )
h
2
y

(15e)

1
(15f)
2
El sistema de tres ecuaciones lineales tiene cuatro incognitas, por lo tanto
no existe un conjunto u
nico de constantes que satisfagan las ecuaciones 15b,15d
y 15f.
a2 q11 =

a1 = 1 a2
p1 = q11 =

(16)
1
2a2

(17)

Debido a que podemos elegir cualquier valor para a2 existe un n


umero infinito
de metodos de RK2.

2.1.

M
etodo de Heun con un solo corrector a2 =

1
2

Si suponemos que a2 es 12 de las ecuaciones 16 y 17 puede obtenerse a1 = 12


y p1 = q11 = 1. Estos parametros al sustituirse en la ecuacion 6 obtenemos


1
1
yi+1 = yi +
k1 + k1 h
(18)
2
2
donde
k1 = f (xi , yi )

(19a)

k2 = f (xi + h, yi + k1 h)

(19b)

Obeserve que k1 es la pendiente al inicio del intervalo y que k2 es la pendiente


al final del intervalo, igual que en el metodo del trapecio.

Figura 2 Metodo de Heun. a) Predictor y b) Corrector.

2.2.

M
etodo del punto medio con a2 = 1

Si suponemos que a2 es 1 de las ecuaciones 16 y 17 puede obtenerse a1 = 0


y p1 = q11 = 12 y la ecuaci
on 6 se convierte en:
yi+1 = yi + k2 h

(20)

donde
k1 = f (xi , yi )

(21a)

1
1
(21b)
k2 = f (xi + h, yi + k h)
2
2 1
Este es el metodo del punto medio o tambien conocido como metodo de Euler
mejorado.

2.3.

M
etodo de Ralston a2 = 2/3

Raslton y Rabinowitz (1978) determinaron que al selecionar a2 = 2/3 se


obtiene un mnimo de error de truncamiento para los algoritmos RK2. Con
5

a2 = 2/3 tenemos que a1 = 1/3 y p1 = q11 = 3/4, as que:




1
2
yi+1 = yi +
k1 + k2 h
3
3

(22)

k1 = f (xi , yi )


3
3
k2 = f xi + h, yi + k1 h
4
4

3.

(23a)
(23b)

M
etodos de Runge-Kutta de tercer orden (RK3)

Cuando la EDO est


a en funcion solo de x, este metodo de tercer orden puede
obtenerse usando la regla de Simpson 1/3.
yi+1 = yi +

1
(k1 + k2 + k3 ) h
6

(24)

donde
k1 = f (xi , yi )


1
1
k2 = f xi + h, yi + k1 h
2
2

(25a)
(25b)

k3 = f (xi + h, yi k1 h + 2k2 h)

(25c)
4

Los metodos de RK3 tiene error local y global de O(h ) y O(h ), respectivamente
y dan resultados exactos cuando la solucion es c
ubica.

4.

M
etodo de Runge-Kutta de cuarto orden (RK4)

la deducci
on del metodo de RK4 se obtiene de forma analoga al de tercer
orden, excepto que se utiliza un paso intermedio adicional para evaluar la derivada. Este metodo tiene una precision hasta el termino de cuarto orden del
desarrollo de Taylor por lo que el error local o de truncamiento es proporcional
h5 .
A continuaci
on se presentan las dos versiones del metodo de RK4 mas utilizadas.
La primera versi
on se basa en la regla de 1/3 de Simpson y se escribe as:
yi+1 = yi +

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

(26)

k1 = hf (xi , yi )

(27a)

k2 = hf (xi + 1/2, yi + k1 /2)

(27b)

k3 = hf (xi + 1/2, yi + k2 /2)

(27c)

k4 = hf (xi + 1, yi + k3 )

(27d)
6

La segunda versi
on se basa en la regla 3/8
yi+1 = yi +

1
(k1 + 3k2 + 3k3 + k4 ) h
8

(28)

k1 = hf (xi , yi )

(29a)

k2 = hf (xi + 1/3, yi + k1 /3)

(29b)

k3 = hf (xi + 2/3, yi + k1 /3 + k2 /3)

(29c)

k4 = hf (xi + 1, yi + k1 k2 + k3 )

(29d)

Figura 2 Representacion grafica de las pendientes estimadas en el metodo de RK4

5.

M
etodo de Butcher-Runge-Kutta

Cuando se requieren resultados mas exactos, se recomienda el metodo de RK


de quinto orden, porque proporciona una mayor aproximacion con cada paso y
el error es de orden h6 [3]. Sin embargo, la ganancia en exactitud con metodos
mayores al cuarto orden se ve afectada por mayor trabajo computacional y
mayor complejidad. La siguiente es la forma de Butcher (1964)[2].
yi+1 = yi +

1
(7k1 + 32k3 + 12k4 + 32k5 + 7k 6 ) h
90

k1 = f (xi , yi )


1
1
k2 = f xi + h, yi + k1 h
4
4

(30)
(31a)
(31b)



1
1
1
xi + h, yi + k1 h + k2 h
4
8
8


1
1
k4 = f xi + h, yi + k2 h + k3 h
2
2


3
3
9
k5 = f xi + h, yi + k1 h + k4 h
4
16
16


3
2
12
12
8
k6 = f xi + h, yi k1 h + k2 h + k3 h k4 h + k5 h
7
7
7
7
7
k3 = f

6.

(31c)
(31d)
(31e)
(31f)

Comparaci
on de los m
etodos de RK

Trabajo computacional (T c) es el n
umero requerido de evaluaciones de la
funci
on para obtener la solucion de la ecuacion diferencial. Por ejemplo, para el
metodo de Euler mejorado o RK2 se requieren dos evaluaciones por cada uno
de los pasos, en cambio para el metodo de RK4 se requieren cuatro evaluaciones
por cada paso, como para el metodo de Butcher-Runge-Kutta o RK5 requiere
seis evaluaciones de la fuci
on como se observa desde la ecuacion 31a hasta la
31f.
T c = nj

ba
h

(32)

donde nj es el n
umero de evaluaciones de la funcion y ba
no de
h es el tama
integraci
on dividido entre el tama
no de paso.
Los metodos de RK est
an sujetos a dos clases de errores: errores de truncado e
inestabilidad. El error de truncado puede definirse como la diferencia entre la
expansi
on de la serie de Taylor usada en el metodo numerico y la usada en la
soluci
on exacta, cuando se trata de esta diferencia en un intervalo de tiempo fijo
se denomina error local y conforme aumenta el orden del metodo, la magnitud
del error disminuye con mayor rapidez al disminuir el tama
no del intervalo.
Ahora, si consideramos un periodo de tiempo y lo dividimos en intervalos de
tiempo fijos, el error global es igual al producto del error local y el n
umero de
intervalos. Por ejemplo, el metodos de RK3 tiene errores local O(h4 ) y global
de O(h3 ), dando resultados exactos cuando la ecuacion diferencial es c
ubica, la
soluci
on sea de cuarto grado o inferior [4].
El valor verdadero de una funcion es igual al valor aproximado mas el error, de
esta relaci
on podemos obtener el error n
umero que es igual a la diferencia entre
el valor verdadero y el valor aproximado. Para tomar en consideracion el orden
de la magnitud del valor que se estima el error se normaliza respecto al valor
verdadero. El error relativo porcentual Et se define as:
Et =

error verdadero
100
valor verdadero

(33)

Figura Comparacion del Et desde el primero hasta el quinto orden

7.

M
etodo de RK4 para un sistema de dos ecuaciones
Consideremos un sistema de dos ecuaciones [1]:
u0 = f (u, v, t) v 0 = g(u, v, t)

(34)

Ahora en metodo RK4 se convierte en


k1 = hf (un , vn , tn )

(35a)

m1 = hg(un , vn , tn )

(35b)

k2 = hf (un + k1 /2, vn + m1 /2, tn + 1/2)

(35c)

m2 = hg(un + k1 /2, vn + m1 /2, tn + 1/2)

(35d)

k3 = hf (un + k2 /2, vn + m2 /2, tn + 1/2)

(35e)

m3 = hg(un + k2 /2, vn + m2 /2, tn + 1/2)

(35f)

k4 = hf (un + k3 , vn + m3 /2, tn + 1)

(35g)

m4 = hg(un + k3 , vn + m3 /2, tn + 1)
1
(k1 + 2k2 + 2k 3 + k4 )
6
1
vn+1 = vn + (m1 + 2m2 + 2m3 + m4 )
6
Si escribimos la ecuaci
on 34 en forma vectorial tenemos
un+1 = un +

y 0 = f (y, t)
 
u
y=
v
 
f
f=
g

(35h)
(35i)
(35j)

(36)
(37)
(38)

k1 = hf (yn , tn )

(39a)

k2 = hf (yn + k1 /2, tn + 1/2)

(39b)

k3 = hf (yn + k2 /2, tn + 1/2)

(39c)

k4 = hf (yn + k3 , tn + 1)

(39d)

1
yn+1 = yn (k1 + 2k 2 + 2k3 + k4 )
6

(39e)

10

8.

Diagrama de flujo
Figura Diagrama de Flujo del Metodo de Runge -Kutta de orden 4

11

Referencias
A. P. Velasco, Metodos numericos aplicados con soft[1] S. Nakamura and O.
ware. Prentice-Hall Hispanoamericana Mexico, 1992.
[2] C. Chapra Steven and C. Raymond, Metodos numericos para ingenieros,
Editorial Mc Graw-Hill 4a . Edici
on. Mexico, 2002.
[3] G. R. Lindfield and J. E. Penny, Numerical methods: using MATLAB. Academic Press, 2012.
[4] N. Shoichiro, An
alisis numerico y visualizacion grafica con matlab, Ed.
Prentice Hall, Mexico, 1997.

12

También podría gustarte