Está en la página 1de 33

MÉTODOS NUMÉRICOS

2022-I

EDO
Problemas de Valor Inicial
(Parte 1)

Luz Francy Yañez Meneses | PhD (c) Ciencias de la Ingeniería


Universidad de Los Andes (Chile) y Universidad de Valladolid (España)
lfyanez@miuandes.cl – 30 de mayo de 2022

All images copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display
EDO - Problemas de Valor Inicial
Ecuaciones Diferenciales Ordinarias y PVI
Una Ecuación Diferencial-ED es una ecuación que contiene derivadas, cuyas incógnitas
son funciones. Se denominan EDO a aquellas donde todas las incógnitas son función de
una única variable independiente, por lo que sus derivadas son ordinarias no parciales.
Ej. 2do orden 1er orden 1er orden 3er orden 1er orden
2 4
𝑑2𝑦 𝑑𝑧 𝜕𝑢 𝜕 3 𝑣 𝜕𝑣
6𝑧 2 + 4𝑦 = cos 2𝑥 + 5𝑥 + 3 = 𝑒 𝑥 + 7𝑦
𝑑𝑥 𝑑𝑥 𝜕𝑦 𝜕𝑥 𝜕𝑦
Ecuación Diferencial Ordinaria (EDO) Ecuación diferencial Parcial (EDP)
El orden de una ED lo define la máxima derivada presente en ella.

El curso solo aborda la solución numérica de EDOs, por ello se adoptará la letra 𝑡 para
nombrar a la variable independiente y en efecto, ocuparemos la notación de Newton.

Se denomina Problema de Valor Inicial PVI, a aquel donde se necesita resolver una ED
que esta sujeta a unas condiciones iniciales, es decir, se busca una solución particular.
Ej. Recuerde que la solución
EDO a resolver 𝑦ሷ = 2𝑡𝑦ሶ + 1 − sin 3𝑡 𝑦 + 𝑡 2
general de una ED es una
Condiciones iniciales 𝑦ሶ 𝑡0 = −5.4, 𝑦 𝑡0 = 1.2 familia de curvas
2
EDO - Problemas de Valor Inicial
Solución Numérica de un PVI
Resolver un PVI significa encontrar la función(es) que satisface(n) la EDO y sus
condiciones iniciales …pero, al igual que vimos en integración y diferenciación:

Los métodos numéricos aproximan los valores de la curva solución de


un PVI, pero no proporcionan directamente la función solución

Para abordar una EDO de orden 𝑛 primero se 𝑛 𝑛−1


𝑦 = 𝑓 𝑡, _𝑦, _𝑦,ሶ _𝑦,ሷ _ … _, _𝑦
debe expresar en su denominada forma normal:

Ej.
Campo
¿Por primer𝑓orden?
direccional
qué solo 𝑡, 𝑦 ℎ 𝑡 −𝑔 𝑡 𝑦
𝑝 𝑡 𝑦ሷ + 𝑔 𝑡 𝑦 = ℎ 𝑡 → 𝑦ሷ =
𝑝 𝑡
Los métodos que abordaremos se ocupan de
solucionar únicamente PVIs de primer orden.

𝑡0 , 𝑦0
𝑦ሶ = 𝑓 𝑡, 𝑦 , 𝑦 𝑡0 = 𝑦0
𝑦 𝑡

Luego, veremos como solucionar PVIs de orden


superior mediante los métodos de primer orden.
t 3
EDO - Problemas de Valor Inicial
Solución Numérica de un PVI
El termino 𝑓(𝑡, 𝑦) de la EDO permite (en teoría) obtener todas las derivadas de la
solución en el punto conocido. Por ello la Serie de Taylor representa la mejor alternativa
para aproximarse a una función solución que pase a través de la condición inicial.

𝑦 𝑟 𝑡0 𝑦ሷ 0 2 𝑦ഺ0 3 𝑦 𝑛 𝑡0 𝑛
𝑦 𝑡 =෍ 𝑡 − 𝑡0 𝑟 = 𝑦0 + 𝑦ሶ 0 ℎ + ℎ + ℎ + ⋯ + ℎ + 𝑂 ℎ𝑛+1
𝑟! 2! 3! 𝑛!
𝑟=0
ℎ Aproximación
Error de Truncamiento Local
𝑦 curva solución 𝑦ሶ = 𝑓 𝑡, 𝑦 La solución numérica a un PVI consiste en:
aproximación
Construir paso a paso una aproximación a la
𝑦 𝑡 𝐸prop solución, tomando cada estimación como
𝐸global
𝐸local punto de partida para extrapolar el siguiente
𝐸prop

𝐸local El error total actual es la suma del Error


ℎ <1 Local del ultimo paso, mas la propagación
𝑦0 𝐸local del Error Local de los pasos anteriores.
ℎ ℎ ℎ 𝑡
Error global= 𝑂 ℎ𝑛 Carnahan, 1969
𝑡0 𝑡1 𝑡2 𝑡3
4
EDO - Problemas de Valor Inicial
Métodos Runge-Kutta (RK) serie Taylor grado 𝑛 𝑦ሶ =𝑓 𝑡, 𝑦
y
𝑦ሷ 𝑖 2 𝑦 𝑛 𝑡𝑖 𝑛
𝑦𝑖+1 = 𝑦𝑖 + 𝑦ሶ 𝑖 ℎ + ℎ + ⋯ + ℎ
2! 𝑛! 𝑦?𝑖+1
Para obtener una estimación razonable mediante la 𝜑
𝑦𝑖
Serie de Taylor es necesario evaluar una determinada
cantidad de derivadas en 𝑡𝑖 .
¿Alternativa?
𝜕𝑓 𝜕𝑓 𝑘𝑗 t
𝑦ሶ = 𝑓 𝑡, 𝑦 𝑦ሷ = + 𝑦ሶ
𝜕𝑡 𝜕𝑦 𝑡𝑖 ℎ 𝑡𝑖+1
Implícita

𝜕 𝑓′ 𝜕 𝑓′ 𝜕 𝜕𝑓 𝜕𝑓 𝜕 𝜕𝑓 𝜕𝑓 𝜕2𝑓 𝜕2𝑓 𝜕 2𝑓
𝑦ഺ = + 𝑦ሶ = + 𝑦ሶ + 𝑦ሶ + 𝑦ሶ = 2 + 2𝑦ሶ + 𝑦ሶ 2 2
𝜕𝑡 𝜕𝑦 𝜕𝑡 𝜕𝑡 𝜕𝑦 𝜕𝑦 𝜕𝑡 𝜕𝑦 𝜕𝑡 𝜕𝑡𝜕𝑦 𝜕𝑦
→ Carl Runge y Wilhem Kutta (1901):
Usar el campo direccional para ponderar una pendiente que represente a una cantidad 𝑛
de términos de la serie y estimar el siguiente punto mediante una recta equivalente.
𝑠 𝑠
𝑘𝑗 = 𝑓 𝑡𝑗 , 𝑦𝑗 pendiente 𝑗
𝑦𝑖+1 = 𝑦𝑖 + 𝜑ℎ 𝜑 =෍𝑏|𝑗 𝑘𝑗 ෍ 𝑏1𝑗 = 1
equivalentes 𝑗=1 𝑏𝑗 : Factor de ponderación 𝑗=1

