Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの実践的な紹介 / 記号計算  /

1.5.9 微分方程式

常微分方程式の解法

これは,微分方程式 の解である. C[1]は境界条件から求められなければいけない係数である.

In[1]:= DSolve[ y'[x] == a y[x] + 1, y[x], x ]

Out[1]=

適当な初期値が与えられると,不確定係数はなくなる.

In[2]:= DSolve[ {y'[x] == a y[x] + 1, y[0] == 0}, y[x], x ]

Out[2]=

のような代数方程式は変数に関する方程式である.これに対して, のような微分方程式は関数に関する方程式である. Mathematicaでは,常微分方程式は,常に, y[x]のような関数を使い明示的に与える必要がある.また,関数が依存する変数 xを明記する必要もある.つまり,式 は, y''[x] + y'[x] == y[x]と記述しなければならない. y'' + y' == yではいけない.

Mathematicaは,微分方程式が線形でも非線形でも,さらには,連立したのものでも解くことができる.ただし,十分な初期値や境界条件が与えられていないと,解は適当な数の不確定係数を伴った形でしか求まらない.また,DSolveが使われるたびに, C[1] , C[2] , ...のように不確定係数の番号は変わる.

初期値(もしくは境界条件)を与えないで,2つの連立微分方程式を解く.求まる解には不確定係数が2つ入る.

In[3]:= DSolve[ {x'[t] == y[t], y'[t] == x[t]},
{x[t], y[t]}, t ]

Out[3]=

DSolveを使い y[x]に関する微分方程式の解が求まるとき, DSolveにより返される規則は,任意の式でどう y[x]を置換するかを指定した規則になる.しかし,これらの置換規則は,y'[x]のようなオブジェクトに対しては何も指定しない.そこで, DSolveで求まる解をさらに操作する必要がある場合は,y[x]についてではなく,yについて解を求めるようにした方がよい.

yの解を「純関数」として与える.

In[4]:= DSolve[ y'[x] == x + y[x], y, x ]

Out[4]=

今度は,置換演算子を使い解を yを含む任意の式に適用することができる.

In[5]:= y''[x] + y[x] /. %

Out[5]=

DSolveの計算結果にあるアンド記号(&)で示されるものは「純関数」である.純関数がどう作用するかは 2.2.5で説明する.

DSolveは代数方程式と微分方程式を組み合せたものも扱うことができる.また,複数の独立変数がある偏微分方程式も扱うことができる.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.