2009/11/09からのアクセス回数 6977
大学時代数学セミナーに微分方程式で硫黄島の戦いがシミュレーションできるという記事がありました。
そこで、Googleで「硫黄島の戦い」と「微分方程式」で検索すると、ランチェスターのモデルを使って 硫黄島の戦いを表した本:「微分方程式 その数学と応用」あることが分かりました。
また、Lanchester iwo jimaをキーワードとするとVerifying Lanchester's Combat Model Battle of Iwo Jimaが見つかり、クイック・ビューでその論文を見ることができました。 この論文では、
とし、硫黄島の戦いを以下のような微分方程式で表すことができます。 $$ \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. $$
\(f(t)\)を任意の関数にすることは難しいので、\(\delta(t)\)として、一瞬で補強が完了するような式を sageを使って定義したのが以下の式です。
# 微分方程式で解く硫黄島の戦い(ランチェスターのモデル) 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
皆様のご意見、ご希望をお待ちしております。