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𝑡𝑡)