Método de Runge-Kutta de Cuarto Orden para Resolver Ecuaciones Diferenciales

Tabla de Contenidos

Introducción

Se presenta una calculadora para resolver ecuaciones diferenciales de segundo orden utilizando un método numérico basado en el Método de Runge-Kutta de Cuarto Orden [1] y un método analítico basado en calculadora analítica para fines de comparación y educativos.
Se presenta el método de Runge-Kutta de cuarto orden aplicado a una ecuación diferencial de primer orden y luego el mismo método se aplica a una ecuación diferencial lineal de segundo orden. Finalmente, se incluye un tutorial interactivo para estudiar los efectos del tamaño del paso \( h \) utilizado en el método de Runge-Kutta.

Método de Runge-Kutta de Cuarto Orden para una Ecuación Diferencial de Primer Orden

El método de Runge-Kutta de cuarto orden es un método numérico ampliamente utilizado para resolver ecuaciones diferenciales ordinarias (EDO) de la forma: \[ \dfrac{dy}{dt} = f(y, t) \] con una condición inicial \( y(0) = y_0 \). El método de Runge-Kutta de cuarto orden aproxima la solución \( y(t) \) en un tiempo futuro \( t + h \) (donde \( h \) es el tamaño del paso) basándose en la información en el tiempo \( t \). El método utiliza cuatro pasos intermedios para calcular la pendiente en diferentes puntos dentro del intervalo \([t, t+h]\) y los combina para obtener un promedio ponderado de la pendiente, que luego se usa para estimar \( y(t+h) \). Aquí están los pasos involucrados en el método de Runge-Kutta de cuarto orden:
Paso 1: \[ k_1 = h \cdot f(y_n, t_n) \] Aquí, \( y_n \) y \( t_n \) son los valores actuales de \( y \) y \( t \).
Paso 2: \[ k_2 = h \cdot f\left(y_n + \dfrac{k_1}{2}, t_n + \dfrac{h}{2}\right) \] Paso 3: \[ k_3 = h \cdot f\left(y_n + \dfrac{k_2}{2}, t_n + \dfrac{h}{2}\right) \] Paso 4: \[ k_4 = h \cdot f(y_n + k_3, t_n + h) \] Paso 5:
Actualizar \( y \) y \( t \) El método de Runge-Kutta de cuarto orden combina las cantidades anteriores (pendientes) para aproximar el valor de \( y \) al final del intervalo \([t, t+h]\). Se calcula el promedio ponderado de estas pendientes usando la fórmula: \[ \dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4) \] Esta pendiente promedio se multiplica luego por \( h \) y se suma a \( y_n \) para actualizar el valor de \( y \) en \( t_{n+1} \). \[ y_{n+1} = y_n + h (\dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)) \] \[ t_{n+1} = t_n + h \]

Método de Runge-Kutta para una Ecuación Diferencial de Segundo Orden

Para una ecuación diferencial de segundo orden de la forma: \[ \dfrac{d^2y}{dt^2} = f(y, \dfrac{dy}{dt}, t) \] con condiciones iniciales: \[ y(0) = y_0 \] \[ \dfrac{dy}{dt}(0) = \dfrac{dy}{dt}_0 \] podemos convertirla en un sistema de dos ecuaciones diferenciales de primer orden introduciendo una nueva variable:
Sea \[ \dfrac{dy}{dt} = v \] Por lo tanto, la ecuación diferencial de segundo orden se puede escribir como un sistema de la siguiente manera: \[ \dfrac{dy}{dt} = v \] \[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = f(y, v, t) \] Luego podemos usar el método de Runge-Kutta de cuarto orden para resolver este sistema de ecuaciones diferenciales de primer orden de la siguiente manera:
Paso 1:
Calcular \( k_{1y} \) y \( k_{1v} \) \[ k_{1y} = h \cdot v \] \[ k_{1v} = h \cdot f(y_n, v_n, t_n) \]
Paso 2:
Calcular \( k_{2y} \) y \( k_{2v} \) \[ k_{2y} = h \cdot (v_n + \dfrac{k_{1v}}{2}) \] \[ k_{2v} = h \cdot f\left(y_n + \dfrac{k_{1y}}{2}, v_n + \dfrac{k_{1v}}{2}, t_n + \dfrac{h}{2}\right) \]
Paso 3:
Calcular \( k_{3y} \) y \( k_{3v} \) \[ k_{3y} = h \cdot (v_n + \dfrac{k_{2v}}{2}) \] \[ k_{3v} = h \cdot f\left(y_n + \dfrac{k_{2y}}{2}, v_n + \dfrac{k_{2v}}{2}, t_n + \dfrac{h}{2}\right) \]
Paso 4:
Calcular \( k_{4y} \) y \( k_{4v} \) \[ k_{4y} = h \cdot (v_n + k_{3v}) \] \[ k_{4v} = h \cdot f(y_n + k_{3y}, v_n + k_{3v}, t_n + h) \]
Paso 5:
Actualizar \( y \) y \( v \) \[ y_{n+1} = y_n + \dfrac{1}{6}(k_{1y} + 2k_{2y} + 2k_{3y} + k_{4y}) \] \[ v_{n+1} = v_n + \dfrac{1}{6}(k_{1v} + 2k_{2v} + 2k_{3v} + k_{4v}) \] \[ t_{n+1} = t_n + h \]

