9 Métodos numéricos para resolver ecuaciones diferenciales
Las ecuaciones diferenciales se utilizan para modelar problemas en ciencias e ingeniería que implican el cambio de una variable con respecto a otra. La mayoría de estos problemas requieren la solución de un problema de valor inicial, es decir, la solución de una ecuación diferencial que satisface una condición inicial dada.
En situaciones comunes de la vida real, la ecuación diferencial que modela el problema es demasiado complicada para resolverla exactamente y se adopta uno de dos enfoques para aproximar la solución. El primer enfoque consiste en modificar el problema simplificando la ecuación diferencial a uno que se puede resolver exactamente y luego usar la solución de la ecuación simplificada para aproximar la solución al problema original. El otro enfoque, utiliza métodos para aproximar la solución del problema original. Este es el enfoque que se adopta con mayor frecuencia porque los métodos de aproximación dan resultados más precisos e información de error realista.
Los métodos que se abordarán en esta sección no producen una aproximación continua a la solución del problema de valor inicial. Más bien, las aproximaciones se encuentran en ciertos puntos específicos y, a menudo, igualmente espaciados. Si se necesitan valores intermedios, se utiliza algún método de interpolación.
El método de Euler es la técnica de aproximación más elemental para resolver problemas con valores iniciales. Aunque rara vez se usa en la práctica, la simplicidad de su derivación puede usarse para ilustrar las técnicas involucradas en la construcción de algunas de las técnicas más avanzadas, sin el engorroso álgebra que acompaña a estas construcciones.
El objetivo del método de Euler es obtener aproximaciones al problema de valor inicial:
El método de Euler consiste en ir trazando rectas tangentes sucesivas a partir del valor inicial. Comenzamos linealizando la solución desconocida y(t) de (1) en t=t0:
La gráfica de esta linealización es una línea recta tangente a la gráfica de y=y(t) en el punto (t0,y0) y cuya pendiente está dada por f(t0,y0), tal como se puede observar en la Figura Figure 1:
Donde y1=L(t1). En la línea tangente, el punto (t1,y1) es una aproximación al punto (t1,y(t1)) ubicado sobre la curva solución (ver Figura \ref{fig:euler_method}). La exactitud de la aproximación y1≈y(t1) depende en gran medida del tamaño del incremento h. La recomendación es que debemos elegir este tamaño del paso lo razonablemente pequeño. Ahora repetimos el proceso mediante una segunda línea tangente en (t1,y1). Tomando como punto de base a la aproximación anterior (t1,y1) podemos obtener una aproximación y2≈y(t2) correspondiente a dos pasos de longitud h desde t0, es decir, t2=t1+h=t0+2h, así:
Así, la aproximación buscada es yaprox(0.5)≈y5≈6.3. Se puede verificar de forma sencilla que la solución exacta para este problema de valor inicial está dada por:
Entonces, el valor real de la función solución en t=0.5 es y(0.5)=6.375. En la Figura Figure 2 se pueden observar la curva solución y la aproximación realizada mediante el método de Euler en el intervalo 0≤t≤0.5. Podemos notar que conforme nos alejamos de la aproximación del valor inicial, la diferencia entre la función solución y la aproximación se hace un poco más evidente.
Los métodos de Runge-Kutta son una familia de métodos numéricos para aproximar soluciones de ecuaciones diferenciales ordinarias. Son métodos iterativos, lo que significa que se basan en aproximaciones sucesivas para obtener la solución. La idea básica detrás del método de Runge-Kutta es aproximar la solución de una EDO mediante una serie de pasos. En cada paso, se calculan varios valores intermedios que se utilizan para mejorar la aproximación.
Los métodos de Runge-Kutta tienen la forma generalizada:
donde ϕ(ti,yi,h) se conoce como función incremento, la cual puede interpretarse como una pendiente representativa en el intervalo. La función incremento se escribe en forma general como:
donde las p y las q son constantes. Observe que las k son relaciones de recurrencia. Es decir, k1
aparece en la ecuación k2, la cual aparece en la ecuación k3, etc. Como cada k es una evaluación
funcional, esta recurrencia vuelve eficientes a los métodos RK para cálculos en computadora. Es posible tener varios tipos de métodos de Runge-Kutta empleando diferentes números de términos en la función incremento especificada por n.
El más popular de los métodos Runge-Kutta es el de cuarto orden. Hay un número infinito de versiones. La siguiente, es la forma comúnmente usada y, por lo tanto, le llamamos método clásico de Runge-Kutta de cuarto orden (o RK4 en forma abreviada):
Las constantes k1, k2, k3 y k4, representan una pendiente calculada, tal como se muestra en la Figura Figure 3. Cada aproximación es un promedio ponderado de estas pendientes. Observe que k2 se calcula en el medio paso ti+0.5h y utilizando el valor previamente estimado mediante k1, algo similar ocurre con k3 y k4.
Ejemplo. Runge-Kutta de 4to. orden.
Utilice un método de Runge-Kutta de cuarto orden para obtener una aproximación al problema de valor inicial en el intervalo 0≤t≤0.5, con un paso h=0.1.
Las anteriores y las subsecuentes aproximaciones en el intervalo propuesto se resumen en la siguiente tabla:
ti
k1
k2
k3
k4
yi
0.10
2.0000
2.1500
2.1500
2.3000
5.2150
0.20
2.3000
2.4500
2.4500
2.6000
5.4600
0.30
2.6000
2.7500
2.7500
2.9000
5.7350
0.40
2.9000
3.0500
3.0500
3.2000
6.0400
0.50
3.2000
3.3500
3.3500
3.5000
6.3750
En la Figura Figure 4 se observan las gráficas de las aproximaciones mediante el método de Euler y el de Runge-Kutta de cuarto orden (ambos con h=0.1). Se puede notar que la aproximación de RK4 prácticamente cae sobre la curva solución real.
9.3Ecuaciones diferenciales ordinarias de segundo orden¶
El problema de valor inicial de segundo orden se puede escribir de forma general como:
Las ecuaciones (39) y (40) conforman un sistema de dos ecuaciones diferenciales de primer orden. Ahora el problema se centra en determinar las funciones solución y y u sujetas a las condiciones iniciales:
Así pues, la aproximación mediante el método de Euler para un sistema de EDO de primer orden como el de las ecuaciones (39) y (40), se puede escribir como:
Observe que la ecuación vectorial (52) es análoga a la ecuación escalar (1). Las expresiones de las secciones previas se pueden utilizar para resolver el sistema de ecuaciones en forma vectorizada, haciendo los ajustes correspondientes en la formulación.
Se puede escribir como un sistema de ecuaciones diferenciales de primer orden, haciendo la sustitución descrita en la sección Section 9.3 para cada una de las ecuaciones, es decir:
Utilice el método de Runge-Kutta de cuarto orden para aproximar la solución del problema de valor inicial de segundo orden. Compare las aproximaciones obtenidas con la solución real.
Donde m1 es la masa del manipulador, g la constante de aceleración de la gravedad y τ1 una fuerza generalizada aplicada al manipulador. Utilice el método de Euler y el método de Runge-Kutta de cuarto orden para aproximar la solución de la ecuación diferencial en el intervalo 0≤t≤1, bajo las siguientes condiciones iniciales y tamaño de paso: