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)

 

METODO DE RUNGE-KUTTA

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:

  1. Son métodos de un paso; para determinar Yn+1 se necesita conocer únicamente los valores de Xn y Yn del punto anterior.
  2. No requieren evaluar ninguna derivada, sino únicamente valores de la función f(X, Y).

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