ニュートン力学以来、物理法則の多くは微分方程式の形で記述されてきました。 したがって、多くの場合の物理シミュレーションが「微分方程式に従って物理系の状態を遷移させていき、各ステップで物理量を計算して出力する」というのものになっています*1。 このようなシミュレーションに関しては、微分方程式が物理系から引きはがされ、微分方程式が与えられたものとして一般的なシミュレーション手法がいろいろ考案されています。
今回は、それらの手法の中で最も基本となるオイラー法 (Euler's method) を見ていきます。
オイラー法
微分方程式が規定する物理系をシミュレートする場合の問題設定は、だいたい以下のようになります:初期条件 の下で次の微分方程式を解け:
物理系の状態は の値の組で指定されるのですが、シミュレーションでは物理系の状態遷移は
のようにステップ・バイ・ステップで求めていきます。 初期条件は出発点となる状態を指定し、微分方程式はある状態から次の状態への遷移(のアルゴリズム)を規定します。
の遷移
の遷移は通常決まった値だけ増加させるだけです。 ここではその増加幅を としましょう。 このときの遷移:
となります。
の遷移
の遷移は- の増加幅
- 微分方程式に現れている
から計算します。 微分方程式が規定する物理系に適用されるシミュレーション手法は、(オイラー法に限らず)多くの場合 の増加幅が一定で、 の増加幅をどのように計算するかが変わっているだけです。
この置き換えを微分方程式に施して、それを について解くと以下の式を得ます:
の増加:
結果
結局、オイラー法では以下のような状態遷移を行います:オイラー法の状態遷移:
- 作者: ハーベイゴールド,ジャントボチニク,Harvey Gould,Jan Tobochnik,鈴木増雄,石川正勝,溜渕継博,宮島佐介
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/12
- メディア: 単行本
- 購入: 1人 クリック: 28回
- この商品を含むブログ (45件) を見る
- 作者: 奥村晴彦,杉浦方紀,津留和生,首藤一幸,土村展之
- 出版社/メーカー: 技術評論社
- 発売日: 2003/05
- メディア: 単行本
- 購入: 2人 クリック: 61回
- この商品を含むブログ (61件) を見る
*1:まさに、Groops の対象とするようなシミュレーション :-)