今週は微分方程式の例について(前回やったものも含めて)説明していこう。
燃料を噴射して飛ぶロケットの噴射した燃料の量と速度変化の関係は微分方程式から求めることができる。もし、我々が微分方程式というものを知らずにいいかげんな考え方をすると、次の動画のように考えてしまう。
右のボタンを押すと噴射が行われる→ 右のボタンを押すと最初に戻る→
↑このプロセスを数式で考えると、「静止していた質量$m_0$のロケットが質量$m'$の推進剤(燃料を燃焼させた結果であるガスなど)を速さ$w$で後方に噴射した。噴射後のロケットが速さ$V$になる」という場合の運動量保存則から、
\begin{equation} 0=(m_0-m')V +m'\times (-w) \end{equation}が成り立つ。結果として、$V={m'\over m_0-m'}w$となるが、これは「大間違い」なのだ。
上の「大間違い」は何が間違いなのかというと、ロケットの質量も速度も連続的に少しずつ変化していく量なのに、まるで一気に変わったかのように考えてしまったことである
次の動画で、10段階に分けて噴射した場合を実感しよう。
噴射した量は、ロケット本体の何倍か?を、↓のスライダで決定する。
右のボタンを押すと噴射が行われる→ 右のボタンを押すと最初に戻る→
なお、現実的状況に近いのは10段階に分けた方で、いっきに噴射は現実にはできない。
そこで、(全体の変化を一気に考えるのではなくそのうちの一部を取り出して)微小変化について絵を描くと以下のようになる。
図はすでにある程度噴射した途中の状態で、すでに速度${V}$を持っている。この時の質量は最初の$m_0$に比べて少ない${m}$(←変数!)になっている。微小時間後に、ロケットは質量${m}+\mathrm dm$で速度${V}+\mathrm dV$になっている。噴射された推進剤は$w$の速度で後方へ進むのではなく、速度$w-{V}$で後方へ進む(または「速度${V}-w$で前方へ進む」)。既に速度${V}$を持っているロケット見て「$w$の速さ」で後方に噴射されたのだから、$w$ではなく{速度$w-{V}$}になる、と考えればよい。$w-{V}<0$の時、噴射剤は前方(!?)に進む。$w={V}$のとき、噴射された推進剤はその場に静止する(ロケットから見たら後方に動いている)。
運動量保存則を考えると、
\begin{equation} {m} {V} = ({m}+\mathrm dm)({V}+\mathrm dV) -\mathrm dm ({V}-w) \end{equation}となる。
↑これが「localな情報から得られる式」
この式を整理すると、
\begin{equation} \begin{array}{rl} \underbrace{{m}{V}}_{相殺→}=&\underbrace{{m}{V}}_{←相殺} + \underbrace{\mathrm dm {V}}_{相殺\atop →}+ {m}\mathrm dV +\underbrace{\mathrm dm\mathrm dV}_{高次の微小量} \underbrace{-\mathrm dm {V}}_{相殺\atop ←}+ \mathrm dm w \\ -{m}\mathrm dV=&\mathrm dm w \\ \mathrm dV=& -w {\mathrm dm \over {m}} \end{array} \end{equation}となる。この積分結果は${V}=-w\log {m} +C$である。
${m}=m_0$(初期値)の時に${V}=V_0$という初期条件を使うと、$C=w\log m_0+V_0$となるので、
\begin{equation} {V}=-w\log {m} +\overbrace{w\log m_0+V_0}^C = w\log\left({m_0\over {m}}\right)+V_0 \end{equation}となり、速度変化${\Delta V}$に関して
\begin{equation} \underbrace{{V}-V_0}_{{\Delta V}}=w\log\left({m_0\over {m}}\right) \end{equation}が成立する。最終的にロケット全体の質量が$m_1$になったところで推進剤が尽きたとすると、最終的な速度変化は$\Delta V=w\log\left({m_0\over m_1}\right)$となる。
というような式を、積分さえ頑張れば得られるのが、微分方程式というもののありがたさなのだ。
$\delta=\left({m_0\over m_1}\right)$という量この$\delta$は変化量を表す$\delta$ではなく、「$\delta$」1文字で一つの数。は「質量比」と呼ばれる(文字通り、噴射前と噴射後の質量の比である)。グラフで分かるように、$\delta$を大きくしても${\Delta V}$はどんどん増えるというわけにはいかない($\log x$という関数は傾き${1\over x}$だから、傾きがどんどん緩くなっていく)。ロケットの性能を上げるには噴射速度$w$(これは燃料の質に大きく左右される)を大きくすることが大事であることがわかる。
「ある流行(服でも靴でもいい)がどのように時間的に流行していくかを方程式で示す」という問題を考えよう。以下にそのシミュレーションを示す。
下の図のは「流行の帽子をまだかぶってない人」、は「流行の帽子をかぶっている人」を表す。
は周りを見て、「あ、あの帽子俺も欲しい」と思ったら購入してになる。
その様子のアニメーションが↓なので、まずは眺めて欲しい。
←再スタートしないときは下のスライダーを動かしてください。
k=
C=
眺めて、
ということが確認できたろうか?---できたら、これを微分方程式を解くことで確認しよう。
全人口の${y}$倍がすでにその流行に乗っているとしよう。変数${y}$の意味は、${y}=0$なら「誰もかぶってない」、${y}=1$なら「全員がかぶっている」という状態である。
単純に「回りの人がかぶっていたら自分もかぶりたくなるだろう」と考えると、
\begin{equation} {\mathrm dy\over \mathrm dt}= k{y} \end{equation}という「既にかぶっている人の率に比例してかぶる人が増える」という式にしたくなる。ところがこれだと解は指数関数となり${y}$はどんどん上昇して1を超えてしまう(全人口よりかぶっている人の方が多い??)。失敗は「すでにかぶっている人は影響を受けない」を考えてなかったことである。「今からかぶろう」と決断することができるのは、まだかぶっていない人(全体の$1-{y}$倍の人)だけであると考えると微分方程式は
\begin{equation} {\mathrm dy\over \mathrm dt}= k{y}(1-{y}) \end{equation}なる。これを解くには、${y}(1-{y})\neq0$を仮定しつつ変数分離して
\begin{equation} {\mathrm dy\over {y}(1-{y})}= k\mathrm dt \end{equation}とする。
左辺の積分は $${1\over {y}(1-{y})}= {1\overbrace{-{y}+{y}}^0\over {y}(1-{y})}={1\over {y}}+{1\over 1-{y}}$$ と分数を書き直すことで
\begin{equation} \begin{array}{rl} {\mathrm dy\over {y}}+{\mathrm dy\over 1-{y}} =&k\mathrm dt \\ \log |{y}|-\log|1-{y}|=&k {t}+C \\ \end{array} \end{equation}と積分できる($C$は積分定数)。この段階では$0\leq {y}\leq 1$という状況で考えているので、本来は絶対値を取るという操作は不要である。
これを整理すると
\begin{equation} \begin{array}{rl} \log \left({{y}\over 1-{y}}\right)=&k {t}+C \\ {{y}\over 1-{y}}=&\mathrm e^{k {t}+C}\\ {y} =&(1-{y})\mathrm e^{k {t}+C} \\ {y}\left( 1+\mathrm e^{k {t}+C} \right) =&\mathrm e^{k {t}+C} \\ {y} =& {\mathrm e^{k {t}+C}\over 1+\mathrm e^{k {t}+C} } ={1\over 1+\mathrm e^{-k {t}-C} } \end{array} \end{equation}となる。
ここでもう一度動くグラフを見てもらえば、$k$が大きいほど急激な流行になることがわかる。
ここでは、${y}=0$から${y}=1$までの範囲だけを考えた(もともとの${y}$という変数の意味からするとそれで十分である)。少し話を一般的にすることにして、${\mathrm dy\over \mathrm dt}= k{y}(1-{y})$の解を一般的に考察しておこう。
グラフは$ {\mathrm dy\over \mathrm dt}=k{y}(1-{y})$のグラフである。${\mathrm dy\over \mathrm dt}$は${y}=0$と${y}=1$で0となり、その間の範囲で正、それ以外の場所で負である。よって時間経過した時の変化を考えると、$0<{y}<1$では増加し、それ以外では減少する。結果として${y}$の値は${y}=1$へと集まっていく(そして、${y}=0$からは離れていく)という傾向を示す。
今求まった${y}={1\over 1-\mathrm e^{\pm k {t}-C}}$という解には実は「抜け」がある。${y}=0$と${y}=1$(定数で、このままずっと変化しない)というのも、もともとの微分方程式の解であるが、それは今求めた解の複号$\pm$と積分定数$C$の値をどう決めても出てこない。今求めた解は非常に微妙なところで「一般解」になり損なっている。
この二つの「特異解」はそれぞれ意味がある。$y=0$で一定は「最初から最後まで誰もかぶってない」であり、$y=1$は「最初から全員がかぶっている」という状態である。この場合、その後変化は一切起こらなくて当然である。
「抜け」の原因は${\mathrm dy\over\mathrm dt}=ky(1-y)$から${\mathrm dy\over y(1-y)}=k\mathrm dt$への変形において両辺を${y}(1-{y})$で割ったことである。割算では、割る数が0でないかを確認しなくてはいけない。つまり${y}(1-{y})$で割ったことにより、ここから後の式は${y}(1-{y})\neq0$の場合に限る話になっている。${y}(1-{y})=0$の場合は別に考慮しなくてはいけない。それが解になってないならその可能性を捨てればよいのだが、この場合はこれらも解になる。${y}$が一定になる場合は右辺も左辺$\left({\mathrm dy\over \mathrm dt}\right)$も0になるからである。この二つ${y}=0$と${y}=1$は今求めた解${y}={1\over 1-\mathrm e^{\pm k {t}-C}}$に含まれない解となる。
今の場合の(文字通りの)一般解は以下の通りである。
\begin{equation} {y}={1\over 1-\mathrm e^{\pm k {t}-C}}(Cは任意定数)~~または~~{y}=0~~または~~{y}=1 \end{equation}青字は受講者からの声、赤字は前野よりの返答です。