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.
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.
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