マハラノビス距離 †
- Scilabにはマハラノビス距離を求める関数はない
- 共分散行列を計算する関数はある
v=mvvacov(x)
- あとは共分散行列の逆行列を使って自前で計算する必要がある.
- Scilabで複数のデータのマハラノビス距離を求める場合は,for文で回す必要がある.
x = fscanfMat("data");
covariance = mvvacov(x);
inverse = inv(covariance);
for i = 1:3 do
centroid(1,i) = mean(x(:,i));
for i = 1:100 do
x(i,:) = x(i,:) - centroid(1,:);
for i = 1:100 do
distance(i) = x(i,:) * inverse * x(i,:)';
参考:http://www.ecl.hiroshima-u.ac.jp/~ohno/scilab/man/ja/statistics/mvvacov.htm
Scilabの外積 †
http://life.ess.sci.osaka-u.ac.jp/katsura/scilab/index.html
回転行列
http://w3e.kanazawa-it.ac.jp/math/category/gyouretu/henkan-tex.cgi?target=/math/category/gyouretu/kaitengyouretu.html
Scilabでデータの書き出し
http://sukidesurobocon.blog.shinobi.jp/Entry/291/
参考リンク:Scilab簡易リファレンス, 山本夕可
http://life.ess.sci.osaka-u.ac.jp/katsura/scilab/index.html
deff('[y]=mysin(x)','y=sin(x/180*%pi)')
deff('[y]=Rx(x)','y=[1 0 0; 0 cos(x) -sin(x); 0 sin(x) cos(x)]')
deff('[y]=Ry(x)','y=[cos(x) 0 -sin(x); 0 1 0; sin(x) 0 cos(x)]')
deff('[y]=radian(x)','y=(x/180*%pi)')
http://sukidesurobocon.blog.shinobi.jp/Entry/291/
write('file', arg)