Calculadora de Método de Runge-Kutta

Ahora presentamos una calculadora que aproxima la solución a las ecuaciones diferenciales de segundo orden de la forma \[ a \dfrac{d^2y}{dt^2} + b \dfrac{dy}{dt} + c y = 0 \] usando el método de Runge-Kutta de cuarto orden descrito anteriormente y la solución también se da analíticamente para fines de comparación.
La ecuación diferencial anterior también se resuelve analíticamente para hacer comparaciones.
Sea \[ \dfrac{dy}{dt} = v \] Por lo tanto, necesitamos aplicar el método de Runge-Kutta de cuarto orden al siguiente sistema. \[ \dfrac{dy}{dt} = v \] \[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = \dfrac{1}{a} (- b \; v - c \; y ) \] La calculadora utiliza el método de Runge-Kutta de cuarto orden y también resuelve la misma ecuación diferencial analíticamente y compara los resultados gráficamente.

Ingrese Coeficientes y Condiciones Iniciales

Introduzca los coeficientes \(a, b \) y \( c \) así como las condiciones iniciales \( y(0) \) y \( dy/dt(0) \) y el tamaño del paso \( h \), luego resuelva y compare las gráficas de las soluciones numéricas y analíticas obtenidas.
Nota
1) Puede usar el ratón y pasar por encima de las gráficas para obtener una lectura de puntos en las gráficas y por lo tanto compararlos.
Lectura de puntos en una gráfica
2) Use el ratón para mostrar una gráfica a la vez o ambas haciendo clic en las gráficas en la leyenda que se muestra en el lado derecho.
Leyenda de la gráfica
3) Los errores al usar el método de Runge-Kutta dependen del tamaño del paso \( h \). Esta calculadora permite cambiar \( h \) y por lo tanto comparar los métodos numéricos y analíticos y estudiar el efecto de \( h \) en los errores debido a la aproximación utilizada en el método de Runge-Kutta de cuarto orden.
4) También puede cambiar el número \( n \) de pasos utilizados en los cálculos. La gráfica se extiende desde \( x = 0 \) hasta \( x = n \times h \).








Soluciones:

Tutorial Interactivo: Efectos del Tamaño del Paso \( h \) en la Aproximación por el Método de Runge-Kutta

Introduzca los siguientes valores para las constantes \( b , c \) y \( d \) de la siguiente manera:
\( a = 1 \) , \( b = 0.5 \) y \( c = 5 \) lo cual debería dar una función oscilante con amplitud decreciente.
Ahora ingrese valores de \( h \) empezando desde \( h = 0.01 \) y luego aumente \( h \) hasta 1. ¿Qué valores de \( h \) ofrecen una mejor aproximación a la solución cuando se comparan con el método analítico?

Más Referencias y Enlaces

1 - https://personal.math.ubc.ca/~cbm/aands/abramowitz_and_stegun.pdf - Manual de Funciones Matemáticas - por A. Abramowitz e I. Stegun - Página 875
2 - Cálculo Universitario - Trascendentales Tempranas - Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540
3 - Cálculo - Gilbert Strang - MIT - ISBN-13 : 978-0961408824
4 - Cálculo - Trascendentales Tempranas - James Stewart - ISBN-13: 978-0-495-01166-8