Hiroshi TAKEOTO (take@pwv.co.jp)
エンジニアにとって身近な微分方程式をsageを使って解いてみます。
キルヒホッフの法則から回路を一周したときの電圧降下は0となります。 $$ \begin{array}{l l l} V_C + V_R = 0, V_C = V(t) & \cdots & (0) \end{array} $$ となり、コンデンサーからの電流が$i(t)=C\frac{dV(t)}{dt}$、$V_R(t)=Ri(t)$であることから、
$$ \begin{array}{l l l} V(t) + RC\frac{dV(t)}{dt} = 0 & \cdots & (1) \end{array} $$ となります。これをsageを使って解くと以下のようになります。微分方程式の解法にはdesolve関数を使います。
desolve(微分方程式, [求める関数と変数のリスト], [初期値のリスト])
\newcommand{\Bold}[1]{\mathbf{#1}}e^{-\frac{t}{C R}}
\newcommand{\Bold}[1]{\mathbf{#1}}e^{-\frac{t}{C R}}
|
|
$$
\begin{array}{l l l}
V(t) + RC\frac{dV(t)}{dt} = V_0 u(t) & \cdots & (2)
\end{array}
$$
ここで、$u(t)$は、単位ステップ関数、
$$
u(t)=\left\{
\begin{array}{l l}
0, & 0 \lt 0 \\
1, & 1 \ge 0 \\
\end{array}
\right.
$$
です。
式(1)では右辺が0であり、このような方程式は斉次方程式と呼ばれ、式(2)のように右辺が0でない方程式は非斉次方程式と呼ばれます。 非斉次方程式の解は、
非斉次方程式の一般解 = 斉次方程式の一般解 + 非斉次方程式の一つの解(特解)から求めることができます。
|
\newcommand{\Bold}[1]{\mathbf{#1}}\mathcal{L}\left(f\left(t\right), t, s\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\mathcal{L}\left(f\left(t\right), t, s\right)
|
元の関数 | ラプラス変換結果 |
$\delta$ | 1 |
$1$ | $\frac{1}{s}$ |
$t$ | $\frac{1}{s^{2}}$ |
$t^2$ | $\frac{1}{s^{3}}$ |
$t^{n}$ | $s^{{(-n - 1)}} \Gamma\left(n + 1\right)$ |
$\cos\left(\omega t\right)$ | $\frac{s}{{(\omega^{2}+s^{2})}}$ |
$\sin\left(\omega t\right)$ | $\frac{\omega}{{(\omega^{2} + s^{2})}}$ |
$e^{a t}$ | $-\frac{1}{{(a - s)}}$ |
$t e^{a t}$ | $\frac{1}{{(a - s)}^{2}}$ |
\delta 1 1 1/s t s^(-2) t^2 2/s^3 t^n s^(-n - 1)*gamma(n + 1) cos(omega*t) s/(omega^2 + s^2) sin(omega*t) omega/(omega^2 + s^2) e^(a*t) -1/(a - s) t*e^(a*t) (a - s)^(-2) \delta 1 1 1/s t s^(-2) t^2 2/s^3 t^n s^(-n - 1)*gamma(n + 1) cos(omega*t) s/(omega^2 + s^2) sin(omega*t) omega/(omega^2 + s^2) e^(a*t) -1/(a - s) t*e^(a*t) (a - s)^(-2) |
s*laplace(f(t), t, s) - f(0) s*laplace(f(t), t, s) - f(0) |
(s*laplace(V(t), t, s) - V(0))*C*R + laplace(V(t), t, s) == 0 (s*laplace(V(t), t, s) - V(0))*C*R + laplace(V(t), t, s) == 0 |
|
e^(-t/(C*R)) e^(-t/(C*R)) |
手計算では、ラプラス変換表を使って逆ラプラス変換を行ってきました。
|
|
次に以下の微分方程式をmaximaを使って解いてみます。 $$ x^2\frac{dy}{dx}+3xy = \frac{sin(x)}{x}, y(\pi) = 0 $$ maximaを使った微分方程式の解法は以下の手順で行います。
|
|
y=-(cos(x)+1)/x^3 y=-(cos(x)+1)/x^3 |
|
是非、この機会にsageを使って微分方程式を解いてみてください。
|