微分方程式の解法(同次形・線形微分方程式)

微分方程式には様々な種類があります。この記事では,常微分方程式の中で,同次型定数係数の線形微分方程式の解法を紹介します。

なお,

を参照してください。他に有名な微分方程式としては,リッカチの微分方程式・ベルヌーイの微分方程式などもあります。

同次形の微分方程式

この記事では,tt の関数 x(t)x(t) が未知関数の微分方程式を考えます。

同次形の微分方程式とは,ある関数 ff を用いて dxdt=f(xt) \dfrac{dx}{dt} = f\left( \dfrac{x}{t} \right) と表せる微分方程式のことです。同次形は変数分離形に帰着できます。

具体的には,u=xtu = \dfrac{x}{t} とおきます。x=utx=ut であり積の微分公式から dxdt=ddtut+uddtt=tdudt+u \dfrac{dx}{dt} = \dfrac{d}{dt}u \cdot t+ u \dfrac{d}{dt} t = t \dfrac{du}{dt} + u となるので,もとの微分方程式は tdudt+u=f(u)dudt=f(u)ut t \dfrac{du}{dt} +u = f(u)\\ \dfrac{du}{dt} = \dfrac{f(u) -u}{t} となります。これは変数分離形です。

線形微分方程式とは

線形微分方程式とは,

1,x,dxdt,d2xdt2,1,x,\dfrac{dx}{dt},\dfrac{d^2x}{dt^2},\cdots の線形結合=0=0

という形で表せる微分方程式のことです。ただし,ここでいう線形結合とは「重みが tt のみの関数である重みつき和」のことです。

線形微分方程式の例としては,

dxdt+2x=0,d2xdt2dxdt2x=t2 \dfrac{dx}{dt} + 2 x = 0,\\ \dfrac{d^2x}{dt^2} -\dfrac{dx}{dt}-2x = t^2 などがあります。

  • 特に1番目のように「11」の係数が 00 であるもの(つまり,xxdxdt\dfrac{dx}{dt} などの xx の導関数以外の関数を含まないもの)を斉次といい,2番目のようにそうではないものを非斉次といいます。

  • また,1番目のように登場する微分係数が1階微分までのものを1階線形微分方程式,2番目のように2階微分までのものを2階線形微分方程式といいます。より一般に nn 階微分まで登場する場合,nn 階といいます。

  • この2つの例のように,「1」以外の係数が tt に依存しないものを定数係数線形微分方程式と呼ぶこともあります。

今回は1変数のパターンを考えていますが,2変数以上の連立微分方程式を扱うこともあります。詳しくは連立微分方程式の3通りの解き方を参照してください。

斉次線形微分方程式

1階の斉次線形微分方程式

1階の斉次線形微分方程式は dxdt+a0x=0 \dfrac{dx}{dt} + a_0 x = 0 という形になります。これは変数分離形なので,以下のように解けます。 dxx=a0  dtdxx=a0  dtlogx=a0t+Cx=Cea0t \dfrac{dx}{x} = -a_0 \; dt\\ \int \dfrac{dx}{x} = -\int a_0 \; dt\\ \log |x| = -a_0t +C\\ x = C e^{-a_0 t}

2階の斉次線形微分方程式

2階の斉次線形微分方程式は d2xdt2+a1dxdt+a0x=0 \dfrac{d^2x}{dt^2} +a_1 \dfrac{dx}{dt} +a_0 x = 0 という形になります。ここで,二次方程式 λ2+a1λ+a0=0\lambda^2 + a_1 \lambda + a_0 =0 の解を α\alphaβ\beta と置きます。

まず αβ\alpha \neq \beta のときを考えましょう。