𝑠: Numero de puntos usados para ponderar la pendiente → Cantidad de estaciones


5
EDO - Problemas de Valor Inicial
RK Primer Orden – Método Euler 𝑦 𝑦ሶ =𝑓 𝑡, 𝑦
𝑦𝑖+1
𝑦ሷ 𝑖 2 𝑦 𝑛 𝑡𝑖 𝑛
𝑦𝑖+1 = 𝑦𝑖 + 𝑦ሶ 𝑖 ℎ + ℎ + ⋯+ ℎ + 𝑅𝑛
2! 𝑛! 𝑦𝑖 𝑓 𝑡𝑖 , 𝑦𝑖

Aproximación Error de truncamiento Local


ℎ 𝑡
Los métodos de 1er orden truncan la serie en 𝑛=1
𝑡𝑖 𝑡𝑖+1
Determinemos la recta equivalente de RK:
1
𝑦𝑖+1 = 𝑦𝑖 + 𝜑ℎ ya que 𝑛=1 tomamos 𝑠=1 → 𝜑 =෍ 𝑏|𝑗 𝑘𝑗 = 𝑏1 𝑘1
𝑗=1

𝑦𝑖+1 = 𝑦𝑖 + 𝑏1 𝑘1 ℎ comparando concluimos 𝑏1 = 1, 𝑘1 = 𝑦ሶ 𝑖 = 𝑓 𝑡𝑖 , 𝑦𝑖

𝐸local = 𝑂 ℎ2 Por su sencillez es el método mas fácil de


𝑦𝑖+1 = 𝑦𝑖 + 𝑓 𝑡𝑖 , 𝑦𝑖 ℎ aplicar, pero actualmente no se recomienda
𝐸global = 𝑂 ℎ para casos prácticos.

Geométricamente la aproximación conecta los puntos mediante segmentos de recta, por


ello proporciona resultados exactos si la curva solución del PVI es un polinomio de
primer grado. …lo cual es poco común.
6
EDO - Problemas de Valor Inicial
Ejemplo 1. Método de Euler
Aproxime la solución del siguiente PVI hasta 𝑡= 4 empleando un paso ℎ= 1.
Calcule el error relativo si el valor real 𝑦(4)= 75.3.
𝑦ሶ = 4𝑒 0.8𝑡 − 0.5𝑦 𝑦 0 = 2
(Utilice 3 cifras significativas)

La EDO se encuentra en su forma normal, procedemos a aplicar el método directamente.


𝑦𝑖+1 = 𝑦𝑖 + 𝑓 𝑡𝑖 , 𝑦𝑖 ℎ 𝑓 𝑡, 𝑦 = 4𝑒 0.8𝑡 − 0.5𝑦

y 75.3 − 56.8
80 𝑦(4) 𝜀𝑡 = × 100 = 24.6%
75.3

24.6%
60 𝑡𝑖 𝑦𝑖 𝑓 𝑡𝑖 , 𝑦𝑖 𝑦𝑖+1

0. 2. 3. 5.
40
1. 5. 6.40 11.4
20 2. 11.4 14.1 25.5

t 3. 25.5 31.3 56.8


0 1 2 3 4
7
EDO - Problemas de Valor Inicial
RK de Segundo Orden 𝑦 𝑦ሶ =𝑓 𝑡, 𝑦 𝑘2
𝑦2
𝑦ሷ 𝑖 𝑦 𝑛 𝑡𝑖 𝑦𝑖+1
𝑦𝑖+1 = 𝑦𝑖 + 𝑦ሶ 𝑖 ℎ + ℎ2 + ⋯+ 𝑛
ℎ + 𝑅𝑛 𝑎ℎ𝑘1
𝑘1
2! 𝑛!
Aproximación 𝐸local = 𝑂 ℎ3
𝑦𝑖 𝑎ℎ
Los métodos de 2do orden truncan la serie en 𝑛=2 𝑐ℎ 𝑡
Determinemos la recta equivalente de RK: 𝑡𝑖 𝑡2 𝑡𝑖+1

𝑦𝑖+1 = 𝑦𝑖 + 𝜑ℎ Cantidad de estaciones → 𝑠=2
2 𝑡2 = 𝑡𝑖 + 𝑐ℎ
𝜑 =෍ 𝑏|𝑗 𝑘𝑗 = 𝑏1 𝑘1 + 𝑏2 𝑘2 𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖 𝑘2 = 𝑓 𝑡2 , 𝑦2 𝑦2 = 𝑦𝑖 + 𝑎ℎ 𝑘1
𝑗=1
𝜕𝑓 𝜕𝑓
Generalizamos con Taylor a 𝑓 𝑡, 𝑦 ≈ 𝑓 𝑡𝑖 , 𝑦𝑖 + 𝑡 − 𝑡𝑖 + 𝑦 − 𝑦𝑖
𝜕𝑡 𝑖
𝜕𝑦 𝑖
𝜕𝑓 𝜕𝑓 𝜕𝑓 𝜕𝑓
𝑘2 = 𝑘1 + 𝑡2 − 𝑡𝑖 + 𝑦2 − 𝑦𝑖 = 𝑘1 + 𝑐ℎ + 𝑎ℎ𝑘1
𝜕𝑡 𝑖
𝜕𝑦 𝑖
𝜕𝑡 𝜕𝑦
𝑖 𝑖
Reemplazamos 𝑘1 y 𝑘2 en 𝜑:
𝜕𝑓 𝜕𝑓 𝜕𝑓 2
𝜕𝑓
𝜑 ==𝑏1𝑘1 ℎ++𝑏2𝑏2 𝑘1𝑐 + 𝑐ℎ + 𝑎𝑘1 + 𝑎ℎ𝑘1 ℎ
𝜑ℎ
𝜕𝑡 𝑖 𝜕𝑡 𝑖 𝜕𝑦 𝑖 𝜕𝑦 𝑖

