Está en la página 1de 8

Programa de Ingeniería de Sistemas

Asignatura Análisis Numérico


Profesor: ERNESTO VARELA ARREGOCÉS
GUÍA #6
MÉTODOS DE RUNGE -KUTTA

Métodos de Runge Kutta

Introducción: Las ecuaciones diferenciales ordinarias (EDOs) son fundamentales en diversas áreas
de la ciencia y la ingeniería, ya que describen el cambio de variables en función de su propia
derivada. Sin embargo, muchas de estas ecuaciones no se pueden resolver de forma analítica, por
lo que es necesario recurrir a métodos numéricos para obtener soluciones aproximadas. Entre estos
métodos destaca el método de Runge-Kutta, el cual ha demostrado ser eficiente y preciso en la
solución de EDOs. En esta guía, se explorará la importancia de las soluciones numéricas de Runge-
Kutta y su aplicación en la resolución de ecuaciones diferenciales ordinarias.

Los métodos de Runge-Kutta son un conjunto de técnicas numéricas utilizadas para aproximar
soluciones de EDOs. Su nombre se debe a los matemáticos alemanes Carl Runge y Martin Kutta,
quienes desarrollaron este método a principios del siglo XX. La clave de este método radica en
descomponer el problema en una serie de pasos más pequeños y combinar las estimaciones para
obtener una solución aproximada.

Una de las principales ventajas del método de Runge-Kutta es su precisión. A diferencia de otros
métodos numéricos, como el método de Euler, Runge-Kutta utiliza una aproximación de mayor
orden para reducir el error. Esto significa que proporciona soluciones más cercanas a los valores
exactos de la EDO, lo que resulta en una mayor confiabilidad en los resultados obtenidos.

Otra ventaja significativa de las soluciones numéricas de Runge-Kutta es su versatilidad. Este


método se puede aplicar a una amplia gama de problemas, desde sistemas de ecuaciones
diferenciales hasta ecuaciones no lineales. Además, puede adaptarse a diferentes condiciones
iniciales y pasos de tiempo, lo que permite una mayor flexibilidad en la solución de EDOs en
comparación con otros métodos numéricos.

El método de Runge-Kutta también destaca por su eficiencia computacional. Aunque puede requerir
más cálculos en comparación con el método de Euler, su precisión compensa este costo adicional.
Además, los avances en el poder de cómputo han permitido implementar variantes más sofisticadas
del método de Runge-Kutta, como el Runge-Kutta de cuarto orden (RK4), que es ampliamente
utilizado debido a su equilibrio entre precisión y eficiencia.

Aplicaciones prácticas del método de Runge-Kutta son abundantes en campos como la física, la
ingeniería, la biología y la economía. Por ejemplo, en la física, este método se aplica en la resolución
de ecuaciones diferenciales que describen fenómenos como el movimiento de los planetas, la
propagación de ondas y la mecánica cuántica. En la ingeniería, se utiliza para analizar sistemas
dinámicos, como circuitos eléctricos y sistemas de control. En resumen, el método de Runge-Kutta
es una herramienta esencial para la modelización y la simulación de fenómenos complejos en
numerosos campos científicos y técnicos.1
𝑑𝑦
En esta guía se trabajarán solo ecuaciones diferenciales de la forma 𝑑𝑥
= 𝑓(𝑥, 𝑦) con 𝑓(𝑥0 ) =
𝑦0 (1). A partir de la forma general de la ecuación de la línea recta 𝑦𝑖+1 = 𝑦𝑖 + 𝜙ℎ (2) donde 𝜙 es
la pendiente estimada y se emplea para la extrapolación de la dicha recta a un nuevo valor 𝑦𝑖+1 a
una distancia h. Todos los métodos mostrados a continuación emplean este principio y varían
solamente de la forma en que se calcula esta pendiente.

Primer Método: Método de Euler Simple para la solución de EDOs ordinarias.

La definición mostrada en la ecuación (1) (es decir de la pendiente) ofrece una primera estimación
de solución de EDOs que evaluada en valores de 𝑥𝑖 , 𝑦𝑖 es decir 𝑓(𝑥𝑖 , 𝑦𝑖 ) implicaría que 𝜙(𝑥𝑖 , 𝑦𝑖 ) se
reemplaza en (2) resultando la siguiente ecuación:

𝒚𝒊+𝟏 = 𝒚𝒊 + 𝒇(𝒙𝒊 , 𝒚𝒊 )𝒉
Que se conoce con el nombre de Método de Euler o de Euler-Cauchy o punto pendiente.

Ejemplo:

𝑦 ′ = 2𝑥 − 3𝑦 + 1, 𝑦(1) = 5; ℎ = 0.1 𝑜𝑏𝑡𝑒𝑛𝑒𝑟 𝑙𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 ℎ𝑎𝑠𝑡𝑎 𝑦(1,5) =?.

