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