ホイン: O(h²) 2次
RK4: O(h⁴) 4次
刻み幅を½にすると
RK4の誤差は1/16倍
オイラー・ホイン・RK2・RK4・RK45法を同一問題で比較。刻み幅による精度・安定性の違いを可視化。ロジスティック成長・ファン・デル・ポール振動子・ローレンツ方程式のプリセット付き。
機械・自動車工学:エンジンのピストン運動やサスペンションの振動解析に利用されます。リアルタイム制御が必要なECU(エンジン制御ユニット)内の計算では計算コストの低いオイラー法が、設計段階での詳細な性能評価にはRK4やRK45がよく用いられます。
電気・電子回路シミュレーション:トランジスタやオペアンプを含む非線形回路の過渡応答を計算するために必須です。スイッチングの瞬間など電圧・電流が急激に変化する部分では、RK45のような刻み幅制御機能を持つ手法が威力を発揮します。
化学反応・生物増殖モデリング:複数の化学物質が関与する反応速度論や、人口増加のロジスティック方程式の予測に使われます。反応速度が速い物質と遅い物質が混在する「硬い方程式」では、解法の選択が計算の成否を分けます。
気象・流体シミュレーション(CFD):ナビエ-ストークス方程式を時間方向に離散化する際の時間積分スキームとして応用されます。乱流の計算などでは膨大な計算コストがかかるため、精度と効率を両立させる高度な解法が研究されています。
まず、「高次=常に正義」ではないという点を押さえよう。確かにRK4はオイラー法より圧倒的に精度が高い。しかし、例えば制御システムのリアルタイムシミュレーションのように、計算速度が最優先で、多少の誤差がフィードバックループで吸収される場合は、オイラー法が採用されることもある。このツールで「ロジスティック成長」を選び、刻み幅h=1.0で各手法を比較してみてほしい。RK4とオイラー法の結果は大きく違うが、h=0.1まで細かくすると、オイラー法でも実用に足る解に近づく。つまり、「刻み幅」と「次数」はトレードオフの関係にあるんだ。
次に、「安定性」を見落とさないでほしい。例えば「ファン・デル・ポール振動子」で、刻み幅をh=2.0など非常に大きく設定してオイラー法を実行すると、解が発散してグラフが吹き飛ぶことがある。これは数値的不安定性と呼ばれる現象で、手法によって許容できる刻み幅の上限が違う。実務では、計算が破綻しない安定した刻み幅を事前に見積もることが必須だ。
最後に、RK45の「自動刻み幅制御」を過信しないこと。これは万能ツールではなく、許容誤差(ツール内の「許容誤差」パラメータ)という目標精度をユーザーが設定する必要がある。許容誤差を甘く(例えば1e-3)設定すると計算は速いが粗い解に、厳しく(1e-9)設定すると高精度だが計算コストが跳ね上がる。常に「どの程度の精度が必要か」という要求仕様から逆算してパラメータを決めよう。
ローレンツ方程式(初期値y0=[1,1,1], t0=0, tf=20)でh=0.01の場合:Euler法は700ステップで相対誤差12.5%、RK4は175ステップで誤差0.08%、RK45は適応刻み幅で平均h=0.012相当の誤差0.003%を達成。tf=50では刻み幅h=0.005時にHeun法の収束次数2次が確認でき、RK4の4次との精度差が顕著(RK4誤差0.0001%)。