[[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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc