遅延微分方程式の求解
遅延微分方程式 (DDE) は、現在の時間の解を過去の時間の解に関連付ける常微分方程式です。この遅延は定数、時間依存、状態依存、または微分依存のいずれかです。積分を開始するには、一般的に、ソルバーが最初の積分点より前の時点の解にアクセスできるように、解の履歴を提供しなければなりません。
定数遅延 DDE
定数の遅延を伴う微分方程式系は、以下の形式をもちます。
ここで、t は独立変数、y は従属変数の列ベクトル、y' は y の t に対する 1 次導関数を表します。遅延 (ラグ) τ1,…,τk は、それぞれ正の定数です。
関数 dde23
は、t <t0 に対する履歴 y(t) = S(t) を使用して、定数遅延を伴う DDE を解きます。
DDE の解は、一般に連続性がありますが、その導関数には不連続性が存在します。関数 dde23
は低次導関数の不連続部を追跡します。この関数は、同一の陽的ルンゲ・クッタ (2, 3) のペアと ode23
で使用する内挿を使って、微分方程式を積分します。ルンゲ・クッタ公式は、遅延よりもステップ サイズが大きい場合には陰的になります。ステップ サイズが大きくても問題がないほど y(t) が滑らかな場合、この陰的な公式は予測子修正子の反復を使って計算されます。
時間依存型および状態依存型 DDE
定数の時間遅延はより一般的な DDE 形式の特殊なケースです。
時間依存型および状態依存型 DDE には遅延 dy1、...、dyk が含まれます。この遅延は、時間 t と状態 y の両方によって異なります。この遅延 dyj(t, y) は、t0 < tf の場合の区間 [t0, tf] にて dyj(t, y) ≤ t を満たさなければなりません。
関数 ddesd
は、t < t0 に対する履歴 y(t) = S(t) を使用して、時間依存型および状態依存型 DDE の解 y(t) を求めます。関数 ddesd
は、従来の 4 段階法である 4 次の陽的ルンゲ・クッタ法を使用して積分し、自然内挿の残差のサイズを制御します。そのとき、遅れよりも大きいステップをとるために、反復を行います。
中立型 DDE
中立型遅延微分方程式は、y の遅延だけでなく、y′ の遅延も含みます。
解の遅延は、dyi(t,y) ≤ t を満たさなければなりません。1 次導関数の遅延は、y′ が方程式の両辺共に現れないように、dypj(t,y) < t を満たさなければなりません。
関数 ddensd
は、時間依存および状態依存の遅延に対して与えられた形式の DDE を使用して中立型 DDE を近似することにより、その解を求めます。
詳細については、Shampine の[1]を参照してください。
特定の点における解の計算
関数 deval
と任意の DDE ソルバーの出力を使って、積分区間内の特定の点での解を計算できます。たとえば、y = deval(sol, 0.5*(sol.x(1) + sol.x(end)))
は、積分区間の中点で解を計算します。
履歴と初期値
DDE を解く際、区間 [t0,tf] の解を t0 < tf で近似します。DDE は、y′(t) が t より前の時点でどのように解の値 (および場合によってはその導関数) に依存しているかを示します。たとえば、正の定数 τj の場合、定数の遅延を伴う y′(t0) は、y(t0 – τ1),…,y(t0 – τk) に依存します。このため、[t0, tk] での解は、t ≤ t0 における値に依存します。これらの値は、t <t0 に対する履歴関数 y(t) = S(t) を使って定義しなければなりません。
DDE の不連続性
問題が不連続性をもつ場合は、オプション構造体を使用して不連続性をソルバーに伝達するのが最良の方法です。これを行うには、関数 ddeset
を使用して、問題の不連続性を含んだ options
構造体を作成します。
options
構造体には、不連続性を指定するために使用できる 3 つのプロパティ InitialY
、Jumps
、Events
があります。不連続性の位置と特性によって選択するプロパティが決まります。
不連続性の特性 | プロパティ | コメント |
---|---|---|
初期値は t = t0 |
| 一般的に初期値 y(t0) は、履歴関数によって返された値 S(t0) であり、つまり解が初期点で連続的であることを意味しています。そうでない場合には、 |
履歴すなわち、t <t0 の場合の解、または t >t0 の場合の方程式の係数 |
| 不連続の既知の位置 t を |
状態に依存 |
|
|
不連続の伝播
一般に、解の 1 次導関数は、初期点で不連続になります。これは、履歴関数 S(t) の 1 次導関数が、一般にこの点で DDE を満たさないためです。遅延が定数の場合、y(t) の導関数の不連続性は、τ1,…, τk の間隔で未来に伝播します。遅延が定数でない場合、不連続性の伝播はさらに複雑になります。定数遅延 DDEおよび時間依存型および状態依存型 DDEの形式の中立型 DDE の場合、これが伝播するたびに次に高い次数の導関数に不連続性が出現します。この意味において、解は積分が進むにつれて滑らかになります。中立型 DDEで与えられた形式の中立型 DDE の解は、定性的に異なります。解の不連続性は、より高い次数の導関数に伝播しません。特に、t0 での y′(t) における典型的な不連続性は、[t0, tf] の全体を通じて y′(t) の不連続性として伝播します。
DDE の例とファイル
DDE のほとんどの問題に対して開始点として効果的に使用できるサンプル ファイルがいくつかあります。例を簡単に参照したり実行したりするには、微分方程式の例アプリを使用します。このアプリを実行するには、次のように入力します。
odeexamples
edit exampleFileName.m
exampleFileName
次の表に、利用可能な DDE のサンプル ファイルと、それらで使用されているソルバーおよびオプションのリストを示します。
サンプル ファイル | 使用されているソルバー | オプション指定 | 説明 | リンクの例 |
---|---|---|---|---|
|
| — | 定数の履歴をもつ DDE | |
|
|
| 不連続性をもつ DDE | |
|
| — | 状態依存の遅延をもつ DDE | |
|
| — | 2 つの遅延をもつ中立型 DDE | |
|
| — | 初期値をもつ中立型 DDE |
参照
[1] Shampine, L.F. “Dissipative Approximations to Neutral DDEs.” Applied Mathematics & Computation, Vol. 203, 2008, pp. 641–648.
参考
dde23
| ddesd
| ddensd
| ddeset