以前にも同じ内容の記事を書いたけれど、
今回気づいたことがあるので再度書きます。
過去の関連記事はこちら。
gnuplot can't show graphs - 2008年9月15日
How to install "Octave" in Mac OS X Leopard - 2008年9月17日
***************
で、今回の作業環境はこちら。
iMac
Mac OS X 10.5.7
3.06 GHz Intel Core 2 Duo
4GB 1067 MHz DDR3
***************
インストールはHow to install "Octave" in Mac OS X Leopard - 2008年9月17日の記事で書いた内容とほぼ同じです。
インストール方法
1.以下のページから「octave-3.2.0-i386.dmg 」をDLしてください。(26.6M)
(intel Macじゃない人はoctave-3.2.0-ppc.dmg の方をDLするんだと思います)
http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=237839
or http://sourceforge.net/projects/octave
以前記事を書いたときはバージョンが3.0.2でしたが、今は3.2.0が最新みたいですね。
2.このdmgファイルをマウントしてください。
3.「Octave.app」というファイルをアプリケーションフォルダにドラッグアンドドロップしてください。これで、Octaveのインストールは完了!
4.Gnuplotがインストールされていない場合:octave-3.2.0-i386.dmgにgnuplotが含まれています。octave-3.2.0-i386.dmgの中のextrasフォルダを開きます。そのなかに「gnuplot-4.2.5-i386.dmg」というファイルがあります。これをマウントします。
5.「Gnuplot.app」というファイルをアプリケーションフォルダにドラッグアンドドロップしてください。これで、Gnuplotのインストールは完了!
以上でOctave, Gnuplotのインストールが完了です。
これでインストール完了なのですが、このままだと使い勝手が悪いし、
たぶんグラフが表示されません。
.bash_profileにAliasの設定をする
今のままだとアプリケーションフォルダの中のOctaveやGnuplotの
アイコンをダブルクリックしないとOctaveやGnuplotを起動できません。
あるいは、ターミナルで長ったらしいコマンド名を書かなければいけません。
アプリケーションフォルダのアイコン:
ターミネルで長いコマンドを打つ:
それではめんどくさいので、ターミナルで octave と打つだけで、
octaveが起動できるように設定します。
1.ターミナルを起動
2.フォルダを移動せずに「pico .bash_profile」と打つ。
3.そこで以下のように入力する。
alias gnuplot="/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot"
alias octave=" /Applications/Octave.app/Contents/Resources/bin/octave"
入力したら、「control + O」を押す。
.bash_profileに保存するか?と聞かれるので、
そのままエンターキーを押す。
そして「control + X」を押して終了。
これでoctaveと打ったりgnuplotと打つだけで、
そのソフトを起動できるようになります。
ただし、この設定は次に新しく開いたターミナルウィンドウから有効です。
この.bash_profileの設定に関しては以下のページを参考にしてみてください。
初心者にはわかりずらいかと思います。
.bash_profileはターミナルの環境変数の設定を記述するファイルで、
picoというのはターミナル上で動くテキストエディタで、
他にもviやemacsなどがあります。
gnuplot can't show graphs - フェムトセカンド
ターミナルのことを調べてみた。 - ザリガニが見ていた...。
X11かAquaTermを設定する
もしAquaTermでグラフを表示したい場合はいまのままだとダメです。
OctaveとGnuplotはデフォルトではAquaTermでグラフを描画する設定になっていますが、
何もしていない状態のMacにはAquaTermが入っていません。
なので、AquaTermをインストールします。
1.下記のページからAquaTermをDLしてください。
http://sourceforge.net/project/showfiles.php?group_id=39915
or http://sourceforge.net/projects/aquaterm/
2.dmgをマウントし、AquaTerm.pkgをダブルクリックしてインストール!
以上でAquaTermのインストールは完了です。
もしX11でグラフを描画したい場合はAquaTermはいりませんし、
X11はMacに最初からインストールされているのでインストールは必要ありませんが、
.bash_profileに設定が必要です。
以下の手順で設定を追加してください。
1.ターミナルを起動
2.フォルダを移動せずに「pico .bash_profile」と打つ。
3.そこで以下のように入力する。
(既に何か入力してある場合は、一番最後に追加する。)
export GNUTERM=x11
入力したら、「control + O」を押す。
.bash_profileに保存するか?と聞かれるので、
そのままエンターキーを押す。
そして「control + X」を押して終了。
参考:http://slashdot.jp/science/comments.pl?sid=38...
これでX11にグラフを描画することができます。
ただし、この設定は次に新しく開いたターミナルウィンドウから有効です。
もしX11からAquaTermに戻りたい場合はこの行を消すか、
「export GNUTERM=aqua」に書き換えればOKです。
X11とAquaTermの違い
X11を利用するのとAquaTermを利用するのはどちらがいいか?と気になりますが
それぞれ利点があります。
X11は3次元でグラフを描画した際などに、
グラフ上をマウスでグリグリやるだけで視点を変更できます。
たぶんそれ以外にもインタラクティブにグラフを変えることができるのだと思います。
AquaTermを使うと、PDFやEPS形式吐き出したり、
そのまま印刷したりすることができます。
また、X11よりはこちらの方がグラフがきれいらしいです。
好みややりたいことによって使い分けるといいと思います。
Octaveを終了すると...
補足ですが、X11の場合はOctave中でグラフを書こうとすると
X11が自動で起動し、Octaveを終了すると自動でX11も終了します。
これに対してAquaTermの場合、自動で起動はするのですが、
Octaveを終了してもAquaTermは起動したままで残ってしまいます。
これはどこかで設定をすることで自動でAquaTermを終了するように
することはできるのでしょうか?
どなたか知っていたら情報をお願いします。
それから、AquaTermはOctaveが起動中に終了してしまうと、
そのOctaveからはそれ以上グラフを描画することができなくなって
しまうので注意が必要です。
その場合はOctaveを起動し直してください。
Octaveでグラフを描画する簡単なコマンド
最後に、Octaveを使い慣れていないひとの為に、
さっとグラフを描画するコマンドを書いておきます。
plot(sin(1:100))
これだけで、sin(x) を描画できます。
xが1, 2, 3, ... , 100と目が粗いのでギザギザしたsin関数になっています。
====================================================
追記 2012年8月17日
この記事を書いてからすでに3年経っていて、
この情報も相当古いと思われる。
実際、この通りにやったのに動かないという声もちらほら。
僕自身も、2008年製のMacBook Airでは気づいたらGNUPLOTが動かなくなっていた。
描画ソフトとしてAquaTermを指定しているにも書かわらず、
X11で描画しようとしていて見つかりませんてきなエラーがでる。
しかし不思議なことに、その環境をそっくり引き継いでいるはずの
2010年製のMacBook Proだときちんと動いたりする。
いみわからん。
博士課程を事実上ドロップアウトしてから、
Octaveを使う機会はめっきりなくなってしまったので
放置していたのだが、久々にOctaveをいじってみたら、
そのような状態を発見し、いらだっております。
少し調べてみたけど、どうしたら治るかわからん。
直し方はわからないがこんな記事を見つけた。
Octaveのオンラインマニュアル
15.1 Introduction to Plotting
Earlier versions of Octave provided plotting through the use of gnuplot. This capability is still available. But, a newer plotting capability is provided by access to OpenGL. Which plotting system is used is controlled by the graphics_toolkit function. (See Graphics Toolkits.)
The function call graphics_toolkit ("fltk") selects the FLTK/OpenGL system, and graphics_toolkit ("gnuplot") selects the gnuplot system. The two systems may be used selectively through the use of the graphics_toolkit property of the graphics handle for each figure. This is explained in Graphics Data Structures. Caution: The FLTK toolkit uses single precision variables internally which limits the maximum value that can be displayed to approximately 10^38. If your data contains larger values you must use the gnuplot toolkit which supports values up to 10^308.
だそうです。
以前のOctaveはgnuplotを使ってグラフの描画を行なっていたし、
今もそれは利用可能だけど、
OpenGLを使ってグラフを描画する方法も利用可能になったよ!
だそうです。
OpenGLの方を使えばGNUPLOTとかAquaTermとか気にしなくていいんじゃない?
とか思うんですが、誰かやってみてください。(投げやり)
Octaveを最新バージョンにして、
graphics_toolkit ("fltk")
と打てばOpenGLの描画になるそうです。