8
EDO - Problemas de Valor Inicial
Segundo Orden
Serie de Taylor Comparativo Recta equivalente
𝑦ሷ 𝑖 2 𝜕𝑓 𝜕𝑓
𝑦ሶ 𝑖 ℎ + ℎ 𝑘1 ℎ + 𝑏2 𝑐 + 𝑎𝑘1 ℎ2
2! 𝜕𝑡 𝜕𝑦
𝑖 𝑖
Reemplazamos las derivadas:
𝜕𝑓 𝜕𝑓 Distribuimos 𝑏2 :
𝑦ሶ 𝑖 = 𝑘1 𝑦ሷ 𝑖 = + 𝑦ሶ 𝑖
𝜕𝑡 𝑖
𝜕𝑦 𝑖
1 𝜕𝑓 1 𝜕𝑓 𝜕𝑓 𝜕𝑓
𝑘1 ℎ + + 𝑘1 ℎ2 ≡ 𝑘1 ℎ + 𝑏2 𝑐 + 𝑎𝑏2 𝑘1 ℎ2
2 𝜕𝑡 𝑖
2 𝜕𝑦 𝑖
𝜕𝑡 𝑖
𝜕𝑦 𝑖

Tenemos 3 ecuaciones 1 1 ¿Como obtenemos una


𝑏2 𝑐 = 𝑎𝑏2 =
…pero 4 incógnitas 2 2 ecuación adicional?
𝑏1 , 𝑏2 , 𝑐, 𝑎 𝑏1 + 𝑏2 = 1 Libre criterio…
No hay una única versión del método, hay una familia de métodos de orden 2
Ej. 2 1 3
Ralston, 1962 min 𝐸local 𝑏2 = 𝑏1 = 𝑐=𝑎=
3 3 4
9
EDO - Problemas de Valor Inicial
RK de Segundo Orden
Algunos de los métodos mas comunes:

Denominación 𝑏2 𝑏1 𝑐 𝑎
2 1 3 3
Ralston
3 3 4 4
Heun sin iteración 1 1
1 1
(integración trapezoidal) 2 2
Punto medio 1 1
(polígono mejorado) 1 0
2 2

𝑦𝑖+1 = 𝑦𝑖 + 𝑏1 𝑘1 + 𝑏2 𝑘2 ℎ 𝐸local = 𝑂 ℎ3

𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖 𝑘2 = 𝑓(𝑡𝑖 +𝑐ℎ, 𝑦𝑖 +𝑎𝑘1 ℎ) 𝐸global = 𝑂 ℎ2

Geométricamente la aproximación conecta los puntos mediante un polinomio grado 2


(parábola), por ello proporciona resultados exactos si la curva solución del PVI es un
polinomio de segundo grado.
10
EDO - Problemas de Valor Inicial
Ejemplo 2. Runge-Kutta Segundo Orden
Resuelva el PVI del ejemplo 1 empleando un RK-2 junto con los coeficientes de Ralston.
(Utilice 3 cifras significativas)
𝑦ሶ = 4𝑒 0.8𝑡 − 0.5𝑦 𝑦 0 =2 𝑦(4)= 75.3

La EDO se encuentra en su forma normal, procedemos a aplicar el método directamente.


𝑦𝑖+1 = 𝑦𝑖 + ⅓𝑘1 + ⅔𝑘2 ℎ 𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖 𝑘2 = 𝑓(𝑡𝑖 + 3 4 ℎ, 𝑦𝑖 + 3 4 ℎ𝑘1 )

𝑓 𝑡, 𝑦 = 4𝑒 0.8𝑡 − 0.5𝑦
y 79.4
80 75.3 − 79.4
RK2 (Ralston)
5.44% 𝜀𝑡 = × 100 = 5.44%
𝑦(4) 75.3
Euler (3.75, 55.2)
60
24.6% 𝑡𝑖 𝑦𝑖 𝑘1 𝑘2
40 0. 2. 3. 5.16
(2.75, 24.6)

1. 6.44 5.68 10.9


20 (1.75, 10.7)
(.75, 4.25) 2. 15.6 12.0 23.8
t 3. 35.5 26.3 52.7
0 1 2 3 4
+¾ +¾ +¾ +¾
11
EDO - Problemas de Valor Inicial
Generalización Métodos Runge-Kutta (RK)
El proceso consiste en expresar la posición de cada estación 𝑗 relacionándola con las
pendientes de las estaciones anteriores (tal como vimos en los RK de orden 2).
𝑐𝑗 : Factor nodal (define 𝑡𝑗 ) 𝑎𝑗𝑚 : Coeficientes RK (relaciona las estaciones entre si)
𝑠 ¿Cuanto tomar? 𝑐1 = 0 𝑎11 = 0
𝑦ሶ =𝑓 𝑡, 𝑦 𝜑 =෍𝑏1𝑗 𝑘𝑗
𝑦 Estación 1 𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖
ℎ = 𝑡𝑖+1 − 𝑡𝑖 𝑗=1
𝑘3 Estación 2 𝑘2 = 𝑓 𝑡2 , 𝑦2
𝑦3
𝑎32 ℎ𝑘2 𝑡2 = 𝑡𝑖 + 𝑐2 ℎ
𝑦2 = 𝑦𝑖 + 𝑎21 ℎ𝑘1
𝑦𝑖+1
𝑘2 Estación 3 𝑘3 = 𝑓 𝑡3 , 𝑦3
𝑎31 ℎ𝑘1 𝑦2
estación 𝑗 𝑡3 = 𝑡𝑖 + 𝑐3 ℎ
𝑎21 ℎ𝑘1 𝜑 𝑦3 = 𝑦𝑖 + 𝑎31 ℎ𝑘1 + 𝑎32 ℎ𝑘2
𝑦𝑖 𝑘1 𝑘𝑗 =𝑓 𝑡𝑗 , 𝑦𝑗
𝑡𝑗 = 𝑡𝑖 + 𝑐𝑗 ℎ
𝑡2 𝑡3 𝑡
𝑗−1
𝑡𝑖 𝑎21 ℎ 𝑡𝑖+1 𝑦𝑗 = 𝑦𝑖 + ℎ ෍ |𝑎𝑗𝑚 𝑘𝑚
𝑐2 ℎ
𝑎32 ℎ 𝑚=1
𝑎31 ℎ
𝑐3 ℎ
12
EDO - Problemas de Valor Inicial
Generalización Métodos Runge-Kutta (RK)
Lo ideal es determinar la pendiente equivalente 𝜑 con la menor cantidad de estaciones.
Según el estado del arte del análisis numérico: 𝑛≤4 →𝑠≥𝑛 𝑛 > 4 → 𝑠 ≥ 𝑛+1
Un método RK de orden 𝑛 significa que es
equivalente a tomar 𝑛 términos de la serie de Taylor
Aunque…
…para un orden 𝑛 “existen” infinidad de métodos RK ¿Porque?
𝑠

