エクセルを用いたルンゲクッタフェールベルグ法(Runge-Kutta-Fehlberg method:RKF45)


Excelを用いた科学技術計算が第2版になりました 30年10月

amazon:Excelで操る! ここまでできる科学技術計算 第2版

楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ]


          図1 ルンゲクッタフェールベルグ法で解いた例題のグラフ


 常微分方程式のポピュラーな解法は4段4次のルンゲクッタ法である。ここでは、より高性能である6段5次のルンゲクッタフェールベルグを説明する。Runge-Kutta-Fehlberg法は誤差をチェックし、時間刻み幅を変更しながら計算するため、4次のルンゲクッタ法と比較して非常に精度が良い方法である。


ルンゲクッタフェ−ルベルグ法の説明


 次の1階1元微分方程式で説明する。

 dy/dt = F( t , y)

 Fは時間tと変数yの関数である。

初期値 t=t0 の時 y=y0 とすると、Δt後の6個の変数値は下式となる。

  k1 = Δt・F( t0, y0)

  k2 = Δt・F( t0+Δt/4, y0+k1/4)

  k3 = Δt・F( t0+3Δt/8, y0+3k1/32+9k2/32)

  k4 = Δt・F( t0+12Δt/13, y0+1932k1/2197-7200k2/2197+7296k3/2197)

  k5 = Δt・F( t0+Δt, y0+439k1/216-8k2+3680k3/513-845k4/4104)

  k6 = Δt・F( t0+Δt/2, y0-8k1/27+2k2-3544k3/2565+1859k4/4104-11k5/40)

Δt後の変数値y1は4次の近似とし、次式となる。

  y1 = y0 + 25k1/216 + 1408k3/2565 + 2197k4/4104 - k5/5

また、5次の近似は次式となる。

  y1' = y0 + 16k1/135 + 6656k3/12825 + 28561k4/56430 - 9k5/50 + 2k6/55

5次の近似式と4次の近似式の差を誤差(R)とする。

  R = |y1' - y1| = |k1/360 - 128k3/4275 - 2197k4/75240 + k5/50 + 2k6/55|

 誤差の判定は次式でsをもとめ、s>=1の場合、近似値が許容誤差内と判定し次の時間ステップに進む。そうでない場合、Δt=sΔtに変更し計算をやりなおす。

  s = [ εΔt/(2R)]1/4

      ε:許容誤差=0.00001

 例題のVBAプログラムでは、s>0.1の制限を設定している。


たった1日で即戦力になるExcelの教科書

入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス)

数値積分法の基礎と応用

技術論文作成のための機械分野キーワード100解説集

数値解析

偏微分方程式の数値解法入門

道具としての微分方程式―「みようみまね」で使ってみよう




エクセルを用いたルンゲクッタ法による多質点系モデルの振動解析




ルンゲクッタフェールベルグ法により電気回路方程式を解く




Excelを用いてラグランジュポイントにおける物体の運動方程式を解く
(決して宇宙人には教えないで下さい)





エクセルを用いたルンゲクッタフェールベルグ法によるクロソイド曲線(緩和曲線)





エクセルのソルバーを用いた最小作用の原理に基づく質点の軌道計算 
大発見、エクセルのソルバーで質点の軌道計算ができる。


 質点の軌道に関する理論解と適当に設定した軌道


 



Excelを用いた地球温暖化計算



科学:自然科学 (dmoz : open directory project 掲載)

EXCELを用いた科学技術計算

EXCELのソルバーを用いた科学技術計算



〒673−0036 兵庫県明石市松江62−14
(有)ゴッドフット企画



感想をお聞かせ下さい



JR福知山線 脱線事故シミュレーション

ルンゲクッタ法を用い脱線事故をシミュレーションする
(Yahoo Japan 掲載)


Copyright (C) GODFOOT 2008 All Rights Reserved.