onewanのメモ帳

数式が書きたくて始めたブログ。twitter IDは @onewan

ローレンツ方程式(Lorenz Equation)をプロットしてみた

昨日の夕方に呟いたとおり、Pythonローレンツ方程式を描いてみた。

f:id:sosuu-daifugoh:20190204025732p:plain
LorenzEquation

ローレンツ方程式は、大気の変動モデルを研究していたLorenzが1963年に彼の論文で示したもので、三次元にプロットすると上図のように蝶の形になる。

これが、ストレンジアトラクター上のカオス的運動の発見となった。

ローレンツ方程式は、非線形微分方程式で、以下のように単純な式で表される。
 \dot{x}=-px+py
 \dot{y}=-xz+rx-y
 \dot{z}=xy-bz

ここで、x,y,zは変数、p,r,bは定数であり、上ドットは時間微分を表す。

Pythonコードは以下のとおり。p=10, r=28, b=\frac{8}{3}で、4次のルンゲクッタで数値をプロットして出力している。
github.com

カオスについて詳しく知りたい方は、まず以下の教科書を参考にすると良いだろう。
ある程度初歩的な話を中心に進められており、また応用的な話を中心に進めているので、非線形ダイナミクスを応用する分野の方(物理、化学など)にも読みやすいと思う。

www.maruzen-publishing.co.jp