𝜑 =෍𝑏1𝑗 𝑘𝑗 No hay un único criterio final para elegir los factores de ponderación 𝑏𝑗
𝑗=1
La estrategia planteada por C. Runge y W. Kutta define una familia de métodos.

Ya que 𝑎𝑗𝑚 , 𝑏𝑗 y 𝑐𝑗 son constantes, vemos que Para un orden 𝑛, la única forma de
𝜑 depende solo del valor inicial 𝑡𝑖 , 𝑦𝑖 y ℎ: mejorar la precisión es disminuir ℎ
𝑡𝑖 , 𝑦𝑖
𝑘𝑗 = 𝑓
𝑓(𝑡𝑡𝑗𝑖 ,+𝑦𝑐𝑗𝑗) ℎ, 𝑦𝑖 + 𝑎𝑗1 𝑘1 + 𝑎𝑗2 𝑘2 + ⋯ + 𝑎𝑗,𝑗−2 𝑘𝑗−2 + 𝑎𝑗,𝑗−1 𝑘𝑗−1 ℎ

𝑦𝑖+1 = 𝑦𝑖 + ℎ 𝜑 𝑡𝑖 , 𝑦𝑖 , ℎ Es posible variar ℎ conforme se avanza en la


solución, esto se conoce como control
función incremento adaptativo del tamaño de paso
13
EDO - Problemas de Valor Inicial
RK de Orden Superior
Para obtener métodos de orden superior basta con tomar una cantidad mayor de
términos de la Serie de Taylor y realizar el mismo procedimiento visto en los RK2 para
plantear las ecuaciones que logran la equivalencia entre la pendiente ponderada y la serie.

Recuerde que el numero de ecuaciones obtenidas con dicho procedimiento es inferior al


de incógnitas, por ello existen varias versiones de un mismo método de orden 𝒏

Una forma practica para presentar todos los términos de un método RK corresponde al
denominado Tablero de Butcher:
𝑠 Matriz triangular matriz de coeficientes RK
𝑦𝑖+1 = 𝑦𝑖 + ℎ ෍𝑏|𝑗 𝑘𝑗 inferior
𝑗=1 0 0 0 0 ⋯ 0 0
𝑗−1

factor nodal 𝑐𝑗
| | 𝑐2 𝑎21 0 0 ⋯ 0 0
𝑘𝑗 = 𝑓 𝑡 + 𝑐𝑗 ℎ, 𝑦𝑖 + ℎ ෍𝑎𝑗𝑚
| 𝑘𝑚
|𝑖 𝑚=1
| 𝑐3 𝑎31 𝑎32 0 ⋯ 0 0
𝑗=1 → 𝑎𝑗𝑚 = 0 ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮
𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖 𝑠 𝑐𝑠 𝑎𝑠1 𝑎𝑠2 𝑎𝑠3 ⋯ 𝑎𝑠,𝑠−1 0
𝑗=2 ෍𝑏|𝑗 = 1 𝑏1 𝑏2 𝑏3 ⋯ 𝑏𝑠−1 𝑏𝑠
𝑗=1
𝑘2 = 𝑓 𝑡𝑖 + 𝑐2 ℎ, 𝑦𝑖 + 𝑎21 𝑘1 ℎ factor de ponderación 𝑏𝑗
14
EDO - Problemas de Valor Inicial
Orden Superior
Los métodos de orden superior son la opción de preferencia ya que demandan el mismo
trabajo computacional que los de bajo orden pero con mejores resultados.
RK3 RK4 Clásico
𝑡𝑓 − 𝑡𝑖
1 computacional
Trabajo 2 1 =𝑠 0 0 0 0 0 0 0 0 0
𝑦𝑖+1 = 𝑦𝑖 + 𝑘 + 𝑘 + 𝑘3 ℎ ℎ
6 1 3 2 6 1/2 1/2 0 0 1/2 1/2 0 0 0
1 ‒1 2 0 1/2 0 1/2 0 0
s=1
ℎ 1
𝑘2 = 𝑓 𝑡𝑖 + , _𝑦𝑖 + 𝑘1 ℎ 1/6 2/3 1/6 1 0 0 1 0
2 2
s=2 1/6 1/3 1/3 1/6
RK5 Butcher
𝑘3 = 𝑓 𝑡𝑖 + ℎ, 𝑦𝑖 −𝑘1 ℎ + 2𝑘2 ℎ
0 0 0 0 0 0 0
𝑘1 = 𝑓 𝑡𝑖 , _𝑦𝑖 1/4 1/4 0 0 0 0 0
s=3
1/4 1/8 1/8 0 0 0 0
s=4 1/2 0 ‒1/2 1 0 0 0
3/4 3/16 0 0 9/16 0 0
s=6 1 ‒3/7 2/7 12/7 ‒12/7 8/7 0
7/90 0 16/45 2/15 16/45 7/90
15
EDO - Problemas de Valor Inicial
Ejemplo 3. Método RK4 Clásico de paso constante
Para el siguiente PVI estime 𝑦 1 ocupando el método RK4 Clásico con un paso ℎ =1.
Calcule el error relativo si el valor real es 6.195.
𝑦ሶ = 4𝑒 0.8𝑡 − 0.5𝑦, 𝑦 0 = 2
(Utilice 4 cifras significativas)
𝑚= 1 2 3
La EDO se da en su forma normal, procedemos con el método RK:
𝑠 𝑗−1
0 0 0 0 0
𝑦𝑖+1 = 𝑦𝑖 + ℎ෍𝑏|𝑗 𝑘𝑗 𝑘𝑗 =𝑓 𝑡𝑖 + 𝑐𝑗 ℎ, 𝑦𝑖 + ℎ෍𝑎|𝑗𝑚 𝑘𝑚
𝑗=1 𝑚=1
𝑗= 2 ½ ½ 0 0 0
𝑘1 =𝑓 𝑡𝑖 , 𝑦𝑖 𝑗= 3 ½ 0 ½ 0 0
𝑗= 4 1 0 0 1 0
𝑘2 =𝑓 𝑡𝑖 + 𝑐1 ℎ, _𝑦𝑖 + 𝑎21 ℎ𝑘1 =𝑓 𝑡𝑖 + ½ ℎ, _𝑦𝑖 + ½ ℎ𝑘1 ⅙ ⅓ ⅓ ⅙
2

𝑘3 =𝑓 𝑡𝑖 + 𝑐3 ℎ, 𝑦𝑖 + ℎ ෍𝑎|3𝑚 𝑘𝑚 =𝑓(𝑡𝑖 + ½ ℎ, 𝑦𝑖 + 𝑎31 ℎ𝑘1 + 𝑎32 ℎ𝑘2 )


𝑚=1
=𝑓 𝑡𝑖 + ½ ℎ, _𝑦𝑖 + ½ ℎ𝑘2
3

