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依存からの脱却』の合間に書いていこうと思います。