マハラノビス距離

  • Scilabにはマハラノビス距離を求める関数はない
  • 共分散行列を計算する関数はある
    v=mvvacov(x)
  • あとは共分散行列の逆行列を使って自前で計算する必要がある.
    D=(\bf{x} - \bf{\mu})^\top \Sigma^{-1} (\bf{x} - \bf{\mu})
  • 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の外積

  • 何故かScilabには外積を計算する関数が無い
  • メモ#w01b7108参照

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)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-04-18 (月) 21:28:05 (2770d)