|
1.6.4 微分方程式の数値解法

微分方程式の数値解法
における微分方程式 の数値解を生成する.結果は,補間関数 InterpolatingFunctionの形で与えられる.
In[1]:= NDSolve[{y'[x] == y[x], y[0] == 1}, y, {x, 0, 2}]
Out[1]= 
これは, の値である.
In[2]:= y[1.5] /. %
Out[2]= 
のような代数方程式では,個々の の解は単なる1つの数である.一方,微分方程式では,解は数ではなく関数である.例えば, の方程式では,独立変数 の区間を限定した上で,関数 の近似解を得るようにしたい.
Mathematicaは,関数の近似解を InterpolatingFunctionオブジェクトとして返す.このオブジェクトは,特定の の値に適用されるとき,その点における の近似値を返す.このとき InterpolatingFunctionは,補間点xiにおける の値から構成されるテーブルを保持し,このテーブルで補間することで特定の点 における の近似値を求める.

NDSolveで求まった解の応用
連立微分方程式を解く.
In[3]:= NDSolve[ {y'[x] == z[x], z'[x] == -y[x], y[0] == 0, z[0] == 1}, {y, z}, {x, 0, Pi} ]
Out[3]= 
これは,解に従って求めた z[2]の値である.
In[4]:= z[2] /. %
Out[4]= 
第3行で求めた z[x]の解をプロットする.Plotの使い方は1.9.1を参照.
In[5]:= Plot[Evaluate[z[x] /. %3], {x, 0, Pi}]

Out[5]= 

偏微分方程式の数値解
|