Lorenz Attractor
すべてのカオス研究はここから始まった!
今回はそんなローレンツ・アトラクタについて、今さらながら見てみました。
Lorenz Attractor – wonderfl build flash online
ローレンツ・アトタクラを描くローレンツ方程式は以下のように示されます。
dx / dt = -p * x + p * y
dy / dt = -x * z + r * x - y
dz / dt = x * y - b * z
これは MIT の気象学者 Edward N. Lorenz が、1963年に発表した論文 "Deterministic Nonperiodic Flow"(「決定論的非周期な流れ」)の中で提示されました。
それぞれの係数は以下のものを表しているという。
p : プラントル数(Prandtl Number)
r : レイリー数(Rayleigh Number)
b : 与えられた容器に関係する定数
プラントル数、レイリー数というのは、どっちも熱の伝わり方に関する値らしい。
熱はレイリー数がある値(臨界レイリー数)以下では熱伝導によって伝達され、限界値以上では対流によって伝達されるという性質があるそうです。ということは r パラメータを変動させた場合、ある閾値を境に、ローレンツ・アトラクタの図像がガラッと変わるってことなんですかね(どうもその値は 1 らしい)。
変数の方は以下のものを表している。
x : 対流運動の強さに比例した変数
y : 上昇流と下降流の温度差に比例した変数
z : 鉛直方向の温度変化が1 次関数からどの程度ずれているかを表す変数
斯様に x、y、z は空間座標ではないんですが、これを空間座標と見なして図示したものが、我々がよく見る蝶の羽のようなローレンツ・アトラクタになるということです。
ローレンツが注目した各係数の値は、p = 10、r = 28、b = 8 / 3 とのこと。
で、このローレンツ方程式はの連立常微分方程式というもので、普通の計算式にすると、以下のような式になります。
x' = x + △t * -p * (x - y)
y' = y + △t * (-x * z + r * x - y)
z' = z + △t * (x * y - b * z)
△t というのは時間 t における変化量だそうで、ある程度小さな値を代入すればいいらしい。
で、それを ActionScript でコード化したのが、冒頭のやつです。
参考
- Wikipedia ローレンツ方程式
- ローレンツアトラクタ(Cinderellaでカオス)
- ローレンツ・アトラクターのスクリーンセーバーによる表現 (PDF)
- 特別研究(卒業研究)論文(龍谷大学理工学部数理情報学科 池田研究室)
Comments
Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!