Suponga que tiene un sistema de PDE para resolver. Al menos por simplicidad, supongamos que es independiente del tiempo, cuasi lineal (lineal en sus derivadas) resuelto en una cuadrícula rectangular en el espacio (x, y) y con condiciones de contorno especificadas por todos lados. Mi pregunta es más general, pero comencemos aquí.
Puede haber dos variables dependientes, y . La ecuación general podría tener la forma:v ( x , y )
donde todas las funciones de a son matrices de 2x2, es una matriz de 2x1 e ese f Y
Suponga que desea calcular una aproximación numérica de diferencia finita. Suponga que los puntos de la cuadrícula están espaciados uniformemente en x e y. Puede discretizar en N puntos ey en M puntos. Y luego construiría una solución como un vector de columna de 2 (nm).
Entonces resolverías algún tipo de ecuación matricial
donde las matrices de 2nm x 2nm de la a la son matrices de diferencias finitas para los operadores diferenciales correspondientes. La matriz combinada entre paréntesis tendrá algún tipo de estructura de bandas en bloque. Sus valores de borde pueden ser complicados debido a las condiciones de contorno.
Mi pregunta es simple: ¿hay una manera fácil (particularmente en Matlab ) de generar las matrices de la a la ? O, al menos, una guía simple para crear todas las matrices necesarias (excepto quizás las modificaciones que necesita para las condiciones de contorno, que podrían ser una entrada manual).
El problema es que puedo hacer esto a mano, pero es (i) mucho álgebra; y (ii) sujeto a muchos errores tipográficos y errores cuando implementa.
Por ejemplo, aquí hay un código que le brinda todos los vectores necesarios para una 'matriz' de diferencias finitas 1D para diferentes órdenes de derivadas. ¿Existe una analogía para los sistemas de PDE en el avión?
fuente