微分方程式の数値解法

NDSolve[eqns,y,{x,xmin,xmax}]独立変数 x から の区間において,関数 y について数値解析的に解く
NDSolve[eqns,{y1,y2,...},{x,xmin,xmax}]
について連立方程式を解く

微分方程式の数値解法

における微分方程式 の数値解を生成する.結果は,補間関数InterpolatingFunctionの形で与えられる.
In[1]:=
Click for copyable input
Out[1]=
これは,の値である.
In[2]:=
Click for copyable input
Out[2]=

のような代数方程式では,個々の の解は単なる1つの数である.一方,微分方程式では,解は数ではなく関数である.例えば,の方程式では,独立変数 の区間を限定した上で,関数 の近似解を得るようにしたい.

Mathematica は,関数の近似解をInterpolatingFunctionオブジェクトとして返す.このオブジェクトは,特定の の値に適用されるとき,その点における の近似値を返す関数である.このときInterpolatingFunctionは,の値から構成されるテーブルを保持し,このテーブルで補間することで特定の点 における の近似値を求める.

y[x]/.solutionの値を求めるのに関数 y にリスト規則を適用する
InterpolatingFunction[data][x]x で補間式を計算する
Plot[Evaluate[y[x]/.solution],{x,xmin,xmax}]
微分方程式の解をプロットする

NDSolveで求まった解の応用

連立微分方程式を解く.
In[3]:=
Click for copyable input
Out[3]=
これは,解に従って求めたの値である.
In[4]:=
Click for copyable input
Out[4]=
第3行で求めたの解をプロットする.Plotの使い方は「基本的なプロット」を参照.
In[5]:=
Click for copyable input
Out[5]=
NDSolve[eqn,u,{x,xmin,xmax},{t,tmin,tmax},...]
偏微分方程式を解く

偏微分方程式の数値解

New to Mathematica? Find your learning path »
Have a question? Ask support »