Octaveの複素数や行列

複素数を定義してみる。若干違和感があるもものiを使えば良いっぽい。

octave:1> z=2+3i
z =  2 + 3i

実数部分を見るにはrealを使う。

octave:2> real(z)
ans =  2

虚数部分はimagを使う。

octave:3> imag(z)
ans =  3

絶対値はabsを使う。

octave:4> abs(z)
ans =  3.6056

共役複素数はconjを使う。

octave:5> conj(z)
ans =  2 - 3i

円周率はpi、自然対数の底はe、精度はepsを使う。

octave:6> pi
ans =  3.1416
octave:7> e
ans =  2.7183
octave:8> eps
ans =  2.2204e-16

行列は[]を使って、行は;で区切り表現する。

octave:9> a=[1 2;3 4;]
a =
   1   2
   3   4
octave:10> b=[1 3;2 4;]
b =
   1   3
   2   4

+、-、*も変数に対して普通にできる。

octave:11> a+b
ans =
   2   5
   5   8
octave:12> a-b
ans =
   0  -1
   1   0
octave:13> a*b
ans =
    5   11
   11   25

逆行列はinvを使う。

octave:14> inv(a)
ans =
  -2.00000   1.00000
   1.50000  -0.50000
octave:15> a*inv(a)
ans =
   1.00000   0.00000
   0.00000   1.00000

転置行列は’を使う。

octave:16> a'
ans =
   1   3
   2   4

行列のサイズはsizeを使う。

octave:17> size(a)
ans =
   2   2

対角行列はdiagを使う。diag(diag())で0で埋める。

octave:18> diag(a)
ans =
   1
   4
octave:19> diag(diag(a))
ans =
Diagonal Matrix
   1   0
   0   4

Octaveのインストール

OctaveはMatlabの互換っぽいやつになります。Matlabもそうなのかもしれませんが、この手のを使いこなせるようになると、科学技術計算的なものが楽になりそうな感じがするので、もっとまじめに取り組んでいこうかとも考えています。というわけで、まずはインストール。Ubuntuに入れるなら、

$ sudo apt-get install octave3.2

とすることでインストール完了です。今回、試している環境がUbuntu 11.10なので3.2の部分がOSのバージョンによって異なるかもしれません。あとは、octaveコマンドを実行すれば、プロンプトが表示されるので、そこでいろいろと実行できます。

$ octave
octave:1> x=1
x =  1
octave:2> y=2
y =  2
octave:3> x+y
ans =  3