12 de mayo de 2012

Ecuaciones Diferenciales con Métodos Numéricos

Modelado y Simulación de Sistemas Dinámicos
Complemento
Los métodos numéricos son técnicas mediante las cuales es posible formular problemas de tal forma que sean resueltas con operaciones aritméticas, Aunque hay muchos tipos de métodos numéricos todos comparten una característica común, llevan cabo un buen número de cálculos aritméticos que se resuelven una y otra vez.

Pero haciendo uso de programas computacionales y estos métodos, llegar a una solución casi exacta a la real es muy fácil, ya que en realidad se trata de programas en los que se tiene una iteración en la cual siempre se repiten los mismos cálculos pero con cambio de valor en las variables, lo que hacerlo a "mano" resulta muy tedioso.

Pero para entender primero como hacerlo mediante un programa, tenemos que entender como se hace a "mano", o por lo menos yo creo que es la forma más fácil de entenderlo.

Cree este documento explicando paso por paso como resolver un ejemplo con el Método de Euler hacia delante y Runge Kutta 2do. Orden.

Ecuaciones Diferenciales Ordinarias

Ahora que ya vimos como se resuelve a mano, tenemos el siguiente ejemplo de código para resolver en específico una ecuación diferencial escrita con python.


Los datos obtenidos mediante este programa son pasados a un archivo llamado euler.dat que después grafique con gnuplot y se obtuvo lo siguiente.


Y ahora lo mismo pero el código ahora muestra como se resuelve la misma ecuación diferencial, pero ahora con el método de Runge Kutta.


Al igual que con el anterior los datos obtenidos son pasados a un archivo llamado rungekutta.dat y esos datos son graficados con gnuplot y obtenemos lo siguiente.


Y aquí una comparación de las dos gráficas en una sola imagen, el de color verde es el método de Runge Kutta 2do. Orden y con color rojo tenemos el método de Euler hacia delante.


Se recomienda primero probar con una ecuación diferencial sencilla la cual conozcamos su comportamiento como y' = y , la cual nos debería de arrojar una gráfica que se incrementa en Y con el paso de T en X.

En el siguiente enlace podan encontrar más información de estos métodos, y muestran una comparación de exactitud de los métodos, y para diferentes iteraciones se ve el cambio de precisión.

Enlace: Métodos Numéricos

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.