[[FrontPage]] #contents 2009/11/09からのアクセス回数 &counter; ** 微分方程式で解く硫黄島の戦い [#z3d265c0] 大学時代数学セミナーに微分方程式で硫黄島の戦いがシミュレーションできるという記事がありました。 そこで、Googleで「硫黄島の戦い」と「微分方程式」で検索すると、ランチェスターのモデルを使って 硫黄島の戦いを表した本:「微分方程式 その数学と応用」あることが分かりました。 また、Lanchester iwo jimaをキーワードとすると[[Verifying Lanchester's Combat Model Battle of Iwo Jima>https://moodle.washington.edu/file.php/20074/Lecture_Notes/Iwo_Jima.pdf]]が見つかり、クイック・ビューでその論文を見ることができました。 この論文では、 - xを米軍の兵士の数 - yを日本軍の兵士の数 とし、硫黄島の戦いを以下のような微分方程式で表すことができます。 $$ \begin{array}{l l l} \frac{dx}{dt} &=& - a y + f(t) \\ \frac{dy}{dt} &=& - b x \\ \end{array} $$ a, bは米軍、日本軍の戦闘効率係数とし、\(f(t)\)は米国軍の補強関数で、以下のようになっています。 $$ f(t) = \left\{ \begin{array}{l l} 54,000 & 0 \le t \lt 1 \\ 0 & 1 \le t \lt 2 \\ 6,000 & 2 \le t \lt 3 \\ 0 & 3 \le t \lt 5 \\ 13,000 & 5 \le t \lt 6 \\ 0 & t \ge 6 \\ \end{array} \right. $$ *** 微分方程式をsageで表現する [#z3cc1664] \(f(t)\)を任意の関数にすることは難しいので、\(\delta(t)\)として、一瞬で補強が完了するような式を sageを使って定義したのが以下の式です。 #pre{{ # 微分方程式で解く硫黄島の戦い(ランチェスターのモデル) var('t a b c') assume(c>0) x = function('x', t) y = function('y', t) f = function('f', t) # ランチェスターの式を定義します de1 = diff(x,t) == -a*y + c*dirac_delta(t) de2 = diff(y,t) == -b*x }} ** コメント [#g98a33c0] #vote(おもしろかった,そうでもない,わかりずらい) 皆様のご意見、ご希望をお待ちしております。 #comment_kcaptcha