行列式:
%AIJ=(-1 ) ^ ) Ij ) *Mij
% d=a11 * a11a 12 * a12a 13 * a13 . a1n * a1n
%H=[1 2 3; 777; 51; ]; det(h )=14
函数h _ det=matrix _ det (h,n ) %输入矩阵阶数
H_Det=0;
if N==1
h _ det=h (1,1 );
返回;
结束
for i=1:N
从第for j=2:N %行开始
for k=1:N-1
if k=i
cln=k 1;
else
cln=k;
结束
结束
结束
t=matrix_det(temp,N-1 ); %递归
ifrem(1I,2 )==0%(-1 ) ^ (1i ) ) )。
H_Det=H_Detgtdxmf,I ) *t;
else
h_det=h_det-h(1,I ) *t;
结束
结束
结束
((伴随阵a )=|AIJ|(nxn ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )伴随阵a ) ) ) ) 65 )
%AIJ=(-1 ) ^ ) Ij ) *Mij
%H=[1 2 3; 777; 51; ]; det(h ) inv ) h )=[-33 16 -13; 28 -14 14; -3 4 -5];
function h _ adjoint=matrix _ adjoint (h,n ) )。
h_adjoint=Zeros(n,n );
if N==1
% h _ adjoint=[ h (2,2 ) h ) 2,1 ); h (1,2 ) h ) 1,1 ) );
H_Adjoint=1;
返回;
结束
for i=1:N %渐进式
for j=1:N %顺序扫描
for k=1:N-1 %行的组合
if k=j
else
结束
for t=1:N-1 %列的组合
if t=i
cln=t 1;
else
cln=t;
结束
结束
结束
ifrem(Ij,2 )==0
h_adjoint(I,j )=matrix _ det (temp,N-1 ); 求%代数余式
else
h_adjoint(I,j )=-matrix _ det (temp,N-1 );
结束
结束
结束
结束
相反:
%a^(-1 )=1/|a|*(a* ) ) ) ) ) ) ) )。
%H=[1 2 3; 777; 51; ]; INV(h )=[-2.3571 1.1429 -0.9286; 2.0000 -1.0000 1.0000; -0.2143 0.2857 -0.3571];
function H_Inv=Matrix_Inverse(H,n )
h_det=matrix_det(h,n );
h_adjoint=matrix_adjoint(h,n );
H_Inv=H_Adjoint/H_Det;
结束