Solución:

Graficamos la ecuación diferencial usando Winplot y observamos el campo direccional de la


ecuación : dy/dx = 2x-3y+1 y

− − − −     

−

−

−

−

1
Chat GPT. Importancia de las soluciones numéricas de Runge-Kutta en la solución de ecuaciones
diferenciales Ordinarias. https://chat.openai.com/.
𝑑𝑦
La solución de esta ecuación diferencial lineal es de la forma canónica: 𝑑𝑥
+ 𝑃(𝑥)𝑦 = 𝑓(𝑥) cuya
fórmula resolutoria viene expresada por:

𝑦 = 𝑒 − ∫ 𝑃(𝑥)𝑑𝑥 ∫ 𝑒 ∫ 𝑃(𝑥)𝑑𝑥 𝑓(𝑥)𝑑𝑥 + 𝑐𝑒 − ∫ 𝑃(𝑥)𝑑𝑥 (*)


𝑑𝑦
Reescribiendo la ecuación diferencial se tiene: 𝑦 ′ = 2𝑥 − 3𝑦 + 1 se tiene que: 𝑑𝑦
+ 3𝑦 = 2𝑥 + 1,
donde 𝑃(𝑥) = 3 y 𝑓(𝑥) = 2𝑥 + 1. Reemplazando estos valores en (*):

𝑦 = 𝑒 −3 ∫ 𝑑𝑥 ∫ 𝑒 3 ∫ 𝑑𝑥 (2𝑥 + 1)𝑑𝑥 + 𝑐𝑒 −3 ∫ 𝑑𝑥 = 𝑒 −3𝑥 ∫ 𝑒 3𝑥 (2𝑥 + 1)𝑑𝑥 + 𝑐𝑒 −3𝑥

Ahora, resolviendo ∫ 𝑒 3𝑥 (2𝑥 + 1)𝑑𝑥 obtenemos la solución por integración por partes:
1 1
𝑦 = 3 (2𝑥 + 1) − 18 + 𝑐𝑒 −3𝑥 , Ahora aplicando la condición inicial: 𝑦(1) = 5, obtenemos que:

1
𝑐 = 4𝑒 3 que reemplazado en la solución general llegamos a que: 𝑦 = (2𝑥 + 1) + 4𝑒 3(1−𝑥) que
3
representa la solución real de la ecuación diferencial que servirá para el cálculo del 𝜀% de la
ecuación en la medida que vaya variando h.

Ahora veamos la solución aplicando el método numérico:

1. Consideremos 𝑓(𝑥, 𝑦) = 𝑦 = 2𝑥 − 3𝑦 + 1, Ahora aplicando: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥𝑖 , 𝑦𝑖 )ℎ se tiene:

i. Iteración 0. Como 𝑥𝑜 = 1 y 𝑦0 = 5 (las condiciones iniciales de la EDO) tenemos:

𝑦1 = 𝑦0 + 𝑓(𝑥0 , 𝑦0 )ℎ → 𝑦1 = 5 + [2(1) − 3(5) + 1](0.1) → 𝑦1 = 3,8

ii. Iteración 1. Ahora, 𝑥1 = 𝑥𝑜 + ℎ = 1 + 0.1 = 1,1 y 𝑦1 = 3,8, ahora aplicando 𝑦𝑖+1 = 𝑦𝑖 +


𝑓(𝑥𝑖 , 𝑦𝑖 )ℎ con los nuevos valores se obtiene:

𝑦2 = 𝑦1 + 𝑓(𝑥1 , 𝑦1 )ℎ → 𝑦2 = 3,8 + [2(1,1) − 3(3,8) + 1](0,1) → 𝑦2 = 2,98

De manera sucesiva se repite el proceso hasta obtener un valor y(1,5). A continuación se muestra la
tabla con los valores:
Obsérvese en la tabla los valores porcentuales de error tan altos, evidenciando que no es la mejor
solución para este tipo de problemas

Solución de Euler en Excel

Las fórmulas empleadas para el ejemplo son las siguientes:

Para el Valor Real celda D5: =(1/3)*(2*B5+1)+(4)*EXP(3*(1-B5))

Para la Solución del método de Euler simple celda E5: =5+(2*B5-3*C5+1) *0,1

Código en Octave del Método de Euler

clc
clear all
disp('Método de Euler')
F=input ('F: ');
X(1)=input ('X(1): ');
Y(1)=input ('Y(1): ');
XP=input('XP: ');
N=input('N: ');
H=abs(XP-X(1))/N;
X=[X(1):H:XP];
for i=[1:N]
Y(i+1)=Y(i)+H*F(X(i),Y(i));
printf('Y(i): %.6f\n', Y(i+1))
endfor
Segundo Método: Método de Euler Mejorado para la solución de EDOs ordinarias.