𝑘4 =𝑓 𝑡𝑖 + 𝑐4 ℎ, 𝑦𝑖 + ℎ෍𝑎| 4𝑚 𝑘𝑚 =𝑓(𝑡𝑖 + 1ℎ, 𝑦𝑖 + 𝑎41 ℎ𝑘1 + 𝑎42 ℎ𝑘2 + 𝑎43 ℎ𝑘3 )


𝑚=1
=𝑓 𝑡𝑖 + ℎ, _𝑦𝑖 + ℎ𝑘3
4

𝑦𝑖+1 = 𝑦𝑖 + ℎ෍𝑏|𝑗 𝑘𝑗 = 𝑦𝑖 + 𝑏1 𝑘1 + 𝑏2 𝑘2 + 𝑏3 𝑘3 + 𝑏4 𝑘4 ℎ
𝑗=1 = 𝑦𝑖 + ⅙𝑘1 + ⅓ 𝑘2 + ⅓ 𝑘3 + ⅙𝑘4 ℎ
16
EDO - Problemas de Valor Inicial
Ejemplo 3. Método RK4 Clásico de paso constante
Reemplazando en los términos 𝑘𝑗 : ℎ= 1 𝑡𝑖 = 0, 𝑦𝑖 = 2 𝑓 𝑡, 𝑦 = 4𝑒 0.8𝑡 − 0.5𝑦

𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖 = 𝑓 0, 2 = 4𝑒 0.8 0 − 0.5 2 = 3.

𝑘2 = 𝑓 𝑡𝑖 + ½ ℎ, _𝑦𝑖 + ½ ℎ𝑘1 =𝑓 0 + ½ 1 , 2 + ½ 1 3. = 𝑓 0.5, 3.5


= 4𝑒 0.8 0.5
− 0.5 3.5 = 4.217

𝑘3 = 𝑓 𝑡𝑖 + ½ ℎ, _𝑦𝑖 + ½ ℎ𝑘2 =𝑓 0 + ½ 1 , 2 + ½ 1 4.217 = 𝑓 0.5, 4.109


= 4𝑒 0.8 0.5 − 0.5 4.109 = 3.913

𝑘4 = 𝑓 𝑡𝑖 + ℎ, 𝑦𝑖 +ℎ𝑘3 =𝑓 0 + 1, 2 + 1 3.913 = 𝑓 1, 5.913

= 4𝑒 0.8 1
− 0.5 5.913 = 5.946

Por ultimo 𝑦𝑖+1 = 𝑦𝑖 + ⅙𝑘1 + ⅓ 𝑘2 + ⅓ 𝑘3 + ⅙𝑘4 ℎ


= 2 + 1 ⅙ 3. + ⅓ 4.217 + ⅓ 3.913 + ⅙ 5.946 = 6.201
6.195 − 6.201
𝑦 1 ≈ 6.201 𝜀𝑡 = × 100 = 0.097%
6.195
17
EDO - Problemas de Valor Inicial
EDO de Orden Superior
Todo PVI de orden superior puede reducirse a un PVI de primer orden
La consecuencia de reducir el orden es la obtención de un sistema EDO, que
El procedimiento consiste en: debe resolverse simultáneamente

1) Expresar la EDO en su forma normal 𝑧 𝑛 = 𝑓 𝑡, _𝑧, _𝑧,ሶ _𝑧,ሷ _ … _, _𝑧 𝑛−1

2) Sustituir todas las derivadas 𝑧 𝑗 por la primera derivada de una función auxiliar
𝑢𝑗−1 𝑡 , excepto la derivada de primer orden la cual se sustituye por 𝑧ሶ = 𝑢1 .
3) Escribir las ecuaciones 𝑢𝑗 = 𝑢ሶ 𝑗−1 que relacionan todas las funciones auxiliares.

Ej. Sistema EDO 1er orden:


condiciones iniciales
𝑧 4 =𝑓 𝑡, 𝑧, 𝑧,ሶ 𝑧,ሷ 𝑧ഺ 𝑢ሶ 3 = 𝑓 𝑡, 𝑧, 𝑢1 , 𝑢2 , 𝑢3
𝐲ሶ = 𝐟 𝑡, 𝐲 𝐲 𝑡𝑖 = 𝐲𝑖
𝑢ሶ 2 = 𝑢3
Sustitución: 𝐲
𝑢ሶ 1 = 𝑢2
4 solución buscada
𝑧 = 𝑢ሶ 3 𝑧ሶ = 𝑢1
𝑢ሶ 3 𝑓 𝑡, 𝑧, 𝑢1 , 𝑢2 , 𝑢3 𝑢3
𝑧ഺ = 𝑢ሶ 2
𝑢ሶ 2 𝑢3 𝑢
𝑧ሷ = 𝑢ሶ 1 Notación 𝐲ሶ = 𝐟 𝑡, 𝐲 = 𝐲 = 𝑢2
𝑢ሶ 1 𝑢2 1
matricial: 𝑧
𝑧ሶ = 𝑢1 𝑧ሶ 𝑢1

18
EDO - Problemas de Valor Inicial
Sistemas de EDOs
Los métodos RK tienen la capacidad para trabajar con sistemas vectores de tamaño 𝑟
de EDOs de primer orden formados por 𝑟 ecuaciones: 𝐲ሶ = 𝐟 𝑡, 𝐲
Una vez el sistema se expresa de esta forma se aplica el mismo procedimiento que para
EDOs individuales, ya que todos los parámetros del método son los mismos…

pendientes a ponderar

estación 𝑗
𝑡𝑗 = 𝑡𝑖 + 𝑐𝑗 ℎ vector estimado 𝑠
𝐤𝑗 = 𝐟 𝑡𝑗 , 𝐲𝑗 𝑗−1
𝐲𝑖+1 = 𝐲𝑖 + ℎ ෍ 𝑏𝑗 𝐤𝑗
𝐲𝑗 = 𝐲𝑖 + ℎ ෍𝑎| 𝑗𝑚 𝐤𝑗
𝑗=1
1 columna × 𝑟 filas 𝑗=1

condiciones iniciales
Tablero Butcher
Por simplicidad conviene ocupar notación matricial 0 0 0 ⋯ 0 0
𝐊 = 𝐤𝑗 = 𝐤1 𝐤2 ⋯ 𝐤𝑠 𝑐2 𝑎21 0 ⋯ 0 0
𝑟×𝑠
𝑐3 𝑎31 𝑎32 ⋯ 0 0
𝐲𝑗 = 𝐲𝑖 + ℎ𝐊𝐚𝑗 𝑇 𝐚𝑗 ∶= 𝑎𝑗𝑚 ⋮ ⋮ ⋮ ⋱ ⋮ ⋮
1×𝑠
𝑐𝑠 𝑎𝑠1 𝑎𝑠2 ⋯ 𝑎𝑠,𝑠−1 0
𝐲𝑖+1 = 𝐲𝑖 + ℎ𝐊𝐛𝑇
𝐛 ∶= 𝑏𝑗 𝑏1 𝑏2 ⋯ 𝑏𝑠−1 𝑏𝑠
1×𝑠

