複素数を定義してみる。若干違和感があるももの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