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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
行列式:
9 ^. u2 j7 T% D# b& l$ C; x* p %Aij = (-1)^(i+j)*Mij
  H* F) L$ W- k+ P3 a( E1 g7 r& i%D = a11*A11 + a12*A12 + a13*A13 + ... + a1n*A1n
$ y! S; d% E& c) J6 Z" C: L4 @%H = [1 2 3;7 9 7;5 6 1;];det(H) = 14
4 y7 q, ]3 @& m& p  T, i1 Hfunction H_Det =  Matrix_Det(H,N)  %输入矩阵 阶数  
. B% T" g' W& Z5 J" UH_Det = 0;: {! `5 o! A  d! N. T! p( |
if N==1
: f7 ?) ]1 g- s9 @9 Y0 K; ]: g   H_Det = H(1,1); 2 G* C+ s2 L/ i$ k- S
   return;
0 ^4 N. ^( `) N) N% Pend2 P/ J+ E- |. s. I: n
temp = zeros(N-1,N-1);
( @% [: B$ [) [6 o  ]" Zfor i=1:N
3 A& k. s. C. z9 r    for j=2:N  %第二行开始1 Y2 V' |' v6 k8 l# Q% M) @
        for k=1:N-1' Q: ?" R0 w. H! H; P7 l
            if k>=i1 d! E* k& T+ K7 m0 M* E7 a7 ]
                cln = k+1;
8 T  m6 G) S# h) ?. D            else+ _9 A5 r4 h( y2 ?4 |" s
                cln = k;
) a/ y7 U' L- G; ^  y9 l            end% r8 H0 k! ]9 e# \. {5 O  {
            temp(j-1,k) = H(j,cln);6 W3 Q  Y8 p; s& b. S$ x1 c
        end
9 {0 u1 O/ K% I" E    end
8 F5 E6 [2 [# U9 E. f- Y    t = Matrix_Det(temp,N-1);  %递归. ?8 F) F& B" z* p/ m8 f) o
    if rem(1+i,2)==0   %(-1)^(1+i)$ G& ^& m% W8 G. L# q
       H_Det = H_Det+H(1,i)*t;- i! ]" C* k' Z- j1 a+ n( i9 [
    else  z7 t$ y& M9 ]/ @
       H_Det = H_Det-H(1,i)*t;" ]0 Z$ c* v# t' a4 F
    end
% x4 F# e. p' b8 H% ]6 ]( M( O& Qend
' c7 x- y8 x9 ~6 F' M, g9 x
! ~! ?7 q& Z- i% Y( Dend& ?$ \6 o& d% _% q0 w& l
$ m( B  {+ {1 ~# B
伴随阵:
' q2 p; m# v  C+ y0 l- w%伴随阵A* = |Aij|(nxn)
2 m- U7 C: r  E4 L8 N$ H* B%Aij = (-1)^(i+j)*Mij
( |, _- K+ k9 ?8 e) S9 S4 C%H = [1 2 3;7 9 7;5 6 1;];det(H)*inv(H) = [-33 16 -13;28 -14 14;-3 4 -5];
" j4 f! ]3 q+ m( X& m( ~function H_Adjoint = Matrix_Adjoint(H,N)/ c7 T6 F& a- v/ f* _
H_Adjoint = zeros(N,N);
: D; i+ t) t$ {( @5 f6 Q: Hif N==1+ ]9 j' i! f3 X" q: m; {$ m9 n+ u
%    H_Adjoint = [H(2,2) H(2,1);H(1,2) H(1,1)];
8 |' j6 j1 \* C$ Z2 }   H_Adjoint = 1;5 D5 L: R& f# m5 c
   return;' h3 J$ A  J6 \0 C
end
9 J3 V- N9 }, b8 q; ]" E. Xtemp = zeros(N-1,N-1);$ O2 w/ n: _5 @+ F
for i=1:N   %逐行扫描2 \  `2 T( B1 `) x8 @* Q
    for j=1:N  %逐列扫描7 T0 }, Y  W0 X) n& ]
        for k=1:N-1  %行组合5 C4 S  l% d2 }5 A9 }
            if k>=j
7 v( s1 O* i5 X" @% h               row = k+1;; O3 X  Y' N$ a/ _8 G0 Q7 ]
            else
, |& w# T+ ]" b! }               row = k;
9 ^7 [- U8 b: S! T            end
# M5 `- y& c# D& ?- Z  g            for t=1:N-1  %列组合            
: I8 u7 B! n* p+ K+ t& s                if t>=i
. o  c" A2 j% n9 U4 [+ j- x# f                   cln = t+1;6 Q# L. Y. w; S! A5 C0 J$ f4 q
                else2 X% L8 H$ x* W5 n4 K- ~; R
                   cln = t;
8 s8 k- ]) F4 _$ n2 `                end
7 p" ^- @4 m7 v4 s5 s% l                temp(k,t) = H(row,cln);
: U8 M( M2 k  s( A# Y* ~            end
. M3 D# C, Z* ~+ X6 v6 C        end
/ {% K. z2 ~, T7 N. ^  ]0 y/ N- q        if rem(i+j,2)==0
' ^9 D0 M+ N# q6 J7 M- V            H_Adjoint(i,j) = Matrix_Det(temp,N-1);   %求代数余子式
/ ?! S& ]$ T; J6 u' L# L9 p        else1 q5 A  {  S. \* ]( @7 K7 d5 @
            H_Adjoint(i,j) = -Matrix_Det(temp,N-1);
1 E* S( Z* Z$ {+ D) L- N) o- h- X        end
! ^( L, L9 Z" F+ m  s& a    end
: i- x- K! D6 G& I8 tend
# w2 l9 e$ g9 `: Q& w3 l8 kend1 I. K& M) t/ Q* X' o# E, W- t

5 O9 P; ]- l+ z( U8 u逆:
1 [" R2 b, w$ h%A^(-1) = 1/|A|*(A*)9 p0 K4 F4 T3 p& O" T9 A
%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];9 z  @% Y, @* c0 U
function H_Inv = Matrix_Inverse(H,N)
- m4 c9 P1 X( _6 X9 xH_Det = Matrix_Det(H,N);
! K( _8 r1 f1 V9 ]% o& l4 \/ O$ \H_Adjoint = Matrix_Adjoint(H,N);) J, M" O8 J! v* M/ O1 @9 z
H_Inv = H_Adjoint/H_Det;
0 v6 b8 d" {% T* ~5 Q% ?end
. y3 |5 F- x9 Q% h* W% F
. p: a( t. ]+ i
' x! J8 g# g7 T: s9 {; f: i: M# }! W, X  f4 N! W0 `+ P

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 22:59 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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