一般的な一階線形s微分方程式の解き方
先週やっていたのは、 ddxf(x)+p(x)f(x)=q(x) という方程式であった。
これを解く方法として、 (ddx+p(x))(e−P(x)F(x))=e−P(x)ddxF(x) を使ってf(x)の項を消去するという方法がある。
ここで∫dxp(x)=P(x)+CすなわちP(x)がp(x)の原始関数の一つであるとすれば、微分ddxの結果がddxe−P(x)=−p(x)e−P(x)となって、ちょうどp(x)の項を打ち消す項が出てきて (ddxe−P(x))F(x)⏞−p(x)e−P(x)F(x)+e−P(x)ddxF(x)+p(x)e−P(x)F(x)=q(x)e−P(x)ddxF(x)=q(x) が解くべき方程式となる。
ここで「積分定数はいらないのか?」という疑問が湧くかもしれない。
しかし、まだF(x)は決まってない量だから、e−Cも含めてF(x)に入れてあると思えばよい。ddxP(x)=p(x)になる関数を(いわば代表として)一つ見つければ十分である。
こうして、p(x)の原始関数P(x)を使うことで (ddx+p(x))f(x)=q(x) → ddxF(x)=q(x)eP(x) と式を書き直せたので、後はこれを解く。右辺をxで積分することができれば F(x)=∫dx(q(x)eP(x)) となり、 f(x)=e−P(x)∫dx(q(x)eP(x)) が一般解である。この不定積分∫dx(q(x)eP(x))の結果をG(x)+C(Cは積分定数)とすれば、 f(x)=e−P(x)G(x)⏟f′(x)+p(x)f(x)=q(x)の特解+Ce−P(x)⏟f′(x)+p(x)f(x)=0の一般解 となる。第2項が斉次方程式の一般解になっていることに注意しよう。
この式はP(x)→P(x)+Cと置き換えても変わらない式になっていることに注意。
では、練習問題として、 dydx+2xy=x を解いてみる。p(x)=2xだから、P(x)=x2とすればよい。f(x)=e−x2F(x)と置くことで、 (ddx+2x)e−x2F(x)=xe−x2ddxF(x)=x となるが、この式をddxF(x)=xex2としてから積分すれば F(x)=12ex2+C となり、 f(x)=12+Ce−x2 が一般解である。結果を見ると、12の部分は非斉次方程式ddxf(x)+2xf(x)=xの特解であり(代入してみよう)、Ce−x2の部分は斉次方程式ddxf(x)+2xf(x)=0の一般解である(これも実際に解いてみればわかる)。つまりこの場合は「斉次方程式の一般解と非斉次方程式の特解を足す」という解き方でも解ける。
定数変化法
ここで、前節での微分方程式の解き方を見直してみる。解をy(x)=(G(x)+C)e−P(x)と同類項でくくって考えてみると、dydx+p(x)y=0の一般解であるy(x)=Ce−P(x)のパラメータである定数Cが、C→G(x)+Cのように置き換えられた形になっている。従ってこの方程式は、以下の手順で解くこともできる。
まずdydx+p(x)y=q(x)の右辺を0に置き換えた dydx+p(x)y=0を解いてy=Ce−P(x)という解をみつけたのち、定数CをC(x)のように変数に換えると、 (ddx+p(x))(C(x)e−P(x))=q(x)e−P(x)ddxC(x)=q(x) という式が出るから、後はこれを解いてC(x)を求める。
定数なのに変化させるとはおかしな名前であるが、ここで説明した計算法は、
- 非斉次方程式→斉次方程式と方程式を置き換えて解いて定数Cを含む解を求める。
- 逆に斉次方程式→非斉次方程式と置き換え戻す。
- それに応じて答えも定数C→変化する数C(x)と置き換える。
今日の小テスト
以下の微分方程式を解け。解き方は
- 非斉次の特解と斉次の一般解を求めて足す。
- 今日やった、e−P(x)のP(x)を求める方法。
- 同じく今日やった、定数変化法
のどれでも構わない(もちろんこれ以外でもいいが)。
- dydx−y=1
- dydx+y=e−x
解答の前に「どのやり方で解いた?」と聞いてみた。1.については「非斉次の特解:P(x):定数変化」が1:1:3ぐらい。2.については0:1:3ぐらい、と定数変化法で解いていたのが多かった。
答は以下の通り。
dydx−y=1は、特解を求めるのが楽であろう。というのは、y=−1という定数が解になるからである。斉次にした方程式dydx−y=0も、これまでも解いてきた式だからy=Cexとすぐにわかる。よって解は、 y=Cex−1 である。
定数変化法で解くと、y=Cexと解いた後に定数Cを置き換えてy=C(x)exとして、 ddx(C(x)ex)−C(x)ex=1dC(x)dxex+C(x)ex−C(x)ex=1dC(x)dxex=1dC(x)dx=e−xC(x)=−e−x+D となるので、答はy=−1+Dex。
p(x)=−1と考えればP(x)=−xであるから、解はy=e−xF(x)となる。これを代入して計算する(この後の計算方法は定数変化法と同じ)。
dydx+y=e−xは、まず斉次化すると、dydx+y=0となって、解はy=Ce−xとなる。定数を変数に置き換えて、 ddx(C(x)e−x)+C(x)e−x=e−xdC(x)dxe−x−C(x)e−x+C(x)e−x=e−xdC(x)dxe−x=e−xdC(x)dx=1C(x)=x+D となるので、答はy=(x+D)e−x。
半分ぐらいの人はスイスイと解けていたが、手が止まってしまっている人もいた。このあたりは基本中の基本なので、手が動かない人は訓練不足である。
こういうのは経験値の差というか「慣れ」です。ある程度訓練すると、手も動くようになるし、自動的に解けていくようになります(まるで「紙と鉛筆が考えてくれる」ように)。練習しましょう。
微分方程式の線形化
線形でない微分方程式を線形微分方程式に直す方法について紹介する。ベルヌーイ型微分方程式
dydx+p(x)y=q(x)yn という一階微分方程式は、ynを含むから非線形であるが、変数を変えることで線形な方程式に直すことができる。まず両辺をynで割ると、 y−ndydx+p(x)y1−n=q(x) となる。これを見て、z=y1−nを新しい変数にすればいい のでは、と気づく。というのは、zをxで微分してみると、 dzdx=ddxy1−n=(1−n)y−ndydx となることから\式{BDE}の第1項はdzdxに比例している。こうして\式{BDE}を 11−ndzdx+p(x)z=q(x) と書き換えることができてこの計算はn=1ではできないが、その場合は線形微分方程式なのだからこんなことをしなくてもよい。、zを従属変数として解けばよい。
前に考えた流行の方程式 dydt=ky(1−y) はp(x)=−k,q(x)=−kでn=2の場合のベルヌーイ型微分方程式なので、z=1yとすることで、 −dzdt−kz=−k という式に直すことができる(逆にこの式にz=1yを代入すれば元に戻る)。
もちろんこの方法は\式{BDE}という特定の形の微分方程式(あるいは整理してこの形に直せる式)の時にだけしか使えない。
線形近似による方法
どうしても線形に直すことができないような微分方程式は、近似を使って解く場合もある。
一般的に、 (ddt)2x(t)=F(x) のような式で、F(x)がある点x0で0を取っているとすると、F(x)を F(x0)⏟0+F′(x0)(x−x0)+12F″ のようにテイラー展開を使って線形な式に直してしまうことができる(もちろん、F''(x_0)以降の項が無視できるほど小さいかどうかは吟味する必要がある)。
例として、振り子の運動方程式は \begin{equation} mL\left({{\mathrm d\over\mathrm dt}}\right)^2 {\theta}= mg \sin{\theta} \end{equation} である。右辺の\sin{\theta}はもちろん非線形であり、このまま解くのはたいへん難しい。そこで、{\theta}-{{\theta}^3\over3!}+\cdotsのようにテイラー展開して考えて1次の項のみを取る。 \begin{equation} mL\left({{\mathrm d\over\mathrm dt}}\right)^2 {\theta}= mg {\theta} \end{equation} として解けば、後は{\theta}に関する線形微分方程式である。もちろん、振幅が大きい場合にはこの近似は使えない。