February 20, 2004

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

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

以下の内容を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//' ] )

これで完了です。

テストは以下のコマンドを実行してみてください。

$ octave
> 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

20:44 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/208
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。