Wolfram言語

記号的微積分と数値的微積分

グリーン(Green)関数を使って初期値問題を解く

GreenFunctionを使って非斉次微分方程式の初期値問題を解く.

まずグリーン関数を計算する.

In[1]:=
Click for copyable input
gf[s_, t_] = GreenFunction[{-u''[t] + u'[t] - 37/4 u[t], u[0] == 0, u'[0] == 0}, u[t], {t, 0, \[Infinity]}, s]
Out[1]=

強制関数を定義する.

In[2]:=
Click for copyable input
f[t_] := Cos[a t]

強制関数でグリーン関数をたたみ込むと,解が得られる.

In[3]:=
Click for copyable input
sol = Integrate[gf[s, t] f[s], {s, 0, \[Infinity]}, Assumptions -> t > 0]
Out[3]=

DSolveValueで与えられる結果と比較する.

In[4]:=
Click for copyable input
DSolveValue[{-u''[t] + u'[t] - 37/4 u[t] == f[t], u[0] == 0, u'[0] == 0}, u[t], t] // FullSimplify
Out[4]=

パラメータ a のさまざまな値に対する解をプロットする.

In[5]:=
Click for copyable input
Plot[Table[sol, {a, 1, 4, 0.8}] // Evaluate, {t, 3, 6}]
Out[5]=

関連する例

de en es fr ko pt-br ru zh