Está en la página 1de 7

26/5/2021

ANÁLISIS NUMÉRICO Y CÁLCULO AVANZADO


Método de Runge-Kutta (segunda parte)

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 1

Métodos de Runge-Kutta
Como ya dijimos, los método RK son métodos de un paso cuya fórmula general es:
𝑦𝑖+1 = 𝑦𝑖 + 𝜙(𝑥𝑖 , 𝑦𝑖 , ℎ) ∙ ℎ
función incremento
La función incremento tiene la forma 𝜙 = 𝑎1 ∙ 𝑘1 + 𝑎2 ∙ 𝑘2 + ⋯ + 𝑎𝑛 ∙ 𝑘𝑛 , donde las
𝑎𝑗 son constantes y las 𝑘𝑗 vienen dadas por:
Observe que, cuando 𝑛 = 1 será 𝜙 = 𝑎1 ∙ 𝑘1 , es
𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖 decir: 𝜙 = 𝑎1 ∙ 𝑓 𝑥𝑖 , 𝑦𝑖 , luego:
𝑘2 = 𝑓 𝑥𝑖 + 𝑝1 ℎ, 𝑦𝑖 + 𝑞11 𝑘1 ℎ 𝑦𝑖+1 = 𝑦𝑖 + 𝑎1 ∙ 𝑓 𝑥𝑖 , 𝑦𝑖 ∙ ℎ, si 𝑎1 = 1 es un
Euler, una aproximación de primer orden de
𝑘3 = 𝑓 𝑥𝑖 + 𝑝2 ℎ, 𝑦𝑖 + 𝑞21 𝑘1 ℎ + 𝑞22 𝑘2 ℎ Taylor, con un error de truncamiento local 𝒪 ℎ2
⋮ y global 𝒪 ℎ

𝑘𝑛 = 𝑓 𝑥𝑖 + 𝑝𝑛−1 ℎ, 𝑦𝑖 + 𝑞𝑛−11 𝑘1 ℎ + 𝑞𝑛−12 𝑘2 ℎ + ⋯ + +𝑞𝑛−1𝑛−1 𝑘𝑚−1 ℎ


donde los coeficientes 𝑝𝑘 y 𝑞𝑟𝑠 son constantes arbitrarias.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 2

1
26/5/2021

Métodos de Runge-Kutta
El más popular de los métodos Runge-Kutta es el de cuarto orden. Hay infinitas
versiones del método, la más usual es:
1 𝑦 𝑘2
𝑦𝑖+1 = 𝑦𝑖 + 𝑘 + 2𝑘2 + 2𝑘3 + 𝑘4 ∙ ℎ
6 1
donde: 𝑘1
𝑘3 valor estimado
𝑥𝑖+1 , 𝑦𝑖+1
𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖 𝑦𝑖

1 1 𝑘4
𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘1 )
2 2
1 1 ℎ
𝑘3 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘2 ) 0 𝑥𝑖 𝑥 1 𝑥𝑖+1 𝑥
2 2 𝑖+
2

𝑘4 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘3 )
se denomina: Método de Runge-Kutta clásico de cuarto orden
UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 3

Métodos de Runge-Kutta
Ejemplo: 𝑑𝑦
= 4𝑒 0.8𝑥 − 0.5𝑦 𝑓 𝑥, 𝑦
𝑑𝑥

𝑥𝑖 𝑦𝑖 𝑘1 𝑘2 𝑘3 𝑘4
1 0 2,0000 3,0000 4,2173 3,9130 5,9457
𝑦𝑖+1 = 𝑦𝑖 + 𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ∙ ℎ
6 1 6,2011 5,8016 8,7295 7,9975 12,7128
𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖 2 14,8625 12,3809 19,0297 17,3675 27,9777
3 33,7213 27,2321 42,1099 38,3905 62,0742
1 1
𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘1 ) 4 75,4392
2 2
1 1
𝑘3 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘2 ) El valor verdadero es: 75,3389
2 2
El error absoluto es: 0,1003
𝑘4 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ𝑘3 )
El error absoluto con el método de Euler (clase pasada): 18,5899

El método RK clásico de 4° orden, tiene un ETL: 𝒪 ℎ5 y un ETG: 𝒪 ℎ4


UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 4

2
26/5/2021

Métodos de Runge-Kutta
Sistemas de Ecuaciones
Un sistema de ecuaciones diferenciales ordinarias se representa como:
𝑑𝑦1
= 𝑓1 𝑥, 𝑦1 , 𝑦2 , … , 𝑦𝑛 El sistema puede resolverse con cualquiera de los
𝑑𝑥
𝑑𝑦2 métodos estudiados, lo único que debemos tener
= 𝑓2 𝑥, 𝑦1 , 𝑦2 , … , 𝑦𝑛 en cuenta es que la técnica seleccionada se debe
𝑑𝑥
⋮ aplicar en todas las ecuaciones, en cada paso,
𝑑𝑦𝑛 antes de pasar al siguiente.
= 𝑓𝑛 𝑥, 𝑦1 , 𝑦2 , … , 𝑦𝑛
𝑑𝑥
Donde 𝑓1 , … , 𝑓𝑛 representa el conjunto de operaciones que relacionan a la variable
independiente 𝑥 y las variables dependientes 𝑦𝑗 y sus derivadas de primer orden.
Para dar una solución a este sistema se requiere conocer 𝑛 condiciones iniciales para el
mismo valor de la variable independiente 𝑥 (problemas de valor inicial).
UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 5

Métodos de Runge-Kutta
Un modelo simple
Un modelo interesante de un sistema de ecuaciones diferenciales ordinarias de primer orden
acopladas, es el propuesto por LOTKA y VOLTERRA. Fue ideado para estudiar la dinámica de
especies interdependientes (se lo conoce también como modelo presa-predador):
𝑑𝑥
= 𝑎𝑥 − 𝑏𝑥𝑦
𝑑𝑡
𝑑𝑦
= −𝑐𝑦 + 𝑑𝑥𝑦
𝑑𝑡
𝑥 𝑡 es la cantidad de presas en un instante de tiempo, 𝑦 𝑡 es la cantidad de predadores en
un instante de tiempo, 𝑎 la tasa de natalidad de presas, 𝑐 la tasa de mortalidad de predadores
y 𝑏 y 𝑑 coeficientes que miden la “efectividad” de encuentros.
Diremos, además, que 𝑥0 e 𝑦0 son las poblaciones iniciales.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 6

3
26/5/2021

Métodos de Runge-Kutta
Supongamos que queremos resolver el sistema usando alguno de los métodos estudiados
digamos, por ejemplo, Euler:
En nuestro caso, será:
𝑑𝑥 𝑑𝑥
𝑑𝑥
= 𝑎𝑥 − 𝑏𝑥𝑦 → = 𝑓 𝑡, 𝑥, 𝑦 = 1.2𝑥 − 0.6𝑥𝑦
𝑑𝑡 𝑑𝑡 𝑑𝑡
𝑑𝑦 𝑑𝑦
𝑑𝑡
= −𝑐𝑦 + 𝑑𝑥𝑦 →
𝑑𝑡
= 𝑔 𝑡, 𝑥, 𝑦 𝑑𝑦
= −0.8𝑦 + 0.3𝑥𝑦
𝑑𝑡
Por lo tanto (según el método de Euler):
𝑥𝑖+1 = 𝑥𝑖 + 𝑓 𝑡𝑖 , 𝑥𝑖 , 𝑦𝑖 ∙ ℎ
𝑦𝑖+1 = 𝑦𝑖 + 𝑔(𝑡𝑖 , 𝑥𝑖 , 𝑦𝑖 ) ∙ ℎ

Supongamos que 𝑎 = 1.2, 𝑏 = 0.6, 𝑐 = 0.8 y 𝑑 = 0.3, con 𝑥0 = 2 y 𝑦0 = 1


UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 7

Métodos de Runge-Kutta
En un modelo tal, existen puntos críticos o puntos de equilibrio, los mismos se obtienen
cuando las derivadas son cero:
En nuestro ejemplo:
0 = 𝑎𝑥 − 𝑏𝑥𝑦
0,0
0 = −𝑐𝑦 + 𝑑𝑥𝑦
0.8 1.2
De la primera ecuación, sacamos 𝑥 factor común: ,
0.3 0.6
𝑎
𝑥 𝑎 − 𝑏𝑦 = 0, 𝑥 = 0, 𝑦=
𝑏
Para 𝑥 = 0, reemplazando en la segunda ecuación, tenemos 𝑦 = 0
Para 𝑦 = 𝑎/𝑏, reemplazando en la segunda ecuación:
𝑎 𝑎 𝑐
0 = −𝑐 + 𝑑𝑥 , 𝑥=
𝑏 𝑏 𝑑
Por lo tanto, los puntos críticos del sistema son: 0, 0 y 𝑐/𝑑, 𝑎/𝑏
UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 8