もとの微分方程式の左辺に eαte^{\alpha t} を代入すると, d2xdt2+a1dxdt+a0x=α2eαt+a1αeαt+a0eαt=(α2+a1α+a0)eαt=0\begin{aligned} &\dfrac{d^2x}{dt^2} +a_1 \dfrac{dx}{dt} + a_0 x \\ &=\alpha^2 e^{\alpha t} + a_1 \alpha e^{\alpha t} + a_0 e^{\alpha t} \\ &=(\alpha^2 +a_1 \alpha + a_0) e^{\alpha t} = 0 \end{aligned} となります。したがって x=eαtx = e^{\alpha t} はもとの微分方程式の解となります。同様に x=eβtx = e^{\beta t} も解となります。これらを定数倍して足したものも解になります。つまり,x=C1eαt+C2eβtx = C_1 e^{\alpha t} + C_2 e^{\beta t} という形の関数はすべて解になります。実はこれが解のすべてになります。

次に α=β\alpha = \beta のときを考えましょう。x=eαtx = e^{\alpha t} が解となることは先ほど同様に示せます。さらに x=teαtx = t e^{\alpha t} という関数を考えます: dxdt=eαt+αteαtd2xdt2=αeαt+αeαt+α2teαt=2αeαt+α2teαt\begin{aligned} \dfrac{dx}{dt} &= e^{\alpha t} + \alpha te^{\alpha t}\\ \dfrac{d^2 x}{dt^2} &= \alpha e^{\alpha t} +\alpha e^{\alpha t} + \alpha^2 t e^{\alpha t}\\ &= 2\alpha e^{\alpha t} + \alpha^2 t e^{\alpha t} \end{aligned} d2xdt2+a1dxdt+a0x=2αeαt+α2teαt+a1(eαt+αteαt)+a0teαt=(2α+a1)eαt+(α2+a1α+a0)teαt=0\begin{aligned} &\dfrac{d^2x}{dt^2} +a_1 \dfrac{dx}{dt} + a_0 x \\ &= 2\alpha e^{\alpha t} + \alpha^2 t e^{\alpha t} \\ &\quad + a_1 (e^{\alpha t} + \alpha te^{\alpha t}) + a_0 t e^{\alpha t}\\ &= (2\alpha +a_1)e^{\alpha t} \\ &\quad + (\alpha^2 +a_1 \alpha + a_0) te^{\alpha t}\\ &= 0 \end{aligned} となります。こうして x=teαtx = t e^{\alpha t} も解になります。x=C1eαt+C2teαtx = C_1 e^{\alpha t} + C_2 t e^{\alpha t} が一般解となります。

一般に2階の線形微分方程式の一般解は,独立する2つの解の線形結合となります。すなわち x1(t)x_1(t)x2(t)x_2(t) が独立する解として得られた場合,一般解は C1x1(t)+C2x2(t)C_1 x_1 (t) + C_2 x_2 (t) となります。なお,ここでいう「独立」とは,一方がもう一方の定数倍になっていないことを意味します。

余談:線形代数との関連

定数係数の nn 階斉次線形微分方程式の解の集合は,nn 次元のベクトル空間になることが知られています。

詳しくは n階斉次線形微分方程式の解空間 をご覧ください。

具体例:単振動の微分方程式

物理における単振動について,斉次微分方程式の知識を用いて考察します。

質量 mm の重りが,バネ係数 kk であるバネにつるされて振動するケースを考えます。このときの運動方程式は ma=kx ma = -kx でした。a=d2xdt2a = \dfrac{d^2 x}{dt^2} と表せるので,単振動の式は斉次線形微分方程式 d2xdt2+kmx=0 \dfrac{d^2 x}{dt^2} + \dfrac{k}{m} x =0 になります。km=ω\sqrt{\dfrac{k}{m}} = \omega とおきましょう。

解法1

この微分方程式から得られる2次方程式は λ2+ω2=0\lambda^2 + \omega^2 = 0 です。この解は λ=±ωi\lambda = \pm \omega i となります。こうして一般解は x=C1eωit+C2eωit x = C_1 e^{\omega it} + C_2 e^{-\omega i t} となります。ここでオイラーの公式を用いると eωit=cosωt+isinωteωit=cosωtisinωt e^{\omega it} = \cos \omega t + i \sin \omega t\\ e^{-\omega it} = \cos \omega t - i \sin \omega t であるので, x=(C1+C2)cosωt+(C1C2)isinωt x = (C_1 + C_2) \cos \omega t + (C_1 - C_2) i \sin \omega t が得られます。解に虚数が入っていて大丈夫なのかと不安に思うかもしれませんが,初期条件を代入して C1,C2C_1,C_2 を具体的に求めると,うまく虚数が消えます。

