質問<2274>2005/4/5
from=いいちこ
「微分方程式」


ある都市の人口x(万人)は時間t(年)の関数で、xの増加する速度は
その年の人口に比例し、平成m年にa万人であった人口が
平成n年にb万人になった。(0<m<n,0<a<b)

(1)平成t年の人口x(t)を表す式をつくれ。
(2)この都市の人口が平成1年に30万人、平成11年に36万人
  であったとすれば平成21年の人口は何人になるか。

宜しくお願いします。

★希望★完全解答★

お便り2005/4/6
from=亀田馬志


質問ばっかじゃ悪いんで(笑)。

>ある都市の人口x(万人)は時間t(年)の関数で、

まずコレで

・x=f(t)

ってのが分かりますね。

>xの増加する速度は

「速度」ってのは原則的に時間tに対するxの変化率を表してます。
変化率ってのは「単位時間内に対するxの増減」、すなわち、

・xの単位時間毎の変化率={x_(2)-x_(1)}/{t_(2)-t(1)} 
(添え字1、2は任意、かつxはtの関数である事に留意。)
=Δx/Δt

の事ですね。中学校で習う『平均の傾き』の事です。
これの極限値が単純に言うと『瞬間速度』=『xのtでの微分』って事に
なります。問題が微分方程式に付いてなんで当然ですよね(笑)。
ここでは『xの増加する速度』を

・dx/dt

と表記してみます。

>xの増加する速度はその年の人口に比例し、

上で求めたdx/dtってのがxに比例してる、って言ってるワケです。簡単ですね。
ここでは適当な比例係数、kとでもしましょうか、を使って上の文章を
翻訳してみましょう。

・dx/dt=kx・・・①

お終いです(笑)。簡単でしょ?
物理的にはこれで終わりとしたいんですが(笑)、ちょっと解き方を考察してみます。
数学的にはテキトーな解説なんですが(笑)。

この形式の微分方程式を『線形微分方程式』と呼びます。
『線形って何だ?』って解説は他の人が(多分)してくれると思うんで(笑)、
単純に『次の解き方で解ける微分方程式を線形微分方程式と言う』とでも
覚えてくれてればイイです。
と言うか、高校では(物理も含めて)『線形微分方程式』以外の問題って出ない
と思います。
まず予備知識として覚えておいて頂きたいのはd/dtってxをハズした部分は
『まるで係数(定数)のように扱える』って約束事です。
この部分を『微分演算子』と呼びます。ちょっと厳めしい呼び方ですが、
要するに『演算子』ってのは『ある計算の約束事を表した文字(書き方)』って
意味ですね。大した意味じゃないです。

そこで①を次のようにして見てみましょう。

・dx/dt-kx=0・・・②

両方ともxが入ってるんで、何か括弧で括りたくなって来たでしょう?
括りたいですね?誘惑には勝てない主義なんで(笑)、括弧で括っちゃいます。

・(d/dx-k)x=0

実はほぼコレで『解法』としてはお終いなんです。
ここで示唆されてる事、ってのは『d/dxって計算の約束事はkである』って
ちょっと意味が分からない事です(笑)。これは一体何でしょうね?
実はこの方程式の形、ってのはある種基礎型で、このd/dt-k=0のスタイルって
のが常にある関数を導き出す、ってれっきとした事実があるんです。
それはネピア数eの指数関数を示唆していて、
積分定数をAとした次の指数関数が常に『一般解(もしくは部分解)』である、
って事です。

・x=Ae^(kt)・・・③

数学的にはかなり端折ったんですが(笑)、これを覚えていさえすれば、
少なくとも『線形微分方程式』だったら2階だろうが3階だろうが全部解けます。
全部『因数分解の問題』に持ち込んで、アトは独立変数の係数が何なのかさえ
分かればイイ、って事です。

(1)いわゆる『初期条件』の問題です。
一般解③に与えられた条件(平成m年にa万人であった人口が平成n年にb万人に
なった)を代入してこちらで勝手に決めた積分定数Aと係数kを書き換えるのが
この問題の主眼です。
つまり、

・Ae^(mk)=a…④
・Ae^(nk)=b…⑤

と言う連立方程式を解けばイイ……んですが、メンド臭そうですね(笑)。
しょうがないんで、両辺ネピア数eを底とした対数(ln)でも取ってみましょうか?

・ln|Ae^(mk)|=ln|a|・・・④'
・ln|Ae^(nk)|=ln|b|・・・⑤'

ここでln|xy|=ln|x|+ln|y|ってのはご存知ですよね?
よってまたもや書き換えます

・ln|A|+mk=ln|a|・・・④''
・ln|A|+nk=ln|b|・・・⑤''

となります。ここでln|e^(mk)|=mkになるのはイイですか?nkも同じです。
さて、ここまで来たんで、調子に乗って行列化したいと思います。
ちょっと見づらいですが、

(1 m)(ln|A|) (ln|a|)
(1 n)( k )=(ln|b|)......⑥

ここでやっとAX=Yのカタチに持ち込めましたんで、このまま解きたいと思います。
『クラメールの公式』ってのを使います。知ってますかね?知らなければ
・・・多分『行列』の項目に書いてあるんじゃないかしら?取りあえず解説長くなるんで、
分からなかったらアトで質問して下さい。
クラメールの公式より解は次のようになります。

・ln|A|=ln|(a^n/b^m)^{1/(n-m)}|・・・⑦
・k=ln|b/a|/(n-m)・・・⑧

⑦の方はlnハズせますね。よって、ココで求められたAとkの値を③の一般解に
代入して作業は終わりです。
解は(計算間違いさえしてなければ)次のようになるハズです。

・x=[(a^n/b^m)^{1/(n-m)}]*[(b/a)^{t/(n-m)}]

ややこしい解ですね(苦笑)。どなたか検算お願いします(笑)。

(2)基本的に(1)の解に実値を代入してみろ、って問題ですね。
m=1、a=30万、n=11、b=36万って事です。
手算じゃメンド臭いんで、エクセル君の力を借りてみます。(笑)。

・A=(a^n/b^m)^{1/(n-m)}
 =(30万^11/36万^1)^{1/(11-1)}
 =294579.9

・b/a=36万÷30万
  =1.2

・n-m=11-1
   =10

これでパーツとしては充分でしょう。xは

・x=294579.9×1.2^(t/10)

となります。ここにt=21を代入すればイイワケです。

・x=294579.9×1.2^(21/10)
  =43万2千人

以上です。
読みづらくってすいません。