¿Es posible simular todas las ecuaciones diferenciales en MATLAB?

Si su ecuación diferencial (ODE o PDE!) Tiene una solución única, suficientemente regular (“suave”) definida en un conjunto cerrado y acotado (ejemplo: cualquier ODE “agradable” por poco tiempo, cualquier primer “agradable” no lineal ordene ODE localmente cerca de los límites), luego puede resolverlo en MATLAB en principio .

Las funciones suaves en conjuntos compactos tienen todas las derivadas limitadas y, por lo tanto, en principio, una aproximación de diferencia finita convergerá a la solución verdadera a medida que refina su malla. La rapidez con que ocurra esta convergencia depende de cuán grandes sean estos límites de derivación, y si son demasiado grandes, resolver la ecuación en una computadora puede ser poco práctico …

Esto enfatiza la importancia de responder preguntas teóricas sobre ODE / PDE con respecto a su existencia, singularidad y regularidad.

La respuesta es, en resumen, sí, lo es.

Matlab hace posible resolver odas bien planteadas en términos de problemas de valor inicial de forma numérica.

Sería muy bueno si tuvieras algunas experiencias con Simulink en Matlab. Utilizándolo, puede diseñar y resolver sus sistemas de oda (s) en forma de gráfico que consiste en los llamados integradores que están disponibles como una caja de herramientas en Simulink.

Tal vez podrías echar un vistazo a la imagen de abajo. De hecho, esta imagen muestra un solucionador que he diseñado para simular la solución del problema de los tres cuerpos que involucra el sol, la tierra y la luna en un caso simple sin el movimiento del sol en rojo en el centro de la ventana negra.

Mirando dos ventanas inferiores en la imagen, de izquierda a derecha, podemos ver las trayectorias de la tierra y la luna, que se renderizaron instantáneamente después de cada paso de la simulación.

La respuesta corta es no. (Por cierto, la terminología estándar es resolver numéricamente la ecuación diferencial, no “simular”. Se simula un problema físico, pero se resuelve una ecuación) . La línea divisoria importante es entre ecuaciones diferenciales ordinarias y parciales. Las funciones enlatadas incluidas con Matlab pueden resolver numéricamente más o menos cualquier problema de valor inicial para ecuaciones diferenciales ordinarias. Sin embargo, las ecuaciones diferenciales parciales son un juego de pelota completamente diferente. El problema no es tanto Matlab como que las ecuaciones diferenciales parciales no admiten un tratamiento unificado en la forma en que lo hacen las ecuaciones diferenciales ordinarias. Las ecuaciones diferenciales parciales deben tratarse caso por caso, de modo que el método numérico respete las propiedades matemáticas de la ecuación particular en cuestión. En la práctica, las ecuaciones diferenciales parciales se clasifican y estudian de acuerdo con sus propiedades cualitativas (ecuaciones de transporte, leyes de conservación, ecuaciones difusivas, etc.), y se han diseñado métodos numéricos para respaldar estas propiedades cualitativas.

Como Matlab es un entorno de programación, cualquiera de los métodos numéricos desarrollados para ecuaciones diferenciales parciales se puede implementar en principio en Matlab. Matlab es una herramienta estándar en la actualidad para investigadores de computación científica que desde cero desarrollan métodos para resolver ecuaciones diferenciales parciales. Los usuarios finales que no desean llevar a cabo la implementación por sí mismos deben confiar en otro software. Las opciones populares para el software enlatado que puede abordar un amplio espectro de ecuaciones son Comsol (comercial) y Fenics (gratis).

Matlab tiene un conjunto muy rico de cajas de herramientas para resolver ecuaciones diferenciales ordinarias. Para algunos problemas específicos del dominio, puede que no haya una caja de herramientas correspondiente. Por ejemplo, hay muchas herramientas para sistemas de EDO lineales. Pero un código para resolver las ecuaciones no lineales de Navier-Stokes sería un poco más difícil. ¿Se puede usar Matlab para resolver todas las ecuaciones diferenciales? Sí, en el sentido de que puede programar su propio solucionador, como en cualquier otro lenguaje de programación. No, en el sentido de que solo tiene un número finito (pero grande) de cajas de herramientas preconstruidas.

La mayoría de las ecuaciones diferenciales se resuelven numéricamente utilizando una receta de algoritmo. Según el tipo de diferencial, algunas recetas funcionan mejor que otras y algunas nunca funcionarán, ya que la solución se volverá inestable.
MATLAB tiene muchas cajas de herramientas integradas que resuelven los diferenciales, puede consultar la documentación sobre el tipo de algoritmo y cuándo funciona mejor. Obviamente, el conjunto de funciones no funcionará para todas las ecuaciones. Pero si desarrolla su propio método o modifica un algoritmo existente, puede potencialmente escribir un script usando MATLAB para simular cualquier ecuación diferencial.

Si. En cierto sentido, MATLAB es solo una herramienta o un lenguaje de programación. Si puede o no simular la solución depende de qué tan bien esté su algoritmo numérico o analítico. Lo que MATLAB hace por usted es hacer lo que le dice. Entonces diré que sí.

Suponiendo que, de hecho, el ODE o PDE realmente tiene soluciones en cualquier intervalo que sea y no es tremendamente difícil de implementar. Entonces sí más o menos.