解法2

先ほど2階の線形微分方程式の一般解は,2つの独立する解の線形結合で表されると述べました。ここで x=cosωtx = \cos \omega t として元の方程式に代入してみましょう。 d2xdt2+ω2x=ω2cosωt+ω2cosωt=0\begin{aligned} &\dfrac{d^2 x}{dt^2} + \omega^2 x \\ &= - \omega^2 \cos \omega t + \omega^2 \cos \omega t =0 \end{aligned} このように解になることが分かります。x=sinωtx = \sin \omega t も同様に解になります。もちろん cosωt\cos \omega tsinωt\sin \omega t の定数倍になることはありません。したがって一般解はこれら2つの線形結合であり x=C1cosωt+C2sinωt x = C_1 \cos \omega t + C_2 \sin \omega t となります。

非斉次線形微分方程式

非斉次な場合の解法も紹介します。

1階非斉次の場合(定数変化法)

定数変化法という手法を用います。この方法は大きく5つのステップから成ります。

定数変化法

  1. tt や定数を取り除いた斉次方程式を用意する。
  2. 用意した斉次方程式の一般解を求める。
  3. 一般解にあらわれる CCtt の関数と見なして元の式に代入する。
  4. C(t)C(t) の満たす微分方程式が得られるのでそれを解く。
  5. 2で計算した一般解の CC に4で計算した C(t)C(t) を当てはめる。

実際に解いてみましょう。

例題1

dxdt3x=et+1 \dfrac{dx}{dt} -3 x = e^t + 1 の一般解を求めよ。

ステップ1にあるように斉次形を用意すると dxdt3x=0 \dfrac{dx}{dt} -3 x = 0 となる。これを解くと x=Ce3tx = C e^{3t} が得られる。

ステップ3に従って CCtt の関数とみて元の式に代入すると, dxdt3x=et+1C(t)e3t+3C(t)e3t3C(t)e3t=et+1C(t)e3t=et+1C(t)=e2t+e3t\begin{aligned} &\dfrac{dx}{dt} - 3x = e^t+1\\ &C'(t) e^{3t} + 3C(t) e^{3t} - 3C(t) e^{3t} = e^t+1\\ &C'(t) e^{3t} = e^t +1\\ &C'(t) = e^{-2t} + e^{-3t} \end{aligned} となり C(t)C(t) が満たす微分方程式が得られる。これを解くと, C(t)=e2t+e3t  dt=12e2t13e3t+D\begin{aligned} C(t) &= \int e^{-2t} + e^{-3t} \; dt\\ &= -\dfrac{1}{2} e^{-2t} - \dfrac{1}{3}e^{-3t} + D \end{aligned} と得られる。なお DD は積分定数とする。以上から,非斉次方程式の一般解 x=(12e2t13e3t+D)e3t=12et13+De3t\begin{aligned} x &= \left(-\dfrac{1}{2} e^{-2t} - \dfrac{1}{3}e^{-3t} + D\right)e^{3t}\\ &= -\dfrac{1}{2} e^t - \dfrac{1}{3} + D e^{3t} \end{aligned} が得られる。

ステップ4で C(t)C(t) が満たす微分方程式が変数分離形になりましたが,実はこれは偶然ではありません。気になる人は実際に計算してみてください。

2階非斉次の場合

定数変化法を用いることもできますが,その場合行列の計算が必要です。ここでは別の手法を紹介します。

2階非斉次微分方程式の解法

  1. tt や定数を取り除いた斉次方程式を用意する。
  2. 用意した斉次方程式の一般解を求める。
  3. 元の非斉次方程式を満たす特殊解を1つ見つける。
  4. 3で得た解と4で得た特殊解の和が一般解となる。

冒頭でも紹介した以下の非斉次方程式を解いてみましょう。

例題2

