0% encontró este documento útil (0 votos)
22 vistas29 páginas

Ecuaciones Diferenciales y Método Runge-Kutta

Este documento presenta el método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de primer orden. Explica cómo calcular las constantes k1, k2, k3 y k4 y realizar las iteraciones para obtener la solución numérica aproximada en diferentes puntos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas29 páginas

Ecuaciones Diferenciales y Método Runge-Kutta

Este documento presenta el método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de primer orden. Explica cómo calcular las constantes k1, k2, k3 y k4 y realizar las iteraciones para obtener la solución numérica aproximada en diferentes puntos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ingeniero en Computación

 El problema con condiciones iniciales de una


ecuación diferencial ordinaria se escribe
como:
𝑦𝑦 ′ 𝑡𝑡 = 𝑓𝑓 𝑦𝑦, 𝑡𝑡

 Con la condición inicial 𝑦𝑦 𝑡𝑡0 = 𝑦𝑦0


 Calcula constantes para aproximar un
polinomio de Taylor de cuarto grado:
1
𝑦𝑦𝑘𝑘+1 = 𝑦𝑦𝑘𝑘 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6
 Donde:
 𝑘𝑘1 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 , 𝑡𝑡𝑘𝑘 )
 𝑘𝑘2 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 12𝑘𝑘1 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑘𝑘3 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 12𝑘𝑘2 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑘𝑘4 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 𝑘𝑘3 , 𝑡𝑡𝑘𝑘 + ℎ)
 Resolver la siguiente ecuación, con 𝑦𝑦 0 = 5,
con ℎ = 0.01 y para 0 < 𝑡𝑡 ≤ 0.09:
𝑡𝑡

𝑦𝑦 ′ 𝑡𝑡 = −20𝑦𝑦 + 7𝑒𝑒 2

 Se calcula la cantidad de iteraciones:


𝑡𝑡𝑛𝑛 0.09
𝑛𝑛 = = =9
ℎ 0.01
1
𝑦𝑦1 = 𝑦𝑦0 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6

 Donde 𝑡𝑡0 = 0 y 𝑦𝑦0 = 5


 𝑘𝑘1 = ℎ𝑓𝑓(𝑦𝑦0 , 𝑡𝑡0 )
 𝑘𝑘2 = ℎ𝑓𝑓(𝑦𝑦0 + 12𝑘𝑘1 , 𝑡𝑡0 + 12ℎ)
 𝑘𝑘3 = ℎ𝑓𝑓(𝑦𝑦0 + 12𝑘𝑘2 , 𝑡𝑡0 + 12ℎ)
 𝑘𝑘4 = ℎ𝑓𝑓(𝑦𝑦0 + 𝑘𝑘3 , 𝑡𝑡0 + ℎ)
1
𝑦𝑦1 = 𝑦𝑦0 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6
 Donde:
0
−2
 𝑘𝑘1 = 0.01 −20 5 + 7𝑒𝑒 = −0.93
0.005
− 2
 𝑘𝑘2 = 0.01 −20 4.53 + 7𝑒𝑒 = −0.83
0.005
− 2
 𝑘𝑘3 = 0.01 −20 4.58 + 7𝑒𝑒 = −0.84
0.01
 𝑘𝑘4 = 0.01 −20 4.16 + 7𝑒𝑒 − 2 = −0.76
1
𝑦𝑦1 = 5 − (0.93 + 2(0.83) + 2(0.84) + 0.76)
6

 Realizando las operaciones se obtiene


𝑦𝑦1 = 4.15
1
𝑦𝑦2 = 𝑦𝑦1 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6

 Donde 𝑡𝑡1 = 0.01 y 𝑦𝑦1 = 4.15


 𝑘𝑘1 = ℎ𝑓𝑓(𝑦𝑦1 , 𝑡𝑡1 )
 𝑘𝑘2 = ℎ𝑓𝑓(𝑦𝑦1 + 12𝑘𝑘1 , 𝑡𝑡1 + 12ℎ)
 𝑘𝑘3 = ℎ𝑓𝑓(𝑦𝑦1 + 12𝑘𝑘2 , 𝑡𝑡1 + 12ℎ)
 𝑘𝑘4 = ℎ𝑓𝑓(𝑦𝑦1 + 𝑘𝑘3 , 𝑡𝑡1 + ℎ)
