Está en la página 1de 5

Marco teórico

Solución de Ecuaciones diferenciales por método de Runge-Kutta


Los métodos de Runge-Kutta son un conjunto de métodos iterativos (implícitos y explícitos) para la
aproximación de soluciones de ecuaciones diferenciales ordinarias, concretamente, del problema
de valor inicial.

𝑦 ′ = 𝑓(𝑥, 𝑦)
Sea =>
𝑦(𝑥0 ) = 𝑦0

La idea general de los Métodos de Runge-Kutta es sustituir el Problema de Valor Inicial en la


ecuación integral equivalente:
𝒚 𝒙 𝒙
∫ 𝑑𝑦 = ∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ⟹ 𝑦 = 𝑦0 + ∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥
𝑦0 𝑥0 𝑥0

Los métodos de Runge—Kutta se basan en obtener aproximaciones de la integral


𝒙
∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥
𝑥0

Para proceder a aproximar esta última integral mediante un método numérico adecuado
(Recordemos que y(x) es desconocida). Si nuevamente planteamos el problema tendremos:

𝑥𝑛+1
𝑦𝑛+1 = 𝑦𝑛 + ∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥
𝑥𝑛

 Método de Runge-Kutta de primer orden


Para el método de Runge-Kutta de primer orden se aplica la integración mediante el
método de los rectángulos a este método de igual forma se le conoce como el método de
Euler
𝑥𝑛+1
∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ≈ ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )
𝑥𝑛
Entonces obtenemos

𝑦𝑛+1 = 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )

 Método de Runge-Kutta de segundo orden


La segunda opción que podemos aplicar es integrar mediante el método de los trapecios, a
este método también se le conoce por método de Euler Mejorado, es decir tomando:

𝑥𝑛+1
1
∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ≈ ℎ[𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )]
𝑥𝑛 2
Al ser desconocida 𝑦𝑛+1 en la expresión anterior, lo aproximaremos por 𝑦̅𝑛+1 , donde
𝑦̅𝑛+1 es la estimación de 𝑦𝑛+1 que resultaría aplicando el método de Euler. Tendremos
así:
𝑥𝑛+1
1
∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ≈ ℎ[𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓(𝑥𝑛+1 , 𝑦̅𝑛+1 )]
𝑥𝑛 2

𝑑𝑜𝑛𝑑𝑒 ∶ 𝑦̅𝑛+1 = 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )

Es así como obtenemos la expresión para el método de RK de segundo orden


𝑦𝑛+1 = 𝑦𝑛 + [𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓(𝑥𝑛+1 , 𝑦̅𝑛+1 )]
2
Una forma alternativa es presentar el método dela siguiente forma

𝑘1 = ℎ𝑓(𝑥𝑛 , 𝑦𝑛 ) ; 𝑘2 = ℎ𝑓(𝑥𝑛+1 , 𝑦𝑛 + 𝑘1 )

1
𝑦𝑛+1 = 𝑦𝑛 + [𝑘1 + 𝑘2 ]
2
El error local es también proporcional a ℎ3 y, por tanto, el global lo es a ℎ2 .

 Método de Runge-Kutta de tercer orden


Se trata de aplicar la misma idea pero el método de Simpson 1/3 para la resolución
de la integral, entonces tenemos.
𝑥𝑛+1

∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ≈ 2 [𝑓(𝑥𝑛 , 𝑦𝑛 ) + 4𝑓 (𝑥𝑛+1 , 𝑦̅𝑛+1 ) + 𝑓(𝑥𝑛+1 , 𝑦̅𝑛+1 )]
𝑥𝑛 3 2 2

Donde 𝑦̅𝑛+1 𝑒 𝑦̅𝑛+1 son estimaciones, puesto que𝑦̅𝑛+1 𝑒 𝑦̅𝑛+1 no son conocidos. La
2 2
estimación de 𝑦̅𝑛+1 se realiza aplicando el método de Euler
2

𝑦̅𝑛+1 = 𝑦𝑛 + 𝑓(𝑥𝑛 , 𝑦𝑛 )
2 2
Mientras que la estimación de 𝑦̅𝑛+1 se pueden considerar varias opciones, por ejemplo:

𝑦̅𝑛+1 = 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )

𝑦̅𝑛+1 = 𝑦𝑛 + ℎ𝑓 (𝑥𝑛+1 , 𝑦̅𝑛+1 )


2 2

𝑦̅𝑛+1 = 𝑦𝑛 + ℎ [2𝑓 (𝑥𝑛+1 , 𝑦̅𝑛+1 ) − 𝑓(𝑥𝑛 , 𝑦𝑛 )]


2 2
Podemos entonces resumir el Método de Runge-Kutta de tercer orden en la forma:

ℎ 1
𝒌𝟏 = ℎ𝑓(𝑥𝑛 , 𝑦𝑛 ) ; 𝒌𝟐 = ℎ𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘1 ) ; 𝒌𝟑 = ℎ𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 − 𝑘1 + 2𝑘2 )
2 2
Es así como obtenemos la expresión para el método de RK de segundo orden

1
𝑦𝑛+1 = 𝑦𝑛 + [𝑘1 + 4𝑘2 + 𝑘3 ]
6
Finalmente, añadir que el error local en el Método de tercer orden es proporcional a ℎ4 y en consecuencia el
global lo es a ℎ3 .

 Método de Runge-Kutta de cuarto orden


Los Métodos de Runge-Kutta de cuarto orden se deducen de una manera similar a la
expuesta en la sección anterior para el caso de tercer orden. Ahora se introduce un nuevo
paso intermedio en la evaluación de la derivada

𝑥𝑛+1

ℎ 1 ℎ 1
∫ 𝑓(𝑥, 𝑦(𝑥))𝑑𝑥 ≈ 2 [𝑓(𝑥𝑛 , 𝑦𝑛 ) + 2𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘1 ) + 2𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘2 ) + 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + 𝑘
𝑥𝑛 3 2 2 2 2

Obteniendo así la expresión general para el método de RK de cuarto orden

𝑘1 = ℎ 𝑓(𝑥𝑛 , 𝑦𝑛 )
ℎ ℎ
𝑘2 = ℎ 𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘1 )
2 2
ℎ ℎ
𝑘3 = ℎ 𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘2 )
2 2
𝑘4 = ℎ 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + ℎ𝑘3 )
1
𝑦𝑛+1 = 𝑦𝑛 + [𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ]
6
Al igual que el método de tercer orden está basado en el método de iteración de Simpson. Los errores local y
global son en este caso proporcionales a ℎ5 y ℎ4 respectivamente.

Ejemplo:
Resolver por un método de Runge-Kutta de cuarto orden el problema de valor inicial:

𝑦 ′ = 𝑥 2 − 3𝑦 ; 𝑦(0) = 1
En el intervalo 0 ≤ x ≤ 0.4, con h = 0.1.
Tenemos que 𝑥0 = 0 , 𝑦0 = 1 𝑦 𝑓(𝑥, 𝑦) = 𝑥 2 − 3𝑦. 𝑃𝑎𝑟𝑎 𝑥1 = 0, 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑙𝑎 𝑦1

0.1
𝑦1 = 1 + [𝑘 + 2𝑘2 + 2𝑘3 + 𝑘4 ]
6 1
Con
𝑘1 = 𝑓(𝑥0 , 𝑦0 ) = 02 − 3 = −3

ℎ ℎ 0.1 2 0.1
𝑘2 = 𝑓 (𝑥0 + , 𝑦0 + 𝑘1 ) = (0 + ) − 3 (1 + (−3)) = −2.5475
2 2 2 2
ℎ ℎ 0.1 2 0.1
𝑘3 = 𝑓 (𝑥0 + , 𝑦0 + 𝑘2 ) = (0 + ) − 3 (1 + (−2.5475)) = −2.61538
2 2 2 2
ℎ ℎ 0.1 2 0.1
𝑘4 = 𝑓 (𝑥0 + , 𝑦0 + 𝑘3 ) = (0 + ) − 3 (1 + (−2.61538)) = −2.20539
2 2 2 2