19
EDO - Problemas de Valor Inicial
Ejemplo 4. EDO Orden Superior
Para el siguiente PVI estime 𝑧 0.2 ocupando el método RK3 con un paso ℎ =0.1.
2do orden 𝑧ሷ + 𝑧 𝑧 0 =1
(Emplee 5 cifras significativas) = −𝑧ሶ
𝑡 𝑧ሶ 0 = 2

1) Definimos el orden de la EDO y la expresamos en su forma normal: 𝑧ሷ = −𝑡𝑧ሶ − 𝑧


2) Reducimos el orden mediante sustitución: 𝑧ሷ = 𝑢ሶ 1 𝑧ሶ = 𝑢1
Reemplazamos en la EDO y escribimos el sistema de 1er orden: 𝐲ሶ = 𝐟 𝑡, 𝐲 𝐲 𝑡𝑖 = 𝐲𝑖
𝑢ሶ 1 = −𝑡𝑢1 − 𝑧 𝑧 0 =1 𝑢ሶ 1 −𝑡𝑢1 − 𝑧 2
𝐲ሶ = 𝐟 𝑡, 𝐲 = 𝐲𝑖 0 =
𝑧ሶ = 𝑢1 𝑧ሶ 𝑢1 1
𝑢1 0 = 2
3) Iniciamos el proceso de estimación de solución: 𝐲𝑖+1 = 𝐲𝑖 + ℎ𝐊𝐛𝑇
Tablero de Butcher ⅙
𝐊 = 𝐤1 𝐤2 𝐤3
𝑐2 = ½
𝑐1 = 0 𝑇
𝐛 = ⅔
0 0 0 0
𝐤𝑗 = 𝐟 𝑡𝑗 , 𝐲𝑗 ⅙
½ ½ 0 0 𝐚1 𝑇 = 𝟎 𝑐3 = 1
𝑡𝑗 = 𝑡𝑖 + 𝑐𝑗 ℎ 1 ‒1 2 0 ½ −1
𝐚2 𝑇 = 0 𝐚3 𝑇 = 2
𝐲𝑗 = 𝐲𝑖 + ℎ𝐊𝐚𝑗 𝑇 ⅙ ⅔ ⅙ 0 0
20
EDO - Problemas de Valor Inicial
Ejemplo 4. EDO Orden Superior Primer avance del paso

𝑡𝑖 = 0 Estación 1 (𝑡1 = 𝑡𝑖 𝐲𝟏 = 𝐲𝑖 ) 𝐤1 𝐤2 𝐤3
𝐲𝑖 = 2 → 𝑢1 𝐤1 = − 0 2 − 1 =
−1
𝐊=
−1 ∙ ∙
1 →𝑧 2 2 2 ∙ ∙
Estación 2 (𝑐2 = ½)
½
2 −1 ∙ ∙ 1.95
𝑡2 = 0 + ½ 0.1 = 0.05 𝐲2 = + 0.1 0 =
1 2 ∙ ∙ 1.1
0
𝐤 2 = − 0.05 1.95 − 1.1 = −1.1975 −1 −1.1975 ∙
𝐊= ∙
1.95 1.95 2 1.95
Estación 3 (𝑐3 = 1)
−1
2 −1 −1.1975 ∙ 1.8605
𝑡3 = 0 + 1 0.1 = 0.1 𝐲3 = + 0.1 ∙ 2 =
1 2 1.95 0
1.19

− 0.1 1.8605 − 1.19 −1.3761 −1 −1.1975 −1.3761


𝐤3 = = 𝐊=
1.8605 1.8605 2 1.95 1.8605

Estimación al final del paso: 𝐲𝑖+1 = 𝐲𝑖 + ℎ𝐊𝐛𝑇



2 −1 −1.1975 −1.3761
𝐲𝑖+1= + 0.1 ⅔ = 1.8806
1 2 1.95 1.8605 1.1943

21
EDO - Problemas de Valor Inicial
Ejemplo 4. EDO Orden Superior Segundo avance del paso
𝑡𝑖 = 0.1 Estación 1 (𝑡1 = 0.1 𝐲𝟏 = 𝐲𝑖 ) 𝐤1 𝐤2 𝐤3
1.8806 → 𝑢1 −1.3824 −1.3824 ∙ ∙
𝐲𝑖 =
1.1943 → 𝑧 𝐤1 = − 0.1 1.8806 − 1.1943 = 𝐊=
1.8806 1.8806 1.8806 ∙ ∙
Estación 2 (𝑐2 = ½)
½
1.8806 −1.3824 ∙ ∙ 1.8115
𝑡2 = 0.1 + ½ 0.1 = 0.15 𝐲2 = + 0.1 0 =
1.1943 1.8806 ∙ ∙ 1.2883
0
𝐤 2 = − 0.15 1.8115 − 1.2883 = −1.5600 −1.3824 −1.5600 ∙
𝐊=
1.8115 1.8115 1.8806 1.8115 ∙
Estación 3 (𝑐3 = 1) 𝑡3 = 0.1 + 1 0.1 = 0.2
−1
1.8806 −1.3824 −1.5600 ∙ 1.7068
𝐲3 = + 0.1 2 =
1.1943 1.8806 1.8115 ∙ 0
1.3685

− 0.2 1.7068 − 1.3685 = −1.7099 −1.3824 −1.5600 −1.7099


𝐤3= 𝐊=
1.7068 1.7068 1.8806 1.8115 1.7068

Estimación al final del paso: 𝐲𝑖+1 = 𝐲𝑖 + ℎ𝐊𝐛𝑇



1.8806 −1.3824 −1.5600 −1.7099 1.7251 → 𝑢1
𝐲𝑖+1= + 0.1 ⅔ =
1.1943 1.8806 1.8115 1.7068 1.3749 → 𝑧

22
EDO - Problemas de Valor Inicial
Control Adaptativo del tamaño de paso
Una desventaja de los métodos RK de orden superior es
la mayor cantidad de evaluaciones de la función
𝑓(𝑡, 𝑦) para poder proporcionar una buena estimación.

Lo ideal es construir una solución con el tamaño de paso


