Lorenz attractor版をアップ


 ストレンジアトラクタ描画の第2弾、老舗のローレンツアトラクタによるヴァージョンをアップしました。

 前回の差分方程式と違って、ローレンツアトラクタは微分方程式。とりあえず差分のつもりでやってみたら、ものすごいケタになっちゃって全然ダメ。文系の限界か。でも理系サイトにはローレンツアトラクタを描かせるアプレットなんて普通にあるんだから、絶対できるはず。<br />
 と言う訳で、googleで調べてみたら、ありました。Runge-kutta法というのを使って、グラフが描けるように値を求めていかなければならないのでした。式は以下のようなもの。
x(t+dt)=x(t)+(a+2b+2c+e)dt/6
   a=f(x,t)
   b=f(x+adt/2,t+dt/2)
   c=f(x+bdt/2,t+dt/2)
   e=f(x+cdt,t+dt)
(d=deltaです)

 要は差分方程式にしてしまうんだけど、その変化分(dt)をなるべく小さくして近似するということだと思います。ソースを見ていただければ分かると思いますが、そんなに複雑ではありません。
 まあ、文系の人間としては既存の微分方程式を使うという場面以外ではあんまり使うことはないように思いますが、やや苦労したので、覚え書きとして書いときます。

Posted: 火 - 9月 21, 2004 at 02:26 午前 | | | | |