∴ 𝑦1 = 0.741148
De la misma forma se calculan los siguientes puntos
(𝑥2 , 𝑦2 ) = (0.2, 0.551151) ; (𝑥3 , 𝑦3 ) = (0.3, 0.413894) ; (𝑥4 , 𝑦4 ) = (0.4, 0.317435)

Analíticamente se obtiene la solución de la ecuación diferencial

25 −3𝑥 1 2 2 2
𝑦= 𝑒 + (𝑥 − 𝑥 + )
27 3 3 9

Y sustituyendo valores obtenemos

𝑦(0.1) = 0.741127 ; 𝑦(0.2) = 0.551121 ; 𝑦(0.3) = 0.413860 ; 𝑦(0.4) = 0.317402

Como observamos los resultados obtenidos de manera numérica son aproximados a los
obtenidos con la solución exacta

Solución de Sistemas de Ecuaciones diferenciales por método de Runge-Kutta

Los métodos de Runge-Kutta que hemos planteado se aplican de manera sencilla a sistemas de
ecuaciones de primer orden, y, en consecuencia, a ecuaciones de orden superior al primero.

𝑑𝑥
𝑑𝑡
= 𝑓(𝑡, 𝑥, 𝑦)
𝑑𝑦
Sea => 𝑑𝑡
= 𝑔(𝑡, 𝑥, 𝑦)
𝑥(0) = 𝑥0
{ (0) = 𝑦0
𝑦

Tomando en cuenta el método de Runge-Kutta de primer orden obtendríamos las


expresiones
𝑡𝑛+1 = 𝑡𝑛 + ℎ

𝑥𝑛+1 = 𝑥𝑛 + ℎ𝑓(𝑡𝑛 , 𝑥𝑛 , 𝑦𝑛 )

𝑦𝑛+1 = 𝑦𝑛 + ℎ𝑓(𝑡𝑛 , 𝑥𝑛 , 𝑦𝑛 )

De la misma forma podríamos obtener las expresiones para los diferentes órdenes del
método
Como ejemplo realizaremos el planteamiento de cómo sería un método de Runge-Kutta de cuarto
orden a un sistema de ecuaciones, siendo extensible dicho planteamiento a otros métodos y por
supuesto a otro tipo de sistemas.
𝑑𝑥
= −4𝑥 + 3𝑦 + 6
Sea { 𝑑𝑡
𝑑𝑦
= −2𝑥 + 𝑦 + 3
𝑑𝑡
Con las condiciones iniciales: x (0) = y (0) = 0 por un método de Runge-Kutta de cuarto orden

𝑡0 = 0 ; 𝑥0 = 𝑦0 = 0
ℎ ℎ
𝑥1 = 𝑥0 + [𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ] ; 𝑦1 = 𝑦0 + [𝑙1 + 2𝑙2 + 2𝑙3 + 𝑙4 ]
6 6

𝑘1 = 𝑓(𝑡0 , 𝑥0 , 𝑦0 ) = −4𝑥0 + 3𝑦0 + 6 ; 𝑙1 = 𝑔(𝑡0 , 𝑥0 , 𝑦0 ) = −2𝑥0 + 𝑦0 + 3

ℎ ℎ𝑘1 ℎ𝑙1 ℎ ℎ𝑘1 ℎ𝑙1


𝑘2 = 𝑓 (𝑡0 + , 𝑥0 + , 𝑦0 + ) ; 𝑙2 = 𝑔 (𝑡0 + , 𝑥0 + , 𝑦0 + )
2 2 2 2 2 2

ℎ ℎ𝑘2 ℎ𝑙2 ℎ ℎ𝑘2 ℎ𝑙2


𝑘3 = 𝑓 (𝑡0 + , 𝑥0 + , 𝑦0 + ) ; 𝑙3 = 𝑔 (𝑡0 + , 𝑥0 + , 𝑦0 + )
2 2 2 2 2 2
𝑘4 = 𝑓(𝑡0 + ℎ, 𝑥0 + ℎ𝑘3 , 𝑦0 + ℎ𝑙3 ) ; 𝑙4 = 𝑔(𝑡0 + ℎ, 𝑥0 + ℎ𝑘3 , 𝑦0 + ℎ𝑙3 )
De esta forma es como se construirían los términos para el método de cuarto orden

También podría gustarte