1
𝑦𝑦2 = 𝑦𝑦1 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6
 Donde:
0.01
− 2
 𝑘𝑘1 = 0.01 −20 4.15 + 7𝑒𝑒 = −0.76
0.015
− 2
 𝑘𝑘2 = 0.01 −20 3.78 + 7𝑒𝑒 = −0.68
0.015
− 2
 𝑘𝑘3 = 0.01 −20 3.81 + 7𝑒𝑒 = −0.69
0.02
 𝑘𝑘4 = 0.01 −20 3.47 + 7𝑒𝑒 − 2 = −0.62
1
𝑦𝑦2 = 4.15 − (0.76 + 2(0.68) + 2(0.69) + 0.62)
6

 Realizando las operaciones se obtiene


𝑦𝑦2 = 3.46
 La solución analítica de la ecuación
diferencial es:
1 −
𝑡𝑡
𝑦𝑦 𝑡𝑡 = (14𝑒𝑒 2 + 181𝑒𝑒 −20𝑡𝑡 )
39

 Se evalúa en el mismo intervalo de valores y


se compara con el método de Runge-Kutta
𝒕𝒕𝒌𝒌 𝒚𝒚𝒌𝒌 𝒚𝒚∗𝒌𝒌 Error abs
0.01 4.15 4.15 0%
0.02 3.46 3.46 0%
0.03 2.90 2.90 0%
0.04 2.43 2.43 0%
0.05 2.05 2.05 0%
0.06 1.74 1.74 0%
0.07 1.49 1.49 0%
0.08 1.28 1.28 0%
0.09 1.11 1.11 0%
 Resolver la siguiente ecuación, con 𝑦𝑦 0 = 2,
con ℎ = 0.05 y para 0 < 𝑡𝑡 ≤ 1:
𝑦𝑦 ′ 𝑡𝑡 = 4𝑡𝑡 − 2𝑦𝑦
 Considérese un conjunto de ecuaciones
diferenciales:
𝑦𝑦 ′ 𝑡𝑡 = 𝑓𝑓 𝑦𝑦, 𝑧𝑧, 𝑡𝑡 , 𝑦𝑦 𝑡𝑡0 = 𝑦𝑦0
𝑧𝑧 ′ 𝑡𝑡 = 𝑔𝑔 𝑦𝑦, 𝑧𝑧, 𝑡𝑡 , 𝑧𝑧 𝑡𝑡0 = 𝑧𝑧0
 El de Runge-Kutta se escribe como:
1
𝑦𝑦𝑘𝑘+1 = 𝑦𝑦𝑘𝑘 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6
1
𝑧𝑧𝑘𝑘+1 = 𝑧𝑧𝑘𝑘 + (𝑚𝑚1 + 2𝑚𝑚2 + 2𝑚𝑚3 + 𝑚𝑚4 )
6
 Donde:
 𝑘𝑘1 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 , 𝑧𝑧𝑘𝑘 , 𝑡𝑡𝑘𝑘 )
 𝑘𝑘2 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 12𝑘𝑘1 , 𝑧𝑧𝑘𝑘 + 12𝑚𝑚1 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑘𝑘3 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 12𝑘𝑘2 , 𝑧𝑧𝑘𝑘 + 12𝑚𝑚2 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑘𝑘4 = ℎ𝑓𝑓(𝑦𝑦𝑘𝑘 + 𝑘𝑘3 , 𝑧𝑧𝑘𝑘 + 𝑚𝑚3 , 𝑡𝑡𝑘𝑘 + ℎ)
 Donde:
 𝑚𝑚1 = ℎ𝑔𝑔(𝑦𝑦𝑘𝑘 , 𝑧𝑧𝑘𝑘 , 𝑡𝑡𝑘𝑘 )
 𝑚𝑚2 = ℎ𝑔𝑔(𝑦𝑦𝑘𝑘 + 12𝑘𝑘1 , 𝑧𝑧𝑘𝑘 + 12𝑚𝑚1 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑚𝑚3 = ℎ𝑔𝑔(𝑦𝑦𝑘𝑘 + 12𝑘𝑘2 , 𝑧𝑧𝑘𝑘 + 12𝑚𝑚2 , 𝑡𝑡𝑘𝑘 + 12ℎ)
 𝑚𝑚4 = ℎ𝑔𝑔(𝑦𝑦𝑘𝑘 + 𝑘𝑘3 , 𝑧𝑧𝑘𝑘 + 𝑚𝑚3 , 𝑡𝑡𝑘𝑘 + ℎ)
 Resolver el siguiente sistema:
𝑦𝑦 ′ 𝑡𝑡 = 𝑧𝑧(𝑡𝑡)
𝑧𝑧 ′ 𝑡𝑡 = −𝑦𝑦(𝑡𝑡)
 En donde 𝑦𝑦 0 = 1 y 𝑧𝑧 0 = 0, para ℎ = 0.05
y en el intervalo 0 < 𝑡𝑡 ≤ 1.3

 En este caso:
 𝑓𝑓 𝑦𝑦, 𝑧𝑧, 𝑡𝑡 = 𝑧𝑧(𝑡𝑡)
 𝑔𝑔 𝑦𝑦, 𝑧𝑧, 𝑡𝑡 = −𝑦𝑦(𝑡𝑡)
1
𝑦𝑦1 = 𝑦𝑦0 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )
6
1
𝑧𝑧1 = 𝑧𝑧0 + (𝑚𝑚1 + 2𝑚𝑚2 + 2𝑚𝑚3 + 𝑚𝑚4 )
6

 El calculo de las k’s y de las m’s debe ir de