mas grande posible sin sacrificar precisión
Sin embargo…
…las curvas solución por lo general presentan zonas
con cambios bruscos que pueden pasar desapercibidas
para el tamaño de paso elegido.
Una opción…
…ajustar manualmente el paso inspeccionando poco a
poco la solución y refinando en los lugares que se
considere necesario, pero es ineficiente y tedioso.

Objetivo: Incorporar un mecanismo de control automático del tamaño de paso conforme


se avanza en la estimación, adaptándose así a la geometría de la solución

23
EDO - Problemas de Valor Inicial
Control Adaptativo del tamaño de paso
Para mantener un error de truncamiento aproximadamente constante, se debe aumentar el
tamaño de paso en las zonas suaves y disminuirlo en las agudas.
Estrategia: Emplear dos estimaciones de un punto con el mismo tamaño de paso pero
con métodos de distinto orden para analizar los cambios de la solución

aproximación orden 𝑛= 4 aproximación orden 𝑛= 3


𝑦ሷ 𝑖 2 𝑦ഺ𝑖 3 𝑦𝑖 4 4 𝑦ሷ 𝑖 2 𝑦ഺ𝑖 3
𝑦𝑖+1 = 𝑦𝑖 + 𝑦ሶ 𝑖 ℎ + ℎ + ℎ + ℎ 𝑦𝑖+1 ∗ = 𝑦𝑖 + 𝑦ሶ 𝑖 ℎ + ℎ + ℎ
2! 3! 4! 2! 3!

∗ 𝑦𝑖 4 4
𝑦𝑖+1 − 𝑦𝑖+1 = ℎ
4!

Recordemos el Error de Truncamiento 𝑦𝑖 4 4 𝑦𝑖 5 5 𝑦𝑖 6 6


𝑂 ℎ4 = ℎ + ℎ + ℎ +⋯
local del método de orden 3: 4! 5! 6!

mas significativo ℎ<1

𝑂 ℎ4 ≈ 𝑦𝑖+1 − 𝑦𝑖+1 ∗ Aproximación al Error Truncamiento


𝐸𝑖+1 = 𝑦𝑖+1 − 𝑦𝑖+1 ∗
Local del método de menor orden
24
EDO - Problemas de Valor Inicial
Control Adaptativo del tamaño de paso
Un valor alto de 𝐸𝑖+1 sugiere un cambio “brusco” en la curva
2 ecuaciones y 2 incógnitas (𝑦𝑖 𝑛 , ℎ𝑐 )
1
∗ 𝑦𝑖 𝑛 𝑛 𝑦𝑖 𝑛 𝐸𝑐 𝑛 𝐸𝑐
𝐸𝑖+1 = 𝑦𝑖+1 − 𝑦𝑖+1 = ℎ 𝐸𝑐 = ℎ𝑐 𝑛 ℎ = ℎ 𝜖 ∶=
𝑛! 𝑛! 𝑐
𝐸𝑖+1 𝐸𝑖+1
Error
Error del método de orden 𝑛‒1 tolerable Paso ajustado
Si 𝐸𝑖+1 < 𝐸𝑐 → 𝜖 > 1 ℎ aumenta
𝑦 𝑦ሶ =𝑓 𝑡, 𝑦
curva exacta orden 𝑛 Press et al (1992):
1/𝑛 𝜖<1
orden 𝑛‒1 𝑦𝑖+1 ∗ − −
ℎ𝑐 = ℎ𝜖 𝛽 𝛽= 1
𝜖≥1
𝐸𝑐 ℎ𝑐 𝑛−1
𝐸𝑖+1 𝜌 ∶=
ℎ No aumenta
Factor de tanto ℎ
𝑦𝑖+1 control
𝑦𝑖
por seguridad
ℎ𝑐 𝑡 𝜌 = 0.9 𝜖 𝛽 ℎ𝑐 = 𝜌ℎ
𝑡𝑖 ℎ 25
EDO - Problemas de Valor Inicial
Control Adaptativo del tamaño de paso
función 𝐸𝑠 = 10−6 ¿Qué valor tomar para el error de control 𝐸𝑐 ?
adapt
argumentos 𝜀𝑠 = 10−3 Error relativo Tolerancia
𝜀𝑡 ≤ 𝜀𝑠
𝑛, 𝐸, 𝑦 verdadero relativa

𝑦 𝑡𝑖+1 − 𝑦𝑖+1 𝑦𝑖+1 − 𝑦𝑖+1 ∗


𝐸𝑐 = 𝜀𝑠 𝑦 + 𝐸s 𝜀𝑡 = 𝜀𝑎 =
𝑦 𝑡𝑖+1 𝑦𝑖+1
𝐸𝑐 Error relativo
𝜖= aproximado
𝐸
𝐸𝑖+1
Reemplazamos 𝜀𝑎 =
Si 𝑦𝑖+1 𝐸𝑐
No
𝜖<1 𝐸𝑖+1
≤ 𝜀𝑠 despejamos→ 𝐸𝑖+1 ≤ 𝜀𝑠 𝑦𝑖+1
1 1 𝑦𝑖+1
𝛽= 𝛽=
𝑛 𝑛−1
𝐸𝑖+1 ≤ 𝐸s Tolerancia
¿ y si 𝑦𝑖+1 = 0 ?
absoluta

𝜌 = 0.9 𝜖 𝛽 salida 𝐸𝑐 = 𝜀𝑠 𝑦𝑖+1 + 𝐸s


26
EDO - Problemas de Valor Inicial
Control adaptativo en Métodos RK 𝑦 𝑦ሶ =𝑓 𝑡, 𝑦 𝑘2 ∗
𝑦𝑖+1 ∗
𝑦𝑖+1 = 𝑦𝑖 + 𝜑ℎ 𝑦𝑖+1 ∗ = 𝑦𝑖 + 𝜑 ∗ ℎ orden 𝑛‒1
Error de truncamiento local del orden 𝑛‒1: 𝐸𝑖+1
𝑘1 =𝑘1 ∗
𝐸𝑖+1 = 𝑦𝑖+1 − 𝑦𝑖+1 ∗ 𝐸𝑖+1 = 𝜑 − 𝜑 ∗ ℎ =
𝑦𝑖+1
𝑦𝑖 𝑘2 orden 𝑛
𝑠 𝑠∗
Erwin Fehlberg (1969): Propuso desarrollar 𝑡
∗ ∗
𝐸𝑖+1RK
dos métodos = ℎde diferente
෍ 𝑏𝑗 𝑘𝑗 −orden,
෍ 𝑏𝑗pero
𝑘𝑗 que
𝑡𝑖 ℎ 𝑡𝑖+1
ambos ocupen las mismas
𝑗=1 estaciones
𝑗=1

𝑎𝑗𝑚 ∗ = 𝑎𝑗𝑚 𝑐𝑗 ∗ = 𝑐𝑗 𝑘𝑗 = 𝑘𝑗 ∗ RK encapsulado


