3 LCR直列回路

3.1 回路の理論

もっと実用的な常微分方程式を解くことにする.電気の諸問題の常微分方程式は2階の場 合が多い.例えば,図2のような回路である.最初,コンデ ンサーにある電荷が蓄えられていたとする2.そうして,ある瞬間(t=0)にス イッチSWをONにしたとする.この場合,回路に流れる電流は時間とともにどのように変化 するか? 数値計算によりそれを求めることにする.
図 2: 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$ (5)

となる.

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

\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階の微分方程式を解けば よいわけである.

3.2 数値計算

2階の常微分方程式を数値計算する場合,1階の連立常微分方程式に直すのがセオリーである.これは,

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

と変数変換を行う.すると,式(7)の最後の式は,

\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次のルンゲ・クッタ法で近似解を求める.

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

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

  1. まずはじめに,$ R=1$の場合について,電流の様子を計算せよ.
  2. $ R=0,1,2,3,4$の場合について,電流の様子を計算せよ.臨界減衰の 時,どうなるか?
  3. 抵抗が電流に比例する場合$ R=kI$,どうなるか計算せよ. $ k=0.1, 1, 10$の場合 を計算してみよう.このような場合,非線形な方程式になる.従って,通常は解析 解ないが,数値計算は可能である.コンピューターは,すばらしい結果を与えてく れる.

プログラムのヒントをあたえよう.$ 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年10月18日


no counter