rectangular matrixの行列式

矩形行列の行列式

間違いがあるかもしれません

Matlabで矩形行列を求める

上へ

    • 定義;

    • ; 行列 (ただし, ) とする. の第成分をとする.

    • この行列式を

    • とする.

    • (i)

    • の場合

    • .

    • (ii)

    • の場合

    • ,

    • ただし

    • はから第行と第列を除いた行列.

    • このように縦長の行列の行列が定義されている. このとき, Matlabでは, 次のように関数を作ればよい. PDF, Matlabファイル

    • Matlabでの矩形行列の定義 function DetRes=Det_rec_mat(X)

    • if size(X,1)<size(X,2)

    • X=X';

    • end

    • if size(X,1)==size(X,2)

    • DetRes=det(X);

    • elseif size(X,2)==1

    • clear temp

    • temp=0;

    • for i=1:size(X,1)

    • temp=temp+(-1)^(i-1)*X(i,1);

    • end

    • DetRes=temp;

    • else

    • clear temp1

    • temp1=0;

    • for j=1:size(X,1)

    • clear tempX

    • tempX=X;

    • tempX(j,:)=[];

    • tempX(:,1)=[];

    • temp1=temp1+(-1)^(j-1)*X(j,1)*Det_rec_mat(tempX);

    • end

    • DetRes=temp1;

    • end

    • この色;行数≧列数の仮定の下なので, 転値したものを使う

    • この色;正方行列ならば組み込み関数のdetを使う

    • この色;列数が1の場合に定義 (i) の処理をするループ

    • この色;列数が2以上の場合に定義 (ii) の処理をする.

    • tempX(j,:)=[];でj行目を消去, tempX(:,1)=[];で1列目を消去している.

参考文献 特になし

Mapleでの関数の定義などはこちら

Rでの関数定義などはこちら

トップへ