解くPDEのシステムがあるとします。少なくとも簡単にするために、それが時間に依存せず、(x、y)空間の長方形グリッド上で解決された準線形(その導関数では線形)であり、境界条件がすべて指定されていると仮定しましょう。私の質問はより一般的ですが、ここから始めましょう。
2つの従属変数、とv (x 、y )がある場合があります。一般的な方程式は次のような形になります。
ここで、からeまでのすべての関数は2x2行列、fは2x1行列、Yは
有限差分数値近似を計算するとします。グリッド点がxとyで等間隔にあると仮定します。をNポイントに、yをMポイントに離散化できます。そして、2(nm)列ベクトルとしてソリューションを構築します。
次に、ある種の行列方程式(A + B + C + D + E )X = bを解きます 。
ここで、2nm x 2nm行列からEは、対応する微分演算子の有限差分行列です。括弧内の結合されたマトリックスは、ある種のブロックバンド構造になります。境界条件のために、それらのエッジ値は複雑になる場合があります。
私の質問は単純です:行列AからEを生成する簡単な方法(特にMatlabで)はありますか?または、少なくとも、必要なすべての行列を作成するための簡単なガイド(おそらく、手動入力の可能性がある境界条件に必要な変更を除く)。
問題は、これを手作業で行えることですが、それは(i)代数が多いことです。(ii)実装時に多くのタイプミスやエラーが発生する。
例えば、ここではデリバティブの異なる順序のための1D差分「マトリックス」のため、あなたに必要なすべてのベクトルを与えるコードがあります。平面上のPDEのシステムに類似点はありますか?