d2xdt2dxdt2x=t2 \dfrac{d^2x}{dt^2} -\dfrac{dx}{dt}-2x = t^2 の一般解を求めよ。

対応する斉次形の微分方程式は d2xdt2dxdt2x=0 \dfrac{d^2x}{dt^2} -\dfrac{dx}{dt}-2x = 0 で,一般解は x=C1e2t+C2etx = C_1 e^{2 t} + C_2 e^{-t} となる。また,x=12t2+12t34x = -\dfrac{1}{2} t^2 +\dfrac{1}{2} t - \dfrac{3}{4} は特殊解になる。実際, d2xdt2dxdt2x=1(t+12)2(12t2+12t34)=t2\begin{aligned} &\dfrac{d^2x}{dt^2} -\dfrac{dx}{dt}-2x\\ &= -1 - \left( -t + \dfrac{1}{2} \right)\\ &\quad -2\left( -\dfrac{1}{2} t^2 +\dfrac{1}{2} t - \dfrac{3}{4} \right)\\ &=t^2 \end{aligned} したがって一般解は x=C1e2t+C2et12t2+12t34 x = C_1 e^{2 t} + C_2 e^{-t} -\dfrac{1}{2} t^2 +\dfrac{1}{2} t - \dfrac{3}{4} となる。

特殊解の求め方:

  • 特殊解を x=at2+bt+cx = at^2 +bt +c という形だと予想して,実際に代入して係数を決定しました。多くの場合,特殊解は「余分な項」の形に近くなります。

  • また e2t0te2s{es0serr2  dr}  ds e^{2t} \int_0^t e^{-2s} \left\{e^{-s} \int_0^s e^{r} r^2 \; dr \right\} \; ds という式で計算することもできます。証明は省きますが,一般に d2xdt2+a1dxdt+a0x=f(t) \dfrac{d^2 x}{dt^2} + a_1 \dfrac{dx}{dt} + a_0 x = f(t) の特殊解は,λ2+a1λ+a0=0\lambda^2 + a_1 \lambda +a_0=0 の2解を α,β\alpha , \beta とすると, eαt0teαs{eβs0seβrf(r)  dr}  ds e^{\alpha t} \int_0^t e^{-\alpha s} \left\{ e^{\beta s} \int_0^s e^{-\beta r} f(r) \; dr \right\} \; ds と計算できます。

具体例:強制振動の微分方程式

高校物理では登場しませんが,外部から力を受ける単振動を考えることができます。これを強制振動と表現することがあります。

質量 mm の重りが,バネ係数 kk であるバネにつるされて,F=fcostF = f \cos t で表される外力を受けて振動するケースを考えます。また kmk \neq m とします。運動方程式は d2xdt2+ω2x=fcost \dfrac{d^2x}{dt^2} + \omega^2 x = f \cos t となります。解が

x=Acost+Bsintx=A\cos t + B \sin t という形になると予想して代入してみましょう。 fcost=(1+ω2)Acost+(1+ω2)Bsint\begin{aligned} &f \cos t \\ &=(-1 + \omega^2)A \cos t \\&\quad+(-1+\omega^2 )B\sin t \end{aligned} が得られました。これは tt によらず成立するためには,sint\sin t に注目すると B=0B=0 が分かります。cost\cos t に注目すると A+ω2A=f -A + \omega^2 A = f が成立すればよいので A=fω21A = \dfrac{f}{\omega^2-1} であればよさそうです。なお,最初に kmk \neq m としているので ω10\omega -1 \neq 0 です。こうして一般解は x=C1cosωt+C2sinωt+fω21cost x = C_1 \cos \omega t + C_2 \sin \omega t + \dfrac{f}{\omega^2 - 1} \cos t となることが分かります。初期条件から各定数を確定させることで運動の様子が完全にわかります。

ここで ω=1\omega = 1 の場合はどうなるのか気になる人も多いと思います。この場合,特殊解としては x=12tsintx = \dfrac{1}{2} t \sin t が取れます。

入試の物理の問題はほとんど微分方程式を立てて解いていました。なつかしいです。