Octave導入
課題で18×18の行列の固有値、固有ベクトル問題を解かなければならなくなったので、行列計算ソフトを導入することにしました。このような類のソフトにはMatlabとかがありますが、ソフトにお金をかけたくない人なので、フリーウェアでがんばることにしました。で、Octaveというフリーウェアを使用することにしました。
インストール方法ですが、まずはCygwin、gcc(Cコンパイラ)、g77(fortranコンパイラ)が必要です。ここのページを参考にどうぞ。もしかしたらf2cを必要かもしれませんが、そうしたらここからどうぞ。
次にOctaveのソースを取ってきてCygwin上でコンパイルします。
$ wget ftp://ftp.octave.org/pub/octave/bleeding-edge/octave-2.1.51.tar.bz2
$ tar -jvxf octave-2.1.51.tar.bz2
$ cd octave-2.1.51
$ ./configure
$ make
$ make check
$ make install
$ tar -jvxf octave-2.1.51.tar.bz2
$ cd octave-2.1.51
$ ./configure
$ make
$ make check
$ make install
make checkでいくつかエラーがでるかもしれませんが気にしない(汗)でinstallします。次にOctaveの出力をプロットするために、GNUPlotをいれます。解凍ツールで適当に解凍して、配置してください。今回はC:\Tools\plot\に解凍したとします。
最後にOctaveとGNUPlotをつなぐツールをいれ、設定します。
$ wget http://www.ecs.shimane-u.ac.jp/~kyoshida/pipe-gnuplot.exe
$ mv pipe-gnuplot.exe /usr/local/bin
$ mv pipe-gnuplot.exe /usr/local/bin
以下の内容をc:\cygwin\usr\local\share\octave\site\m\startup\octavercに足してください。
gnuplot_binary = "pipe-gnuplot c:/Tools/plot/wgnuplot.exe"
putenv('TMPDIR','c:/cygwin/tmp')
gnuplot_has_multiplot = 1
path( [':/usr/local/share/octave/' OCTAVE_VERSION '/m/statistics//'], ...
[ '/usr/local/share/octave/' OCTAVE_VERSION '/m/control//' ] )
putenv('TMPDIR','c:/cygwin/tmp')
gnuplot_has_multiplot = 1
path( [':/usr/local/share/octave/' OCTAVE_VERSION '/m/statistics//'], ...
[ '/usr/local/share/octave/' OCTAVE_VERSION '/m/control//' ] )
これで完了です。
テストは以下のコマンドを実行してみてください。
$ octave
> plot [1:10]
> plot [1:10]
グラフが表示されるはずです。octaveの終了はexitです。permittion errorとか表示されますが、治し方が分からないので無視しています…。
インストールはこのページを参考にしました。ありがとうございます。
ちなみに固有値、固有ベクトルは以下のコードで求められます。
> a=[1,2,3;1,1,2;0.3.4]
> [v,i]=eig(a)
> save hoge.txx v i
> [v,i]=eig(a)
> save hoge.txx v i
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。