Método de
Runge -Kutta
INTRODUCCION
El método de Runge-Kutta es un refinamiento del método de Euler
La
solución de un problema de valores iniciales se obtiene generalmente paso a
paso por métodos de integración hacia adelante, lo que permite valuar Yi+1 tan pronto se
conozcan los valores Yi, Yi-1 de Y
en uno o más pivotes anteriores. El más simple de estos métodos, debido a Euler,
es aplicable a ecuaciones de primer orden y no requiere conocer la solución en
los pivotes anteriores.
Dado
el problema de valores iniciales

se
debe integrar la ecuación diferencial en el intervalo
y
evaluar la integral aplicando la fórmula de integración numérica:
|
|
|
(4) |

entonces
![]()
de
donde se obtiene la siguiente expresión aproximada llamada fórmula de Euler
|
Yi+1 = Yi + h f(Xi, Yi) |
|
(5) |
En la
introducción se estableció que el método de Euler para resolver la ecuación
diferencial de primer orden
|
Y' = f(X, Y)
|
|
(7) |
con
la condición inicial
|
Y(X0) = Y0 |
|
(8) |
consiste
en aplicar repetidamente la fórmula de recurrencia
|
Yn+1 = Yn + h f(Xn, Yn) donde n
= 1, 2, 3, ... |
|
(9) |
para
determinar la solución de la ecuación diferencial en
X = X1, X2, X3, ...
Sustituyendo
la función f(X,Y) dada en (7), en (9), se tiene que
|
Yn+1 = Yn + h Y'n |
|
(10) |
expresión
que indica que el método de Euler consiste gráficamente, en ir de un valor Yn conocido de
la solución de la ecuación diferencial (7) en un punto, al siguiente por medio
de la tangente T1 a la curva
integral Y = Y(X) en el mismo punto de la solución conocida, como se
muestra en la siguiente figura.
|
|
De
este planteamiento gráfico puede verse que una mejor aproximación a la solución
de la ecuación diferencial se obtendría si en vez de ir por la tangente T1 para determinar
la solución en el siguiente Punto Pivote, se utiliza una secante con
pendiente igual al promedio de pendientes de la curva integral en los puntos
coordenados (Xn, Yn), (Xn+1, Yn+1) en donde Xn+1 y Yn+1 pueden
estimarse con el procedimiento normal de Euler, como se muestra en la siguiente
gráfica:
|
|
Con
lo anterior se obtendría un método mejorado de Euler con error del orden de
definido
por la expresión
|
|
|
(11) |
en
donde f(Xn+1, Yn+1) es el valor
de la función f(X, Y) para:
X = Xn+1
Y = Yn + h f(Xn, Yn)
Observando
las expresiones para resolver la ecuación diferencial, puede decirse que ambas
consisten en aplicar la fórmula de recurrencia
|
|
|
(12) |
en
donde
|
|
|
(13) |
en el
método de Euler y
|
|
|
(14) |
en lo
que
|
Y' = f(X, Y)
|
|
(15) |
en el
método de Euler Mejorado.
Como
se ve, estos métodos tienen los siguientes puntos en común:
Estas
características dan origen a una gran variedad de métodos conocidos como de Runge-Kutta.
La diferencia entre ellos cosiste en la forma como se define la función
que
aparece en la expresión (12).
METODO DE RUNGE-KUTTA DE 4TO
ORDEN
Para
resolver ecuaciones diferenciales ordinarias de primer orden con error del
orden de
,
de uso tan frecuente que en la literatura sobre métodos numéricos se le llama
el Método de Runge-Kutta de 4to orden, se dará a conocer sin demostrar y
consiste en aplicar la ecuación de recurrencia (12) en donde la función
está
dada por la expresión:
*y i +1(x i +1) = y i +{ h /6 *[K1 +(2 * K2)
+(2 * K3) + K4] } (16)
en el cual:
* K1 =f [x i, y i]
* K2 =f [x i +(h /2), y i +(h *K1 /2)]
* K3 =f [x i +(h /2), y i +(h *K2 /2)]
* K4 =f [x i +h, y i +(h *K3)]
La
ecuación (16) se obtiene haciendo un promedio de las cuatro pendientes, K1, K2, K3 y K4 a la curva integral, en forma semejante a como se procedió
con las pendientes de las tangentes T1 y T2 que dieron
lugar a (11).
EJEMPLO:
Determine
y (0.5) utilizando el método de Runge-Kutta de cuarto orden, en el intervalo de
interés [0, 0.5], en 5 intervalos.
PVI {
y’ =4e0.8x – 0.5y ; y(0)
=2 ; y(0.5) =? }
h
=0.5 – 0 / 5 h =0.1
por
lo tanto x0 =0, x1 =0.1, x2 =0.3, x4 =0.4, x5 =0.5
ITERACIÓN
I i =0 ; x0 =0 ; y0 =2
K1 =f [0, 2] =4e(0.8*0) – (0.5 * 2)
K1 =3
K2 =f [0 +0.1/2, 2 +(0.1 *3) /2] =f [0.05, 2.15] =4e(0.8*0.05)
–
(0.5 * 2.15)
K2 =3.088243
K3 =f [0
+0.1/2, 2 +(0.1 *3.088243) /2] =f [0.05, 2.154412]
K3 =4e(0.8*0.05)
–
(0.5 * 2.154412)
K3 =3.086037
K4 =f [0
+0.1, 2 +(0.1 *3.086037)] =f [0.1, 2.308603]
K4 =4e(0.8*0.1) – (0.5 * 2.308603)
K4 =3.178846
y1(0.1)
=2 +{0.1 /6 [3 +(2 *3.088243) +(2 *3.086037) +3.178846]}
y1(0.1)
=2.308790
ITERACIÓN
II i =1 ; x1 =0.1 ; y1 =2.308790
K1 =f [0.1, 2.308790] =4e(0.8*0.1)
–
(0.5 * 2.308790)
K1
=3.178753
K2 =f [0.1
+0.1/2, 2.308790 +(0.1 *3.178753) /2] =f [0.15, 2.467727]
K2 =4e(0.8*0.15)
–
(0.5 * 2.467727)
K2
=3.276123
K3 =f [0.1
+0.1/2, 2.308790 +(0.1 *3.276123) /2] =f [0.15, 2.472596]
K3 =4e(0.8*0.15)
–
(0.5 * 2.472596)
K3 =3.273689
K4 =f [0.1 +0.1, 2.308790 +(0.1 *3.273689)] =f [0.2, 2.636158]
K4 =4e(0.8*0.2) – (0.5 * 2.636158)
K4 =3.375964
y2(0.2)
=2.308790 +{0.1 /6 [3.178753 +(2 *3.276123) +(2 *3.273689) +3.375964]}
y2(0.2)
=2.636362
ITERACIÓN
III i =2 ; x2 =0.2 ; y2 =2.636362
K1 =f [0.2, 2.636362] =4e(0.8*0.2)
–
(0.5 * 2.636362)
K1
=3.375862
K2 =f [0.2 +0.1/2, 2.6366362 +(0.1 *3.375862) /2] =f [0.25,
2.805155]
K2 =4e(0.8*0.25)
–
(0.5 * 2.805155)
K2 =3.483033
K3 =f [0.2
+0.1/2, 2.636362 +(0.1 *3.483033) /2] =f [0.25, 2.810513]
K3 =4e(0.8*0.25)
–
(0.5 * 2.810513)
K3 =3.480354
K4 =f [0.2
+0.1, 2.636362 +(0.1 *3.480354)] =f [0.3, 2.984397]
K4 =4e(0.8*0.3) – (0.5 * 2.984397)
K4 =3.592798
y3(0.3) =2.636362 +{0.1 /6 [3.375862 +(2 *3.483033) +(2
*3.480354) +3.592798]}
y2(0.3) =2.984619
ITERACIÓN
IV i =3 ; x3 =0.3 ; y3 =2.984619
K1 =f [0.3, 2.984619] =4e(0.8*0.3)
–
(0.5 * 2.984619)
K1
=3.592687
K2 =f [0.3 +0.1/2, 2.984619 +(0.1 *3.592687) /2] =f [0.35,
3.164253]
K2 =4e(0.8*0.35)
–
(0.5 * 3.164253)
K2 =3.710392
K3 =f [0.3
+0.1/2, 2.984619 +(0.1 *3.710392) /2] =f [0.35, 3.170138]
K3 =4e(0.8*0.35)
–
(0.5 * 3.170138)
K3 =3.707450
K4 =f [0.3
+0.1, 2.984619 +(0.1 *3.707450)] =f [0.4, 3.355364]
K4 =4e(0.8*0.4) – (0.5 * 3.355364)
K4 =3.830829
y4(0.4) =2.984619 +{0.1 /6 [3.592687 +(2 *3.710392) +(2
*3.707450) +3.830829]}
y2(0.4) =3.355606
ITERACIÓN
V i =4 ; x4 =0.4 ; y4 =3.355606
K1 =f [0.4, 3.355606] =4e(0.8*0.4)
–
(0.5 * 3.355606)
K1 =3.830708
K2 =f [0.4 +0.1/2, 3.355606 +(0.1 *3.830708) /2] =f [0.45,
3.547141]
K2 =4e(0.8*0.45)
–
(0.5 * 3.547141)
K2 =3.959747
K3 =f [0.4
+0.1/2, 3.355606 +(0.1 *3.959747) /2] =f [0.45, 3.553593]
K3 =4e(0.8*0.45)
–
(0.5 * 3.553593)
K3 =3.956521
K4 =f [0.4
+0.1, 3.355606 +(0.1 *3.956521)] =f [0.5, 3.751258]
K4 =4e(0.8*0.5) – (0.5 * 3.751258)
K4 =4.091669
y5(0.5) =3.355606 +{0.1 /6 [3.830708 +(2 *3.959747) +(2
*3.956521) +4.091669]}
La
solución requerida es y5(0.5) =3.751521