Wolfram Language Fast Introduction for Math Students
使い始めよう »

微分方程式

Wolfram言語では,常微分方程式(ODE),偏微分方程式(PDE),遅延微分方程式(DDE)を解くことができます.

DSolveValueは微分方程式を取り,一般解を返します:

C[1]は,積分定数を意味します.)
In[1]:=
Click for copyable input
sol = DSolveValue[y'[x] + y[x] == x, y[x], x]
Out[1]=

/.を使って定数を置き換えます:

In[2]:=
Click for copyable input
sol /. C[1] -> 1
Out[2]=

特殊解の条件を加えることもできます:

In[3]:=
Click for copyable input
DSolveValue[{y'[x] + y[x] == x, y[0] == -1}, y[x], x]
Out[3]=

NDSolveValueは,数値解を返します:

In[1]:=
Click for copyable input
NDSolveValue[{y'[x] == Cos[x^2], y[0] == 0}, y[x], {x, -5, 5}]
Out[1]=

このInterpolatingFunction(補間関数)は直接プロットすることができます:

In[2]:=
Click for copyable input
Plot[%, {x, -5, 5}]
Out[2]=

微分方程式系を解くには,リストに方程式と条件をすべて含める必要があります:

(改行は,入れても入れなくても結果には影響しません.)
In[1]:=
Click for copyable input
{xsol, ysol} = NDSolveValue[
  {x'[t] == -y[t] - x[t]^2,
   y'[t] == 2 x[t] - y[t]^3,
   x[0] == y[0] == 1},
  {x, y}, {t, 20}]
Out[1]=

解をパラメトリックプロットとして可視化します:

In[2]:=
Click for copyable input
ParametricPlot[{xsol[t], ysol[t]}, {t, 0, 20}]
Out[2]=

参照:微分方程式 »