找回密码
 注册
关于网站域名变更的通知
查看: 460|回复: 1
打印 上一主题 下一主题

分享一份矩阵行列式和逆的MATLAB程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-13 11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
行列式:
$ y4 `& Q9 n" E- F/ B, R %Aij = (-1)^(i+j)*Mij
" b! t* g$ ^3 M%D = a11*A11 + a12*A12 + a13*A13 + ... + a1n*A1n
% {2 A3 z6 T/ s2 c%H = [1 2 3;7 9 7;5 6 1;];det(H) = 14
; d6 S1 R# ~* V3 _! {function H_Det =  Matrix_Det(H,N)  %输入矩阵 阶数  
8 x5 S) Z& Z( i6 q/ |/ q$ P  H" gH_Det = 0;
! |6 R( C) O! _" K% {$ Mif N==1
6 `% J3 a& W4 h" z4 z6 |* \' Q   H_Det = H(1,1);
2 L1 q6 u+ U6 G+ L. m   return;7 M: e, J2 N1 h/ u$ I0 A3 _- n
end$ i3 ^7 P, q; f6 n4 ^: {2 ?
temp = zeros(N-1,N-1);
" S  n2 ?0 l0 n7 _- x8 r' J8 {for i=1:N5 p5 |) e; A& d/ L+ E# S
    for j=2:N  %第二行开始3 Q3 @6 Z$ Z+ p; D3 k5 z1 F8 c  C
        for k=1:N-11 k" \3 ]7 o& ~  r) w
            if k>=i
0 q1 K' x! C, b( ^8 i$ H. f6 n                cln = k+1;3 n6 |7 W) `1 U5 P' _. f
            else
$ w0 G8 B+ |  e- N                cln = k;
4 Y4 r( x; Z8 j            end# P1 g* P$ C+ w* E7 U5 v
            temp(j-1,k) = H(j,cln);
/ ~: ]3 D  Z- x4 x        end; v7 L* q+ i( J1 H* s
    end( N% @# Q* H1 |; y" X
    t = Matrix_Det(temp,N-1);  %递归
1 x" `: i+ ]4 m" t- k    if rem(1+i,2)==0   %(-1)^(1+i)+ h' N4 `' E# P' |3 T' H1 Z& M
       H_Det = H_Det+H(1,i)*t;
& B% N6 H' P: B( E4 ?    else2 K# t2 a" C/ K& j" o4 i+ V4 A& B
       H_Det = H_Det-H(1,i)*t;
, _! g5 T  o! q$ l- A9 k1 K7 z3 U& O    end3 i0 a% T6 g" h/ F3 }4 Y6 y  W
end
% O. Q; Y2 l5 `  R) s, V6 A! b8 b& N5 Y6 N3 p
end
8 W, f, s$ i/ r: F* e" F9 P( l: k' W2 p! D) r: d$ F3 @
伴随阵:
( q/ y0 H$ r6 ?% `- f8 g) D$ O+ w%伴随阵A* = |Aij|(nxn)
+ n' f9 R3 l+ z9 X  E: h7 m%Aij = (-1)^(i+j)*Mij
5 n* K% n: O* B8 V; z) U%H = [1 2 3;7 9 7;5 6 1;];det(H)*inv(H) = [-33 16 -13;28 -14 14;-3 4 -5];
" d! T9 Y( ^: Z: t! A: @function H_Adjoint = Matrix_Adjoint(H,N); L( r0 l2 Y- v9 g# G, a* q4 l& V
H_Adjoint = zeros(N,N);9 p0 W, v* D9 A( X4 p% l+ `6 u
if N==1$ e5 l: T6 D/ Y3 c' b$ V1 d' b
%    H_Adjoint = [H(2,2) H(2,1);H(1,2) H(1,1)]; 0 g; D# e7 u' @  d
   H_Adjoint = 1;% U$ l1 i$ K" N
   return;5 y* K& K8 @) _4 H- U
end; a- ]& }2 n, ?& {4 w/ }8 |
temp = zeros(N-1,N-1);
9 O( A; R* _9 y: T3 ~# G6 i1 ?for i=1:N   %逐行扫描5 @* p0 o5 V1 w, K1 l
    for j=1:N  %逐列扫描
, U. R: e: @, b  A        for k=1:N-1  %行组合  t4 L' N) }" G3 M# j- c
            if k>=j
) ^3 D* @* i$ k: z: C! r3 p               row = k+1;
0 y- d; s( A$ @. h0 v1 @            else3 a" \5 m2 D- h6 y* @' ^2 E$ u! S
               row = k;
' c2 ~& ~4 l0 l& a! q7 @            end
  J# [3 r+ D8 u+ O! q+ `            for t=1:N-1  %列组合            , h$ O* N0 U/ u: X3 y
                if t>=i& t; ?+ X* [: g* i# i: M5 n
                   cln = t+1;
+ y5 H. P8 W. X. M                else
! ?7 M* ^" y+ @                   cln = t;
8 }2 Q. ^7 X/ W2 Z* V( k  _                end# B8 K! y9 d7 [3 X. J, N
                temp(k,t) = H(row,cln);) T( A1 D# N/ P- l3 V
            end
: [  o9 ~+ |# ]+ t& h7 W" `        end& ]; I+ s) k+ \$ V1 @2 L: g7 @
        if rem(i+j,2)==0) g9 D6 G8 v9 Q( z  ^, X$ V! S3 x
            H_Adjoint(i,j) = Matrix_Det(temp,N-1);   %求代数余子式
+ l  j1 v' A. F& A4 J! \* S# [7 s) T        else: p. _6 P9 W* ^
            H_Adjoint(i,j) = -Matrix_Det(temp,N-1);# D% T" i& @$ q: t0 V7 e! J
        end: f% m. [" g  K2 i
    end8 N& ]/ F- ?( p4 ]9 j/ Y# M* W. s9 `
end' o1 _/ Q( S0 l# O0 B" k
end: h3 _8 t7 |! \* s6 |$ `% w
9 G4 [1 @, F6 Y) h8 J8 z
逆:  p) \: [! @+ q% N8 U
%A^(-1) = 1/|A|*(A*)8 I+ C' `3 I. `3 @0 X) f% Z8 @
%H = [1 2 3;7 9 7;5 6 1;];inv(H) = [-2.3571 1.1429 -0.9286;2.0000 -1.0000 1.0000;-0.2143 0.2857 -0.3571];
' L6 J0 F( N* S% T* @function H_Inv = Matrix_Inverse(H,N)
1 \7 X. F0 u. f% g/ [0 DH_Det = Matrix_Det(H,N);3 Z% K- l) e1 @: L8 ^
H_Adjoint = Matrix_Adjoint(H,N);
5 C, p; w+ m3 m. K( [H_Inv = H_Adjoint/H_Det;
4 @9 d9 x/ y! }, `3 Aend7 l" W) b4 e% ?; W, O2 h
& |' P. Q  f; P) i( E' u+ ]
: E# C( [8 Y1 R3 g5 A

" c- C7 `3 _5 g7 m6 ?) f

该用户从未签到

2#
发表于 2019-12-13 19:24 | 只看该作者
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 08:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表