Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica HowTo
How to | 微分方程式を解く方法
微分方程式を解くための Mathematica 関数は,ユーザが予め処理しなくてもよい適切なアルゴリズムを自動的に選択して,多くの種類の微分代数方程式に適用できるようになっている.
DSolveを使って,独立変数 xy(x) について微分方程式 y^(')(x)=x を解く:
In[1]:=
Click for copyable input
Out[1]=
DSolveによって与えられる解は,規則のリストのリストである.一番外側のリストは可能な解すべてを含み,小さなリストのそれぞれは特定の解である.
解を関数として使用したい場合は,規則をまず何か(この場合は,solution)に割り当てるとよい:
In[2]:=
Click for copyable input
Out[2]=
今度は短縮形solution[[1]]を使う解の最初の部分を取るために,Partを使う./.ReplaceAllの短縮形)を使ってy[x]を 置換し,「=」を使って関数f[x]を定義する:
In[3]:=
Click for copyable input
Out[3]=
これで f[x]が普通の関数のように評価するようになった:
In[4]:=
Click for copyable input
Out[4]=
初期条件を指定するために,方程式と初期条件 (y(0)=1 および y^(')(0)=1) をリストにして囲む:
In[5]:=
Click for copyable input
Out[5]=
十分な初期条件が与えられていない場合は,定数C[n] が返される:
In[6]:=
Click for copyable input
Out[6]=
2つ目のリストを使って,どの関数を解くべきかを示す:
In[7]:=
Click for copyable input
Out[7]=
ここで得られる解は初等関数ではない:
In[8]:=
Click for copyable input
Out[8]=
    
DSolve/.TablePlot を一緒に使うと,定数のさまざまな値について完全には指定されていない微分方程式の解をグラフにすることができる.
まずDSolveを使って微分方程式を解き,その結果をsolutionに設定する:
In[9]:=
Click for copyable input
Out[9]=
solutionを使う関数g[x]を定義するために,「=」,/.Partを使う:
In[10]:=
Click for copyable input
Out[10]=
1 から10のC[2]の整数値について関数t[x]の表を定義する:
In[11]:=
Click for copyable input
Out[11]=
Plotを使って表を-2<x<2の範囲でプロットする:
In[12]:=
Click for copyable input
Out[12]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team