You are on page 1of 5

ANLISIS DE CONVERGENCIA NUMRICA DEL MTODO DE RUNGE-KUTTA

IQ H. Colmenares
MaestraenIngenieradeDesarrollosTecnolgicos
CentroUniversitariodelaCostaSur,UniversidaddeGuadalajara
AvenidaIndependenciaNacional#151
AutlndeNavarro,Jalisco,Mxico
hilarion.colmenares@cucsur.udg.mx
RESUMEN
En este artculo se analiz la convergencia numrica del
mtodo de Runge-Kutta para primer, segundo y cuarto
orden y con diferentes valores de incremento (h). A partir
de problemas de valor inicial se obtuvieron errores con los
mtodos de Runge-Kutta de primer, segundo y tercer orden,
en el punto final del intervalo, conforme h tiende a cero. Se
utiliz un cdigo fuente con el software Matlab para
determinar los errores analizados en este artculo,
obtenindose conclusiones claras sobre el comportamiento
del error dependiendo del valor de h y el orden del mtodo
de Runge-Kutta adems de la funcin analizada.
Palabras clave Runge-Kutta, error, incremento, PVI,
EDO.
1.

INTRODUCCIN

No siempre es posible encontrar una solucin en trminos


de las variables, en este caso se recurre a la resolucin
numrica de ecuaciones diferenciales ordinarias. Se han
formulado muchos mtodos para resolver numricamente
ecuaciones diferenciales ordinarias, por los cuales se
entiende una tabla de valores de la variable dependiente y
sus derivadas sobre slo una porcin limitada de la gama de
la variable independiente [3].
Un esquema para la solucin de PVI de ecuaciones
diferenciales ordinarias est dado por la aproximacin de
y(x) mediante una serie de Taylor de primer orden, en esto
consiste el mtodo de Euler (mtodo de Runge-Kutta de
primer orden, RK1), que tiene la forma:
yn+1 = yn + h*f(xn,yn)
donde h es el incremento de x.

Una ecuacin diferencial es una ecuacin que contiene las


derivadas de una o ms variables dependientes con respecto
a una o ms variables independientes. Si una ecuacin slo
contiene derivadas ordinarias de una o ms variables
dependientes con respecto a una sola variable
independiente, entonces se dice que es una ecuacin
diferencial ordinaria (EDO) [1].
Para resolver una ecuacin diferencial ordinaria planteamos
un problema de valor inicial (PVI). El problema de valor
inicial lo podemos enunciar como:

El objetivo de los mtodos numricos de Runge-Kutta, es


tambin el anlisis y solucin de los PVI de ecuaciones
diferenciales ordinarias, estos son una extensin del mtodo
de Euler para resolver las ecuaciones diferenciales
ordinarias, pero con un orden de exactitud ms alto que el
mtodo de Euler. El mtodo de Runge-Kutta de segundo
orden (RK2) tiene la forma:
yn+1 = yn + (h/2)*(k1+k2)

en x[a,b],

sujeto a y(a)=y0

(1)

donde y= f(x,y(x)) es la derivada de y(x), x[a,b] es el