forma alternada
𝑘𝑘1 = ℎ𝑓𝑓(𝑦𝑦0 , 𝑧𝑧0 , 𝑡𝑡0 )
𝑚𝑚1 = ℎ𝑔𝑔(𝑦𝑦0 , 𝑧𝑧0 , 𝑡𝑡0 )
 Sabemos que 𝑦𝑦0 = 1, 𝑧𝑧0 = 0 y 𝑡𝑡0 = 0:
𝑘𝑘1 = 0.05𝑓𝑓(1,0,0)
𝑚𝑚1 = 0.05𝑔𝑔(1,0,0)

𝑘𝑘1 = 0.05 × 0 = 0
𝑚𝑚1 = 0.05 × −1 = −0.05
1 1 1
𝑘𝑘2 = ℎ𝑓𝑓(𝑦𝑦0 + 2𝑘𝑘1 , 𝑧𝑧0 + 2𝑚𝑚1 , 𝑡𝑡0 + 2ℎ)
1 1 1
𝑚𝑚2 = ℎ𝑔𝑔(𝑦𝑦0 + 2𝑘𝑘1 , 𝑧𝑧0 + 2𝑚𝑚1 , 𝑡𝑡0 + 2ℎ)

𝑘𝑘2 = ℎ𝑓𝑓(1, −0.025,0.025)


𝑚𝑚2 = ℎ𝑔𝑔(1, −0.025,0.025)

𝑘𝑘2 = 0.05 × −0.025 = −0.00125


𝑚𝑚2 = 0.05 × −1 = −0.05
1 1 1
𝑘𝑘3 = ℎ𝑓𝑓(𝑦𝑦0 + 2𝑘𝑘2 , 𝑧𝑧0 + 2𝑚𝑚2 , 𝑡𝑡0 + 2ℎ)
1 1 1
𝑚𝑚3 = ℎ𝑔𝑔(𝑦𝑦0 + 2𝑘𝑘2 , 𝑧𝑧0 + 2𝑚𝑚2 , 𝑡𝑡0 + 2ℎ)

𝑘𝑘3 = ℎ𝑓𝑓(0.999375, −0.025,0.025)


𝑚𝑚3 = ℎ𝑔𝑔(0.999375, −0.025,0.025)

𝑘𝑘3 = 0.05 × −0.025 = −0.00125


𝑚𝑚3 = 0.05 × −0.999375 = −0.0499
𝑘𝑘4 = ℎ𝑓𝑓(𝑦𝑦0 + 𝑘𝑘3 , 𝑧𝑧0 + 𝑚𝑚3 , 𝑡𝑡0 + ℎ)
𝑚𝑚4 = ℎ𝑔𝑔(𝑦𝑦0 + 𝑘𝑘3 , 𝑧𝑧0 + 𝑚𝑚3 , 𝑡𝑡0 + ℎ)

