FreeMat

今日は授業でMATLABの授業があったので、MATLABに似た言語Freematのメモをば。

%以下はコメントになります。

1. スカラ変数

>> a=10		% 変数に値を代入
>> b=5
>> a+b		% 四則演算
>> a-b
>> a*b
>> a/b
>> a^2		% べき乗
>> sqrt(16)	% 平方根
>> c=10+20i	% 複素数も入れられる。虚数単位はiかjで指定
>> real(c)	% 実部
>> imag(c)	% 虚部
>> abs(c)	% 絶対値
>> angle(c)	% 偏角

2.ベクトル
MATLAB系の言語の最大の特徴は線形代数の演算に特化していることです。もちろん、ベクトルを指定して、演算をすることができます。

>> row1=[1 2 3 4 5]	% 横ベクトルの指定
>> row2=[2,2,2,2,2]	% コンマでもおk
>> row1+row2		% 横ベクトルの足し算
>> col1=[1;2;3;4;5]	% 縦ベクトルの指定
>> col2=[2;2;2;2;2]	
>> col1+col2		% 縦ベクトルの足し算

3. ベクトルとスカラ
数学的には変なことをしているように見える演算も多いです。

>> x=[1 2 3 4 5]
>> a=10
>> x+a		%[11 12 13 14 15]が返される
>> a*x		%[10 20 30 40 50]が返される
>> x/a		%[0.1 0.2 0.3 0.4 0.5]が返される

4. ベクトルの要素を取り出す
ベクトルの要素を配列のように取り出すことができます。

>> x=[10 20 30 40 50]
>> x(1)		%1番目の数字、つまり10が返される
>> x(1:3)	%[10 20 30]が返される
>> x(1)+x(5)	%もちろんこんなのもできるし、
>> x(1:3)+x(3:5)%こんなのもできる

5. ベクトルの要素ごとの掛け算、割り算

>> x=[1 2 3 4 5]
>> y=[2 2 2 4 4]
>> x .* y	%[2 4 6 16 20]が返される
>> x ./ y	%[0.5 1.0 1.5 1.0 1.25]が返される
>> sum(x .* y)	%48が返される。つまり内積。

今日はこの辺で『Processing依存からの脱却』の合間に書いていこうと思います。