0 0 0 ⋯ 0 0
ubicación de la estación 𝑗 𝐤 ∶= 𝑘𝑗 𝑠×1
𝑐2 𝑎21 0 ⋯ 0 0
𝑠

igual para 𝑐3 𝑎31 𝑎32 ⋯ 0 0
𝐸𝑖+1 = ℎ ෍ 𝑏𝑗 − 𝑏𝑗 𝑘𝑗 ambos ordenes
𝑗=1 ⋮ ⋮ ⋮ ⋱ ⋮ ⋮
𝑐𝑠 𝑎𝑠1 𝑎𝑠2 ⋯ 𝑎𝑠,𝑠−1 0
𝐀 ∶= 𝑎𝑗𝑚 𝐛 ∶= 𝑏𝑗
𝑠×𝑠 1×𝑠
método orden 𝑛 𝑏1 𝑏2 ⋯ 𝑏𝑠−1 𝑏𝑠
𝐛∗ ∶= 𝑏𝑗 ∗ 𝐜 ∶= 𝑐𝑗 método orden 𝑛‒1 𝑏1 ∗ 𝑏2 ∗ ⋯ 𝑏𝑠−1 ∗ 𝑏𝑠 ∗
1×𝑠 𝑠×1

27
EDO-Problemas de Valor Inicial
Algoritmo RK encapsulado explicito

𝑘0 = 𝑓 𝑡𝑖 , 𝑦𝑖 𝐤 = 𝑘𝑗
𝑠×1
𝑓 𝑡, 𝑦 , 𝑡𝑖 , 𝑦𝑖 , ℎ RKenc

función
argumentos
𝑗=1 No
𝑗<𝑠
𝑗= 𝑗+1 Método RK encapsulado
Si
Vector coeficientes 𝐀 = 𝑎𝑗𝑚 𝐛 = 𝑏𝑗
RK 𝑠×𝑠 𝑠×1

Estaciones 𝐚𝑗 = 𝑎𝑚 1×𝑗
𝐛∗ = 𝑏𝑗 ∗ 𝐜 = 𝑐𝑗
𝑠×1
𝑠×1
𝑦𝑗 = 𝑦𝑖 + ℎ𝐚𝑗 𝐤
Información
No 𝑚=1 previa
𝑚<𝑗
𝑡𝑗 = 𝑡𝑖 + 𝑐𝑗 ℎ 𝑚= 𝑚+1
Si 𝑦𝑖+1 = 𝑦𝑖 + 𝐛𝐤ℎ
𝐸𝑖+1 = 𝐛 − 𝐛∗ 𝐤ℎ
𝑘𝑗 = 𝑓 𝑡𝑗 , 𝑦𝑗 𝑎𝑚 = 𝑎𝑗𝑚
salida

28
EDO-Problemas de Valor Inicial
Algoritmo de Solver explicito basado en RK encapsulado

𝑡𝑖 = 𝑎 𝑦𝑖 =𝑦 𝑎 𝑖=0 𝐭 = 𝑡𝑖 𝐲 = 𝑦𝑖 INICIO

Guardado de puntos
1 𝑓 𝑡, 𝑦 , 𝑦 𝑎 , 𝑎, 𝑏
ℎ = 10 (𝑏 ‒ 𝑎) ℎ =𝜌ℎ
Control adaptativo
Ultimo punto (𝑡=𝑏)
No Si No Si
ℎ = 𝑏 ‒ 𝑡𝑖 𝑡𝑖 +ℎ < 𝑏 𝑖 = 𝑖+1 𝜌 < 0.9 ℎ =𝜌ℎ

RKenc 𝑓, 𝑡𝑖 , 𝑦𝑖 , ℎ adapt 𝑛, 𝐸, 𝑦
𝑦𝑖+1 = 𝑦
↳ 𝑦, 𝐸
↳𝜌

𝑦𝑖+1 = 𝑦 𝑡𝑖+1 = 𝑏 𝑡𝑖+1 = 𝑡𝑖 +ℎ RKenc 𝑓, 𝑡𝑖 , 𝑦𝑖 , ℎ


↳ 𝑦, 𝐸

FIN

29
EDO - Problemas de Valor Inicial
Solver explícito con Python
El modulo integrate de la librería SciPy dispone de la función solve_ivp para la
solución de sistemas EDO. Este implementa múltiples métodos de los cuales por ahora
solo nos referiremos a los métodos explícitos de RK encapsulado.

scipy.integrate.solve_ivp(fun, t_span, y0, method= name)

fun: <callable> Lado derecho de la EDO → f(t, y)


t_span: <2-tuple> Intervalo de integración
y0: <1darray> o <list> Valor(es) iniciales
name: <str> ‘RK23’, ‘DOP853’ (defecto ‘RK45’)

Método orden de los


Autor Recomendaciones de uso
encapsulado RK empleados
Bogacki- para soluciones donde la EDO representa un
RK23 2y3
Shampine, 1989 modelo poco pulido del problema
Dormand & ideal para la solución de problemas de
RK45 4y5
Prince, 1980 propósito general
Dormand & para aplicaciones que requieran muy alta
DOP853 8 y [5,3]
Prince, 1980 precisión en la estimación

30
EDO - Problemas de Valor Inicial
Solver explícito con Python
El argumento y0 debe asignarse siempre como un <list> o <1darray> incluso si el PVI
no corresponde a un sistema de EDOs. Ej. y0= [valor]

solve_ivp retorna un objeto <OdeResult> el cual posee varios atributos, donde los mas
importantes son:
.t: <1darray> Valores de la variable independiente donde se calculo la solución.

.y: <ndarray> Estimación de la solución(es) en los valores de atributo .t


[[y1]] [[y1], [y2], … , [yr]]
Solución EDO individual Solución sistema EDOs

.message: <str> Mensaje que indica si el solver concreto satisfactoriamente la


solución o describe el motivo de su finalización.

31
EDO - Problemas de Valor Inicial
Ejemplo 5. Sistema EDO con Python
Resuelva el PVI del Ejemplo 4 mediante solve_ivp con el método RK45 (D&P).
Adicionalmente, extienda la solución para hasta 𝑡= 5.

𝑧ሶ
𝑧

Condición y(0.2)
inicial

z(0.2) ≈1.3749
32
EDO - Problemas de Valor Inicial
Ejemplo 6. EDO individual con Python
Emplee solve_ivp con el método RK23(B&S) para solucionar el siguiente PVI hasta 𝑡=4
800
− 𝑡−2 2 𝑦 0 = 0.5
𝑦ሶ = 10𝑒 9 − 0.6𝑦

Observar el control adaptativo


del tamaño del paso

33

También podría gustarte