𝑘𝑘4 = ℎ𝑓𝑓(0.9987, −0.0499,0.05)


𝑚𝑚4 = ℎ𝑔𝑔(0.9987, −0.0499,0.05)

𝑘𝑘4 = 0.05 × −0.0499 = −0.0024


𝑚𝑚4 = 0.05 × −0.9987 = −0.0499
1
𝑦𝑦1 = 1 + (0 + 2 −0.00125 + 2 −0.00125 − 0.0024)
6
𝑦𝑦1 = 0.9987

1
𝑧𝑧1 = 0 + (−0.05 + 2 −0.05 + 2 −0.0499 − 0.0499)
6
𝑧𝑧1 = −0.0166
 La solución analítica del sistema de
ecuaciones es:
𝑦𝑦 𝑡𝑡 = cos 𝑡𝑡
𝑧𝑧 𝑡𝑡 = − sen 𝑡𝑡

 Se evalúa en el mismo intervalo de valores y


se compara con el método de Runge-Kutta.
𝒕𝒕𝒌𝒌 𝒚𝒚𝒌𝒌 𝒚𝒚∗𝒌𝒌 Error 𝒚𝒚𝒌𝒌 𝒛𝒛𝒌𝒌 𝒛𝒛𝒌𝒌∗ Error 𝒛𝒛𝒌𝒌
0.1 0.9950 0.9950 0% -0.0998 -0.0998 0%
0.2 0.9801 0.9803 0.02% -0.1987 -0.1986 0.05%
0.3 0.9553 0.9566 0.13% -0.2955 -0.2955 0%
0.4 0.9211 0.9251 0.43% -0.3894 -0.3894 0%
0.5 0.8776 0.8872 1.08% -0.4794 -0.4794 0%
0.6 0.8253 0.8447 2.29% -0.5646 -0.5646 0%
0.7 0.7648 0.7995 4.34% -0.6442 -0.6442 0%
0.8 0.6967 0.7535 7.53% -0.7174 -0.7173 0.01%
0.9 0.6216 0.7085 12.26% -0.7833 -0.7833 0%
1.0 0.5403 0.6663 18.91% -0.8415 -0.8414 0.01%
 Resolver el siguiente sistema:
1 ′ 3
𝑦𝑦 ′′ 𝑡𝑡 − 20 𝑦𝑦 𝑡𝑡 + 20 𝑦𝑦 𝑡𝑡 = 0

 Con ℎ = 0.025, y 0 < 𝑡𝑡 ≤ 3, para 𝑦𝑦 ′ 0 = 0,


𝑦𝑦 0 = 1. Haciendo el cambio de variable se
tiene:
𝑦𝑦 ′ 𝑡𝑡 = 𝑧𝑧(𝑡𝑡)
1 3
𝑧𝑧 ′ 𝑡𝑡 = 20 𝑧𝑧 𝑡𝑡 − 20 𝑦𝑦 𝑡𝑡
 El movimiento de un sistema masa – resorte
– amortiguador se describe con la función
𝑚𝑚𝑦𝑦 ′′ 𝑡𝑡 + 𝑏𝑏𝑦𝑦 ′ 𝑡𝑡 + 𝑘𝑘𝑘𝑘 𝑡𝑡 = 0

 Donde:
 𝑚𝑚 es la masa
 𝑏𝑏 es la constante del amortiguador
 𝑘𝑘 es la constante de elasticidad del resorte
𝑘𝑘
𝑏𝑏 𝑦𝑦(𝑡𝑡)

𝑚𝑚
 Calcular la posición 𝑦𝑦(𝑡𝑡), donde 𝑚𝑚 = 0.5 kg,
𝑏𝑏 = 10 Ns/m y 𝑘𝑘 = 100 N/m

 Utilizando ℎ = 0.025, para 0 < 𝑡𝑡 ≤ 5, y en


donde 𝑦𝑦 0 = 1, 𝑦𝑦 ′ 0 = 0.

 Obtener el porcentaje de error absoluto con


respecto a la solución analítica:
𝑦𝑦 𝑡𝑡 = 𝑒𝑒 −10𝑡𝑡 (cos 10𝑡𝑡 + sen 10𝑡𝑡)

También podría gustarte