ミミック

MIMIC は、大文字で表記される形式でのみ知られている、かつてのシミュレーション コンピュータ言語であり、1964年に米国オハイオ州デイトンライト・パターソン空軍基地の空軍資材司令部システムエンジニアリンググループの HE Petersen、FJ Sansom、LM Warshawsky によって開発されました。[1]これは式指向の連続ブロックシミュレーション言語ですが、 FORTRANのような代数のブロックを組み込むことができます

MIMICは、アナログコンピュータ設計を代表するMIDAS(Modified Integration Digital A nalog Simulatorさらなる発展形です。MIMICは完全にFORTRANで記述されていますが、一部のルーチンはCOMPASSで記述されており、 Control Data社のスーパーコンピュータで動作し、はるかに大規模なシミュレーションモデルを解くことができます。

MIMIC は、工学、物理学、化学、生物学、経済学、そして社会科学といった様々な科学分野における数学モデルを記述する常微分方程式を数値積分によって容易に解くことができ、解析結果はリスト化または図表化されます。また、非線形動的条件の解析も可能です

FORTRANオーバーレイプログラムとして記述されたMIMICソフトウェアパッケージは、数学モデルの入力文を6つの連続パスで実行します。MIMICで記述されたシミュレーションプログラムは、インタープリタではなくコンパイルされます。シミュレーションパッケージの中核は、4次ルンゲ・クッタ法の可変ステップ数値積分器です。ほとんどの科学プログラミング言語に見られる数学関数に加えて、電気回路要素に関連する多くの便利な関数が用意されています。MIMICは内部的に変数の依存関係の順序付けを行うため、文を並べ替える必要はありません。

オーバーレイに編成されたソフトウェアの部分は次のとおりです。

  • MIMIN(入力)– ユーザーシミュレーションプログラムとデータを読み込み、
  • MIMCO(コンパイラ) – ユーザープログラムをコンパイルし、インコア命令配列を作成する。
  • MIMSO (ソート) - 変数の依存関係に従って命令配列をソートします。
  • MIMAS(アセンブラ) - BCD命令を機械語コードに変換します
  • MIMEX (実行) – ユーザープログラムを統合して実行します。
  • MIMOUT (出力) - データをリストまたはデータ図として出力します。

問題

海洋生物学分野における捕食者・被食者モデルを用いて、魚類とサメの個体群動態を解析する。単純なモデルとして、ロトカ・ヴォルテラ方程式とチュートリアルで示されている定数を用いる。[2]

もし

f (t): 時間の経過に伴う魚類の個体数(魚)
s (t): サメの個体数の経時的変化(サメ)
d f / dt または:魚類個体群の成長率(魚/年) f ˙ {\displaystyle {\dot {f}}}
d s / dt または:サメの個体数の増加率(サメ/年) s ˙ {\displaystyle {\dot {s}}}
α {\displaystyle \alpha} : サメがいないときの魚の成長率(1/年)
β {\displaystyle \beta} : 魚とサメの遭遇ごとの死亡率(1/サメ、年間)。
γ {\displaystyle \gamma} : 獲物である魚がいない場合のサメの死亡率(1匹/年)
ϵ {\displaystyle \epsilon } 捕食された魚をサメに変える効率(サメ/魚)

それから

f ˙ α f β f s {\displaystyle {\dot {f}}=\alpha f-\beta fs}
s ˙ ϵ β f s γ s {\displaystyle {\dot {s}}=\epsilon \beta fs-\gamma s}

初期条件付き

f 0 f o {\displaystyle f(0)=f_{o}}
s 0 s o {\displaystyle s(0)=s_{o}}

この問題の定数は次のように与えられます。

  • f o {\displaystyle f_{o}} = 600匹の魚
  • s o {\displaystyle s_{o}} = 50匹のサメ
  • α {\displaystyle \alpha} = 0.7匹/年
  • β {\displaystyle \beta} = 0.007 魚/サメと年
  • γ {\displaystyle \gamma} = 0.5匹/年
  • ϵ {\displaystyle \epsilon } = 0.1 サメ/魚
  • tmax = 50年
コードサンプル
カード列
0 1 2 3 4 5 6 7
1234567890123456789012345678901234567890123456789012345678901
-----------------------------------------------------------------------
* 海洋生物学からのシンプルな捕食者と被食者モデル
/ (チュートリアル 2: 常微分方程式の数値解 - 19/08/02)
/ 環境流体力学研究室
/ 土木環境工学科
/ スタンフォード大学
*
* ロトカ・ヴォルテラ方程式
                  CON(F0​​,S0,TMAX)
                  CON(アルファ、ベータ、ガンマ、EPS)
          1DF = アルファ*F-ベータ*F*S
          F = INT(1DF,F0)
          1DS = EPS*ベータ*F*S-ガンマ*S
          S = INT(1DS,S0)
                  HDR(時間、魚、サメ)
                  アウト(T,F,S)
                  PLO(F,S)
                  FIN(T,TMAX)
                  終わり
<EOR>
600。50。50。
0.7 0.007 0.5 0.1
<終了>

参考文献

  1. ^ 国防技術情報センター[リンク切れ]
  2. ^ 「チュートリアル2:常微分方程式の数値解」(PDF)スタンフォード大学土木環境工学部、環境流体力学研究室。2002年8月19日。 2010年7月20日時点のオリジナル(PDF)からアーカイブ。 2012年2月26日閲覧
注記
  • Control Data MIMIC; デジタルシミュレーション言語、リファレンスマニュアル、出版番号 4461n400、Control Data Corporation、Special Systems Publications、ミネソタ州セントポール (1968 年 4 月)
  • MIMIC、産業ダイナミクスのための代替プログラミング言語、ND Peterson、社会経済計画科学6、Pergamon 1972
  • MIMICマニュアル(1969年)、オレゴン州立大学コンピュータセンター[永久リンク切れ]
「https://en.wikipedia.org/w/index.php?title=MIMIC&oldid=1293160196」より取得