4
26/5/2021

Métodos de Runge-Kutta
Métodos adaptativos de Runge-Kutta
𝑦 Hasta ahora se han presentado métodos, para resolver las
EDOs, que emplean un tamaño de paso constante. En un
número significativo de problemas, esto puede llegar a
representar una seria limitación. Cuando la función
presenta cambios abruptos (como el que podemos
observar en el gráfico de la izquierda), estos métodos
0 𝑥𝑖 𝑥𝑖+1 𝑥𝑖+2 𝑥𝑖+3 𝑥 pueden ocasionar que pasen inadvertidos en la solución.
ℎ ℎ ℎ Los algoritmos que ajustan automáticamente el tamaño
del paso pueden evitar tal desperdicio y lograr así, una
ventaja. Como estos algoritmos se «adaptan» a la trayectoria de la solución, se dice que tiene
control adaptativo del tamaño de paso.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 9

Métodos de Runge-Kutta
Un método adaptativo es aquel que cambia el paso de integración de forma tal que el error
de truncamiento local (ETL) cometido, se encuentre siempre por debajo de cierta tolerancia 𝜀
prefijada.
Como NO conocemos la curva solución, no podemos precisar cuál tramo es suave y cuál no,
entonces recurrimos a «estimar» el error de truncamiento local, en cada paso, para adaptar el
paso ℎ usando uno que sea adecuado en cada tramo.

Con RK o Taylor no se puede calcular el error verdadero pero se puede estimar al


menos de dos maneras

a) Usar el mismo método con dos pasos distintos.


b) Usar un mismo paso con dos métodos distintos.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 10

5
26/5/2021

Métodos de Runge-Kutta
a) Método adaptativo RK de medio paso
Se calcula 𝑦𝑖+1 desde 𝑦𝑖 con un paso ℎ, y luego con dos iteraciones de paso ℎ/2. Se obtienen
(1) (2)
así dos valores de 𝑦𝑖+1 que llamaremos 𝑦𝑖+1 y 𝑦𝑖+1 . Una estimación del error de truncamiento
(2) (1)
local (ETL) será su diferencia en valor absoluto: ∆= 𝑦𝑖+1 − 𝑦𝑖+1
Con un método de RK 4 (clásico) la corrección es:
(2)
(2) (2) ∆ 𝑦𝑖+1
𝑦𝑖+1 = 𝑦𝑖+1 + 15 ∆
(1)
𝑦𝑖+1
Esta estimación tiene una exactitud de quinto orden.
𝑦𝑖

𝑥𝑖 𝑥 1 𝑥𝑖+1
𝑖+
2

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 11

Métodos de Runge-Kutta
b) Método RK encapsulado o de RK-Fehlberg
En este caso, se usan métodos RK4 y RK5 con un mismo paso ℎ y se estima el error como
diferencia de los resultados obtenidos:
(2) (1)
∆= 𝑦𝑖+1 − 𝑦𝑖+1
(2)
𝑦𝑖+1
𝑅𝐾5 ∆
(1)
𝑦𝑖+1 Esto implicaría 4 + 6 evaluaciones de la EDO (es decir, de
𝑦𝑖 𝑅𝐾4 la derivada) pero Fehlberg ideó un método para
ponderar las derivadas que permite usar las mismas
evaluaciones de RK4 en RK5 y de esta manera solo hacen
𝑥𝑖 𝑥𝑖+1
falta 6 evaluaciones.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 12

6
26/5/2021

Métodos de Runge-Kutta
Control adaptativo del tamaño del paso
Cualquiera sea el método de estimación del ETL, una vez calculado se puede adaptar el paso:
- Si ∆ ≫ 𝜀, entonces hay que desestimar el valor obtenido y disminuir el paso ℎ.
- Si ∆ ≪ 𝜀, entonces hay que tomar el valor obtenido y aumentar el paso ℎ.
- Si ∆ ≅ 𝜀, entonces hay que tomar el valor obtenido y mantener el paso ℎ.
Una estrategia simple es dividir por dos el paso para disminuirlo y multiplicarlo por dos para
aumentarlo pero hay reglas más complejas.

UTN – FRC. Departamento de Ingeniería Industrial. Análisis Numérico y Cálculo Avanzado 05 - 13

También podría gustarte