La fórmula que emplea este método muestra unas mejoras significativas a la hora de resolver una
EDO.

Usando el mismo Ejemplo se tiene que:

𝑦 ′ = 2𝑥 − 3𝑦 + 1, 𝑦(1) = 5; ℎ = 0.1 𝑜𝑏𝑡𝑒𝑛𝑒𝑟 𝑙𝑎 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 ℎ𝑎𝑠𝑡𝑎 𝑦(1,5).



Consideremos 𝑓(𝑥, 𝑦) = 𝑦 = 2𝑥 − 3𝑦 + 1, Ahora aplicando: 𝑦𝑛+1 = 𝑦𝑖 + 𝑓(𝑥𝑛 , 𝑦𝑛 )ℎ se tiene:

Este valor ya fue calculado en el método de Euler Simple usándolo para encontrar la primera
iteración, es decir:

i. Iteración 0. Como 𝑥𝑜 = 1 y 𝑦0 = 5 (las condiciones iniciales de la EDO) tenemos:

𝑓(𝑥0 ,𝑦𝑜 )+𝑓(𝑥1 ,𝑦1∗ )


𝑦1∗ = 𝑦𝑜 + 𝑓(𝑥0 , 𝑦0 )ℎ = 3.8 Entonces 𝑦1 = 𝑦0 + ℎ [ 2
] se obtiene el siguiente valor:

(2(1)−3(5)+1)+(2(1,1)−3(3,8)+1)
𝑦1 = 5 + 0,1 ∗ [ 2
] = 3.99

ii. iteración 1. Como 𝑥1 = 𝑥0 + ℎ = 1 + 0.1 = 1.1 , 𝑦1 = 3.99 Significa que:

𝑦2∗ = 𝑦1 + 𝑓(𝑥1 , 𝑦1 )ℎ = 3.99 + (2(1.1) − 3(3.99) + 1) ∗ 0,1 = 3.113


(2(1,1) − 3(3.99) + 1) + (2(1,2) − 3(3.113) + 1)
𝑦2 = 3.99 + 0,1 ∗ [ ] = 3.25455
2

De igual manera se hace para las siguientes iteraciones. Los resultados se muestran en la siguiente
tabla:

Si observan los resultados obtenidos para 𝑦𝑛 hay una mejoría en los valores, aunque los errores con
respecto a la solución real aparezcan más altos.

Ahora si se comparan los resultados del método de Euler Simple y el de Euler mejorado, hay una
evidente mejora debido a la precisión de los cálculos, pero mejoraría mucho más si se toman valores
para h más pequeño, por ejemplo 0.05 ó 0.025

Con respecto a la gráfica se nota que la curva está mucho más suavizada comparada con la de Euler
Simple por la misma razón
Solución en Excel para Euler Mejorado

Solución de Euler Simple

Solución Real Razón de cambio


Euler
Mejorado

Fórmula para la solución de Real D22: =(1/3)*(2*B22+1)+(1/18)+(4)*EXP(3*(1-B22))

Fórmula para la solución de Euler Simple Celda E22: =5+(2*B22-3*C22+1)*$B$18

Fórmula para la razón de cambio Celda F22: =((2*B22-3*C22+1)+(2*(B22+$B$18)-3*E22+1))/2

Fórmula para la Aplicación final del método de Euler mejorado Celda G22: =C22+$B$18*(F22)

Código fuente de Euler Mejorado

clc
clear all
disp('Método de Euler')
F=input ('F: ');
X(1)=input ('X(1): ');
Y(1)=input ('Y(1): ');
XP=input('XP: ');
N=input('N: ');
H=abs(XP-X(1))/N;
X=[X(1):H:XP];
for i=[1:N]
Y(i+1)=Y(i)+H*F(X(i),Y(i));
Y(i+1)=Y(i)+H/2*(F(X(i),Y(i))+F(X(i+1),Y(i+1)));
printf('Y(i): %.6f\n', Y(i+1))
endfor
Ejercicio en clase. Tome el mismo ejemplo haga los cálculos en Excel y con Octave para valores de
h=0,05 con método de Euler Mejorado

Recursos Bibliográficos

Chat GPT. Importancia de las soluciones numéricas de Runge-Kutta en la solución de ecuaciones


diferenciales Ordinarias. https://chat.openai.com/.

Chapra et. al. Métodos Numéricos para Ingenieros 5ª. Edición. Mc Grah -Hill. México. 2007

Zill, Dennis G. A first Cours in Differential Equations with modeling applications . 9th Edition.
Brooks/Cole Cengage Learning. Belmont, CA. USA. 2009.

También podría gustarte