しおたに・ドット・チャイナ 本文へジャンプ
top >数値計算ソフトOctaveでカオスな微分方程式のLorentzアトラクター

数値計算ソフトOctaveでカオスな微分方程式のLorentzアトラクター


 フリーの数値計算ソフトのOctave(オクターブ)で、数学の世界でカオスと呼ばれる微分方程式のLorentz(ローレンツ・アトラクター)を3次元出力し、さらにOctaveの画像処理機能を使って画像保存をしてみます。




数値計算ソフトOctaveでカオスな微分方程式のLorentzアトラクター

数値計算ツールのOctaveでローレンツ・アトラクタをを使って3次元描画してみます。

なお、Octaveの簡単な使い方については、Octave入門 〜インストールから簡単な使い方まで〜に入門向けに書かれています。


まず、Windows上でOctaveのインストールされたbinに「Work」フォルダ作成し(ここでは、「C:\Octave\3.2.4_gcc-4.4.0\bin\work」)、ここにOctaveの「lorentz.m」ファイルを作成します。

lorentz.mファイルの内容は以下です。


ファイル「lorentz.m」#lorentz.m
function dx = lorentz(x,t)
s=10; R=28; b=8/3;
dx(1) = -s * ( x(1) - x(2) );
dx(2) = R * x(1) - x(2) -x(1) * x(3);
dx(3) = x(1) * x(2) - b * x(3);
endfunction

t=linspace(0, 30, 3000);
x=lsode("lorentz",[0; 0.03; 0],t);
plot3( x(:,1), x(:,2), x(:,3));

作成したOctaveファイル「lorentz.m」をオクターブのプロンプトでsource("lorentz.m")で実行します。


Octave


すると、3次元のローレンツアトラクターが描かれます。


ローレンツ・アトラクタ


Octaveプロンプトで、「print -djpeg lorentz.jpg」と入力することで、出力された画像を保存することもできます。



保存した画像ファイル「lorentz.jpg」をOctaveで読み込むには、プロンプトで以下のようにoctave-3.2.4.exe:1〜exe:4で入力します。

なお、ここでは画像ファイル「lorentz.jpg」は、フォルダ「C:/Octave」にあるものとしています。




octave-3.2.4.exe:5の「imfinfo」で画像ファイル情報を取得できます。

さらに、octave-3.2.4.exe:6の「imwrite」を使うことで、画像を保存できます。

ここでは、読み込んだJPEG画像をGIF画像に変換したことになります。

Octaveでは、JPEG、GIF、BMP、TIFF、PNGなども画像保存することができますので、画像のファイル形式変更にも使用できます。





 紹介した事項により生じた不都合などには責任は負えませんので、くれぐれも自己責任でお願いします。




Copyright (C) 2008, しおたに・ドット・チャイナ, All Rights Reserved.