特殊微分方程式の数値解法-微分代数方程式

いわゆる微分代数方程式(DAE)は、特定の変数が特定の代数方程式の制約を満たす微分方程式を指します。

微分代数方程式の一般的な形式は次のとおりです。

ここに画像の説明を挿入
それらの中で、M(t、x)行列は特異行列です。微分方程式を解くとき、両側にM行列の逆行列M 'を同時に乗算することはできないため、このタイプの方程式を常微分方程式に変換して解くことはできません。

例1:

ここに3つの微分方程式があるとします。1つ目と2つ目は従来の微分方程式です。3つ目の方程式は代数方程式に縮退するため、このタイプの方程式は微分代数方程式とも呼ばれます。
ここに画像の説明を挿入
初期値条件が与えられた場合、x1(0)= 0.8、x2(0)= x3(0)= 0.1

微分代数方程式を行列形式で表現します。
ここに画像の説明を挿入

f=@(t,x)[-0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2);
    2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)*x(2);
    x(1)+x(2)+x(3)-1];
M=[1,0,0;0,1,0;0,0,0];
options=odeset;options.Mass=M;
x0=[0.8;0.1;0.1];
[t,x]=ode15s(f,[0,20],x0,options);
plot(t,x)

ここに画像の説明を挿入
解の解を要約します。従来の微分方程式とは異なり、制御パラメーターに質量行列を設定するだけで、微分代数方程式を解くことができます。

微分方程式を解くための特別な場合:
さらに、処理によってこの方程式を一般的な微分方程式に変えることができます。
3番目の方程式では、x3をx3(t)= 1-x1(t)-x2(t)と記述し、その結果を最初の2つの方程式に入れると、x3が現れないようになり、常微分方程式になります。 x1とx2の方程式。
ここに画像の説明を挿入
さらに、微分代数方程式は、微分代数方程式を解くために陰微分方程式を解く方法を使用して、陰微分方程式の形で表現することもできます。

例2:

ここに画像の説明を挿入
同様に、陰微分方程式は微分代数方程式の形で解くことができます。

f=@(t,x)[1-x(1);-x(2)];
M=@(t,x)[sin(x(1)),cos(x(2));
    -cos(x(2)),sin(x(1))];
ff=odeset;ff.Mass=M;ff,RelTol=1e-6;
[t,x]=ode45(f,[0,10],[0;0],ff);
plot(t,x);

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_45024585/article/details/107796782