intervalo para el cual es vlida la solucin y y(a)=y0 es el
valor de la funcin y=(x) en el punto x=a. Lo que interesa
es determinar la funcin y=(x) que satisface el PVI.
Cuando una funcin y = (x), est definida en algn
intervalo x [a, b], se sustituye en una ecuacin diferencial
y = f(x, y(x) y transforma esa ecuacin en una identidad, se
dice entonces que es una solucin de la ecuacin en el
intervalo dado. La idea general para resolver el PVI es
integrar la derivada para obtener la funcin que nos da la
solucin [2].

(3)

donde:
k1 = f(xn, yn) y
k2 = f(xn + h, yn + h*k1)

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

(2)

(4)

siendo k1 y k2 las pendientes para la aproximacin.


El mtodo de Runge-Kutta de cuarto orden (RK4) tiene la
forma:
yn+1 = yn + (h/6)*(k1 + 2k2 + 2k3 + k4)

(5)

donde:
k1 = f(xn, yn)
k2 = f(xn + (h/2), yn + (h*k1)/2)
k3 = f(xn + (h/2), yn + (h*k2)/2)
k4 = f(xn + h, yn + h*k3)

(6)

siendo k1, k2, k3 y k4 las pendientes de aproximacin [4].

Para el mtodo de Euler y los mtodos de Runge-Kutta de


segundo y cuarto orden, el error est dado por:
|| valor exacto valor numrico || = O(h)

(7)

Para el mtodo de Euler O(h) disminuye linealmente, para


el mtodo de Runge-Kutta de segundo orden el error es
O(h2), es decir disminuye de manera cuadrtica; y para el
mtodo de Runge-Kutta de cuarto orden el error es O(h4),
es decir disminuye en un orden de potencia cuatro en cada
paso.
Cuando el intervalo (h) es ms pequeo, el nmero de
clculos ser mayor y la aproximacin ser ms cercana al
valor real. Debido a que se tiene un error de truncamiento,
la aproximacin con O(h4) ser mejor que O(h 2) y esta
mejor que O(h). Pero para un h demasiado pequeo ( h <
), el error aumentar por el error de redondeo dado
por la computadora.
En este artculo se estudiaron tres problemas de valor inicial
revisando el error relativo por los mtodos numricos de
Runge-Kutta de primer, segundo y cuarto orden para cinco
valores de h. Se obtuvieron grficas para los problemas de
valor inicial, las cuales se analizaron y despus se
obtuvieron las conclusiones.
Las siguientes partes del presente artculo se abordan de la
siguiente manera: en la seccin 2 se establecen las
condiciones a las cuales se estudiaron los tres problemas de
valor inicial propuestos y los mtodos utilizados para
obtener los valores de los errores, los resultados se
presentan y analizan en la seccin 3, y finalmente en la
seccin 4 se dan las conclusiones obtenidas del anlisis de
cada problema y la conclusin general para los esquemas de
Runge-Kutta estudiados.
2. CONDICIONES Y MTODOS

i=0;
salida=ones(i,7);
for i=0:(limmax-1)
k1=exp(x0);
k2=exp(x0+h/2);
k22=exp(x0+h);
k3=exp(x0+h/2);
k4=exp(x0+h);
yn1=y01+h*k1;
yn2=y02+(h/2)*(k1+k22);
yn4=y04+(h/6)*(k1+2*k2+2*k3+k4);
i=i+1;
x0=x0+h;
y01=yn1;
y02=yn2;
y04=yn4;
error1=(abs(exp(x0)-yn1));
error2=(abs(exp(x0)-yn2));
error4=(abs(exp(x0)-yn4));
salida(i,1)=i;
salida(i,2)=yn1;
salida(i,3)=yn2;
salida(i,4)=yn4;
salida(i,5)=error1;
salida(i,6)=error2;
salida(i,7)=error4;
end
disp(' i
ynRK1
ynRK2
errRK1 errRK2
errRK4');
disp(num2str(salida));

ynRK4

en el que slo se cambi el valor de h y la funcin para los


valores de k1, k2, k22, k3, k4, error1, error2 y error4, por
las funciones de los PVI (9) y (10) que se muestran como
ecuacin diferencial ordinaria en la tabla 1.
Los errores se determinaron mediante la formula:

Se establecieron tres problemas de valor inicial siguiendo el


esquema de ecuaciones (1) para los cuales con el mtodo
Runge-Kutta de primer, segundo y cuarto orden mediante
el uso de las ecuaciones (2), (3) y (5) respectivamente, se
determin el error dado por la ecuacin (11) con un cdigo
fuente utilizando el software Matlab [5].
Los problemas de valor inicial son los siguientes:
y=ex,

en x[0,1],

con y(0)=1

(8)

y= 2x,

en x[0,1]

con y(0)=0

(9)

y=1 e - x,

en x[0,1],

con y(0)=1

(10)

El cdigo fuente utilizado para el PVI (1) fue el siguiente:


disp ('RUNGE-KUTTA ERRORES')
x0=0;
y01=1;
y02=1;
y04=1;
h=0.1;
limmax=1/h;

Error = | valor exacto valor numrico |

(11)

Los datos graficados fueron los errores obtenidos para la


evaluacin de la funcin en el punto final, para valores de h
desde 0.1 hasta 0.00001 en cada funcin, ya que con esta
cantidad de valores de h se aprecia el comportamiento.
Las soluciones analticas de las ecuaciones diferenciales
ordinarias, con las cuales se determin el valor exacto, se
muestran en la tabla 1.
Tabla1. PVI, Ecuaciones diferenciales ordinarias propuestas
y su solucin analtica (funcin) en el intervalo dado.
Ecuacin diferencial
Solucin
Intervalo
ordinaria
analtica
y = ex
y (x) = ex
x [0,1]
y = 2x
y (x) = x2
x [0,1]
y =1 e - x
y (x) = x + e - x
x [0,1]

3. RESULTADOS
Los valores exactos utilizados en la ecuacin (11) para las
soluciones analticas se muestran en la tabla 2. Los errores
de la ecuacin (11) determinados con los cdigos fuentes en
el software Matlab se muestran en las tablas 3, 4 y 5, para
los problemas de valor inicial (8), (9) y (10)
respectivamente.
Tabla 2. Valores exactos para las soluciones analticas.
Solucin analtica Punto en el que
Valor exacto
fue evaluado
y (x) = ex
x=1
2.718282
y (x) = x2
x=1
1.000000
y (x) = x + e x
x=1
1.367879
El comportamiento de los errores mostrados en las tablas 3
y 5 son similares, ya que en los problemas de valor inicial
(8) y (10) las funciones son similares, en la tabla 4 se
aprecia un comportamiento diferente del error, esto por la
funcin que representa cada tabla.
Tabla 3. Errores determinados para la ecuacin diferencial
ordinaria y=ex (PVI (8)) con distintos valores de h y
mtodo de Runge-Kutta de diferente orden.
h
error RK1
error RK2
error RK4
0.1
8.45E-02
1.43E-03
5.96E-08
0.01
8.58E-03
1.43E-05
5.96E-12
0.001
8.59E-04
1.43E-07
3.11E-15
0.0001
8.59E-05
1.43E-09
1.74E-13
0.00001
8.59E-06
1.87E-11
4.39E-12
En la tabla 3 los valores del error obtenidos por el mtodo
de Runge-Kutta de primer y segundo orden disminuyen
para todas los valores de h empleados, mientras que para
Runge-Kutta de cuarto orden para un valor de h de 0.001 se
tiene el mnimo error y si disminuimos el valor de h el error
aumenta. Se aprecia que para Runge-Kutta de primer orden
el error disminuye linealmente, para Runge-Kutta de
segundo orden el error disminuye en un orden cuadrtico y
para Runge-Kutta de cuarto orden el error disminuye en un
orden de cuatro hasta el valor de h de 0.001 y de aqu
comienza a subir en un orden aproximadamente lineal.
Tabla 4. Errores determinados para la ecuacin diferencial
ordinaria y=2x (PVI (9)) con distintos valores de h y
mtodo de Runge-Kutta de diferente orden.
h
error RK1
error RK2
error RK4
0.1
1.00E-01
2.22E-16
2.22E-16
0.01
1.00E-02
8.88E-16
8.88E-16
0.001
1.00E-03
1.11E-15
1.11E-15
0.0001
1.00E-04
1.08E-13
1.08E-13

0.00001

1.00E-05

3.18E-12

3.18E-12

El PVI (9) representado en la tabla 4 presenta un


comportamiento diferente a los PVI (8) y (10). En la tabla 4
el error que se obtuvo por el esquema de Runge-Kutta de
primer orden desciende linealmente al disminuir h.
Mientras que los errores obtenidos por los mtodos de
Runge-Kutta de segundo y cuarto orden tienen valores
prcticamente iguales y estos errores bajan muy poco al
pasar el valor de h de 0.1 a 0.01, pero al disminuir ms el
valor de h, el error se aumenta, es decir, para valores de h
igual o menor de 0.001 el error se incrementa.
Tabla 5. Errores determinados para la ecuacin diferencial
ordinaria y=1e x (PVI (10)) con los distintos valores de h
y mtodo de Runge-Kutta de diferente orden.
h
error RK1
error RK2
error RK4
0.1
3.21E-02
5.27E-04
2.19E-08
0.01
3.17E-03
5.27E-06
2.19E-12
0.001
3.16E-04
5.27E-08
2.66E-15
0.0001
3.16E-05
5.27E-10
3.51E-14
0.00001
3.16E-06
4.20E-12
1.09E-12
En la tabla 5, al igual que en la tabla 3, los valores de los
errores obtenidos por el mtodo de Runge-Kutta de primer
y segundo orden disminuyen para todas los valores de h
utilizados, mientras que para Runge-Kutta de cuarto orden
con un valor de h de 0.001 se tiene el error mnimo y si
disminuimos el valor de h el error aumenta. Se aprecia que
para Runge-Kutta de primer orden el error disminuye en un
orden de uno, para Runge-Kutta de segundo orden el error
disminuye en un orden cuadrtico y para Runge-Kutta de
cuarto orden el error disminuye en un orden de cuatro hasta
el valor de h de 0.001 y de aqu comienza a aumentar el
error linealmente para el esquema Runge-Kutta de cuarto
orden.
A continuacin se analizan las grficas obtenidas a partir de
las tablas 3, 4 y 5, a las cuales se les determin el log para
h, y el log para cada uno de los errores: error RK1, error
RK2 y error RK4 (que representan los errores para los
esquemas de Runge-Kutta de primer, segundo y cuarto
orden respectivamente), esto con el propsito de poder
apreciar de manera ms clara el comportamiento del error
calculado con la ecuacin (11).
En cada figura se muestra el comportamiento del error
comparando los tres esquemas (Runge-Kutta de primer,
segundo y cuarto orden) dentro de la misma grfica para
poder obtener mejores observaciones y conclusiones.

ERROR PARA y'=ex


0
0
-5

-10
log error RK1

RK2

RK4

-15
-20
- log h
x

Figura 1. Grfica de error para y=e .


En la figura 1 se puede ver que para el mtodo de RungeKutta de orden uno el error disminuye muy poco, siendo el
decremento del error con el mtodo de Runge-Kutta de
orden dos para el mismo problema de valor inicial (8), ms
acelerado, y para el mtodo de Runge-Kutta de orden
cuatro el decremento del error es aun mayor que para los
anteriores dos esquemas, pero slo hasta el valor de h de
0.001, porque para valores de h menores de 0.001 el error
comienza a aumentar considerablemente para este ltimo
esquema.
En la figura 1 tambin se aprecia que para un valor de h
igual a 0.00001 los errores determinados con los mtodos
de Runge-Kutta de segundo y cuarto orden son muy
similares, y se considera que en este caso es mejor utilizar
el mtodo de Runge-Kutta de segundo orden, ya que se
utilizan aproximadamente la mitad de clculos para llegar
al mismo grado de error.
En la figura 1 se observa claramente que son mejores los
mtodos de Runge-Kutta de segundo y cuarto orden por ser
su error mucho menor (mejor convergencia hacia el valor
real), sobre el mtodo de Runge-Kutta de primer orden para
valores de h entre 0.1 y 0.00001.

ERROR PARA y'= 2x


0
0
-5

6
RK1

log error -10

RK2

-15

RK4

-20
- log h
Figura 2. Grfica de error para y=2x.
En la figura 2 (que representa el problema de valor inicial
(9)) podemos apreciar que el error para el mtodo de
Runge-Kutta de primer orden disminuye linealmente y es
muy grande en comparacin con los errores obtenidos por

los mtodos de Runge-Kutta de orden dos y cuatro; adems


vemos que los errores obtenidos con los esquemas de
Runge-Kutta de orden dos y cuatro son prcticamente los
mismos.
En la figura 2 tambin se observa que mientras que para el
mtodo de Runge-Kutta de primer orden el error
disminuye, para los mtodos de Runge-Kutta de orden dos
y cuatro el error se incrementa conforme el valor de h se
disminuye.
Tenemos en la figura 2 que para valores pequeos de h (de
0.1 a 0.00001) son mejores los mtodos de Runge-Kutta de
segundo y cuarto orden por ser su error mucho menor,
sobre el mtodo de Runge-Kutta de orden uno, aunque si se
tiene un valor muy pequeo de h (menor de 0.00001) se
puede esperar que el error determinado por los mtodos de
Runge-Kutta de segundo y cuarto orden sea mayor que el
error obtenido con el esquema de Runge-Kutta de primer
orden, debido a la tendencia vista en la misma figura 2.
ERROR PARA y'= 1 - e - x
0
0
-5
log error RK1
-10

RK2

RK4

-15
-20
- log h
Figura 3. Grfica de error para y= 1 - e - x.
En la figura 3 podemos observar que con el mtodo de
Runge-Kutta de orden uno el error disminuye lentamente,
donde el decremento del error para el problema de valor
inicial (10) que nos representa la figura 3, es ms acelerado
con el mtodo de Runge-Kutta de segundo orden y
tomando el mtodo de Runge-Kutta de orden cuatro el
decremento del error es todava mayor que para los dos
mtodos anteriores, esto se puede ver hasta un valor de h de
0.001, porque para valores de h menores a 0.001 el error se
empieza a incrementar significativamente.
Adems en la figura 3 se aprecia que para un valor de h
igual a 0.1 con el mtodo de Runge-Kutta de cuarto orden y
un valor de h de 0.001 con el mtodo de Runge-Kutta de
segundo orden los errores determinados son muy similares
(del orden de 1.00E-8), se considera que en este caso es
mejor utilizar el mtodo de Runge-Kutta de segundo orden,
por que se utilizan aproximadamente la mitad de pasos para
llegar a un error semejante, que si se utiliza el mtodo de
Runge-Kutta de orden cuatro.
En la figura 3 se observa claramente que son mejores los
mtodos de Runge-Kutta de segundo y cuarto orden por ser

el error menor, comparado con el mtodo de Runge-Kutta


de primer orden.
4. CONCLUSIONES
En este trabajo estudiamos numricamente el orden de
convergencia de los esquemas explcitos de Runge-Kutta de
primer, segundo y cuarto orden. Los experimentos
numricos realizados, como era de esperarse nos ayudan a
entender prcticamente lo que es la convergencia del
mtodo.

En general se concluye que el esquema de Runge-Kutta de


cuarto orden tiene mayor convergencia que el de RungeKutta de segundo orden y estos dos esquemas tienen a su
vez mejor convergencia que el mtodo de Runge-Kutta de
primer orden conforme el valor de h disminuye, pero si h
tiende a cero (valores de h muy pequeos) se espera que la
convergencia disminuya primero para los mtodos RungeKutta de cuarto y segundo orden respectivamente sin dejar
de ser mejores que el esquema de Runge-Kutta de orden
uno.
REFERENCIAS

Para funciones similares a la forma y = e x, se concluye


que es mejor el esquema de Runge-Kutta de cuarto orden
sobre el esquema de Runge-Kutta de segundo orden para
valores de h pequeos, y estos dos mtodos son mejores
que el esquema de Runge-Kutta de primer orden. Para
valores muy pequeos de h la convergencia del esquema de
Runge-Kutta de segundo orden es mejor que el de orden
cuatro.
Para funciones de la forma y = k x, se tiene que los
esquema de Runge-Kutta de segundo y cuarto orden son
similares y con mejor convergencia que el mtodo de
Runge-Kutta de primer orden. Pero conforme h tiende a
cero, la convergencia con los mtodos de Runge-Kutta de
segundo y cuarto orden se decrementa significativamente,
mientras que el esquema de Runge-Kutta primer orden
aumenta su convergencia linealmente.

[1] Dennis G. Zill, Ecuaciones-Diferenciales, International


Thomson Editores, Sexta edicin, pgina 2, (2002).
[2] Collatz, El Tratamiento Numrico de las Ecuaciones
Diferenciales, Springer, Segunda edicin, pgina 14, (1982).
[3] Robert H. Perry, Manual del Ingeniero Qumico, Mc Graw
Hill, Sexta edicin, pgina 2-71, (1999).
[4] Antonio Nieves, Federico Domnguez, Mtodos Numricos
Aplicados a la Ingeniera, Ed. CECSA, Cuarta edicin,
(1997).
[5] Software Matlab, The MathWork Inc., versin 6.1, (2001).

You might also like