2 問題

2.1 LCR回路

もっと実用的な常微分方程式を解いてみよう。電気の諸問題の常微分方程式は 2階の場合が多い。例えば、図1のような回路で ある。最初、コンデンサーにある電荷が蓄えられていたとする2。そうして、ある瞬間(t=0)にスイッチSWをONにしたとする。 この場合、回路に流れる電流は時間とともにどのように変化するか?。数値計 算によりそれを求めてみよう。
図 1: LCR直列回路
\includegraphics[keepaspectratio, scale=0.8]{figure/circuit.eps}

まず、この回路に流れる電流の微分方程式をエネルギーという観点から導こう。 コンデンサーとコイルに蓄えられたエネルギーの時間的な変化が抵抗で消費さ れる電力になる。コンデンサーに蓄えられるエネルギーは $ \frac{1}{2}CV^2$ で、コイルに蓄えられるエネルギーは $ \frac{1}{2}LI^2$である。一方、抵抗 で消費される電力は、$ I^2R$である。これらの関係を式で表すと、

$\displaystyle \frac{d}{dt}\left(\frac{1}{2}CV^2+\frac{1}{2}LI^2\right)+I^2R=0$ (1)

となる。

この式では、電流$ I$と電圧$ V$が時間の関数となっている。これでは見通しが 悪いので、電圧の項をコンデンサーの式を用いて消去することを考える。コン デンサーに蓄えられる電荷を$ q$とすると、 $ q=CV$と言う関係がある。これから、 $ \frac{dq}{dt}=C\frac{dV}{dt}$が直ち に導かれる。ここで、電荷量の時間変化は電流となるので、 $ \frac{dq}{dt}=I$となることに注意する。これらの関係式を用いて、式 (1)を書き直す。すると、

\begin{equation*}\begin{aligned}&\frac{d}{dt}\left(\frac{1}{2}CV^2+\frac{1}{2}LI...
...c{dI}{dt}+I^2R=0\\ &\frac{q}{C}+L\frac{dI}{dt}+IR=0 \end{aligned}\end{equation*}

の関係式を導くことができる。最後の式の両辺の時間で微分すると、

\begin{equation*}\begin{aligned}&\frac{d}{dt}\left(\frac{q}{C}+L\frac{dI}{dt}+IR...
... &L\frac{d^2I}{dt^2}+R\frac{dI}{dt}+\frac{I}{C}=0\\ \end{aligned}\end{equation*}

となる。これで、電流$ I$のみ常微分方程式になる。これを解けばよいわけで ある。

2階の常微分方程式は、1階の連立常微分方程式に直すのがセオリーである。前 期末試験の問題のように、

\begin{equation*}\left\{ \begin{aligned}I_0&=I\\ I_1&=\frac{dI}{dt} \end{aligned} \right.\end{equation*}

と変数変換を行う。すると、式(3)の最後の式 は、

\begin{equation*}\left\{ \begin{aligned}\frac{dI_0}{dt}&=I_1\\ \frac{dI_1}{dt}&=-\frac{1}{L}\left(\frac{I_0}{C}+RI_1\right) \end{aligned} \right.\end{equation*}

と書き直せる。

これを、4次のルンゲ・クッタ法で計算する場合、

\begin{equation*}\left\{ \begin{aligned}k_{01}&=hI_{1\_n}\\ k_{11}&=h\frac{1}{L}...
...frac{1}{6}(k_{11}+2k_{12}+2k_{13}+k_{14})\\ \end{aligned} \right.\end{equation*}

となる。これを、数値計算により時間の刻み幅$ h$毎に計算視すればよい。

これを解くためには、LとC、Rの値と初期条件が必要である。それぞれを以下 のようにする。

このような状況のもと、以下の場合について計算せよ。

  1. $ R=1$の場合について、電流の様子を計算せよ。
  2. $ R=0,1,2,3,4$の場合について、電流の様子を計算せよ。臨界減衰の 時、どうなるか?
  3. 抵抗が電流に比例する場合$ R=kI$、どうなるか計算せよ。$ k=1$として よい。

プログラムのヒントをあたえよう。$ I_{0\_n}$$ I_{1\_n}$は、それぞれ I0[n]I1[n]のような配列に格納する。そして、初期値は I0[0]=0とI1[0]=1で表せる。ついでに時刻も配列 time[n]を使う。当然、time[0]=0で、 time[n+1]=time[n]+hのように計算する。最終的な解は、 I0[n]time[n]の関係が重要になる。


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月21日


no counter