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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
行列式:9 l  i' q5 }5 Q$ y! b* U. Y9 s9 Q
%Aij = (-1)^(i+j)*Mij0 H) [+ [: t, V: B3 |( B
%D = a11*A11 + a12*A12 + a13*A13 + ... + a1n*A1n5 O) K  x1 J% @2 J" x4 D
%H = [1 2 3;7 9 7;5 6 1;];det(H) = 14( h+ t* J' k: E( E* w% O
function H_Det =  Matrix_Det(H,N)  %输入矩阵 阶数  
4 h9 r# X0 ~" _, ]; G4 @  hH_Det = 0;
  q/ U; w4 S* j  Lif N==1+ L6 @$ A; s# A
   H_Det = H(1,1);
% P; j" O  q+ l  v- [   return;' C6 |: u; A8 N3 g
end
( S. J. m$ i$ P- wtemp = zeros(N-1,N-1);
: E1 M. g5 \9 C" Ifor i=1:N
  A! z6 }8 U0 \7 c% g    for j=2:N  %第二行开始
9 T9 e2 ^$ k2 Q, h1 Q( F        for k=1:N-1- t3 a5 Y3 q3 z8 ^) g4 E
            if k>=i% s) v. ~8 P' E' D
                cln = k+1;
( ?& j3 U9 z' L2 T            else
: K. \, A. H5 f* h9 }! d                cln = k;
! a/ [) [6 t; z0 K; g+ A. Z            end: h; |4 p3 u6 `7 C
            temp(j-1,k) = H(j,cln);
8 a% r7 ~4 |4 j+ i8 ]        end: m) M# [4 X' J# S, \, x1 ?6 K3 a
    end+ \! J% d% X; m- v* q) ?# u
    t = Matrix_Det(temp,N-1);  %递归" B) X) f1 [) _7 b3 ?; m1 m  R6 Z
    if rem(1+i,2)==0   %(-1)^(1+i)
1 l- }3 t$ g0 g0 z7 A' {5 F       H_Det = H_Det+H(1,i)*t;
, R3 @6 M5 V0 X2 s    else2 i! O$ I  ~, m: E! C
       H_Det = H_Det-H(1,i)*t;
: f, Q- C; i& t3 y! |    end
1 y+ |* I* }2 h& G' z6 ~( B9 _end( e, e; F% k( M; A  g$ v4 j/ Y
: {5 U- x5 z9 l8 s
end
+ S5 ?2 X& I" Y
9 ]9 M& k1 L: x+ d伴随阵:
- c# ~2 j3 Z8 Y/ N0 ^+ G. w%伴随阵A* = |Aij|(nxn)
. x" b" w7 m4 E& A, S& ]%Aij = (-1)^(i+j)*Mij5 e5 D0 Y$ |2 X
%H = [1 2 3;7 9 7;5 6 1;];det(H)*inv(H) = [-33 16 -13;28 -14 14;-3 4 -5];
& X' [/ v3 Z# ~. D8 |8 @2 \% ffunction H_Adjoint = Matrix_Adjoint(H,N)
9 n, Q' j  q5 }# j+ I9 DH_Adjoint = zeros(N,N);3 \; {3 n) f% [
if N==1. q; l* M* W& Z
%    H_Adjoint = [H(2,2) H(2,1);H(1,2) H(1,1)]; % F$ V5 o$ V5 }; R/ @1 a
   H_Adjoint = 1;
" M+ `# o# ~! ~. h5 b3 P0 |   return;$ N4 V+ E* W# m) F5 N8 r1 i
end2 y6 O3 N1 Q) F" H
temp = zeros(N-1,N-1);& _5 y0 H4 @- t; k3 z3 e
for i=1:N   %逐行扫描4 r& Q9 J; B! }' {
    for j=1:N  %逐列扫描
, {" s2 t0 R  H        for k=1:N-1  %行组合
. `4 }2 S. s2 X" {            if k>=j
9 h: A: O: k2 G& h, ]) I2 p% G               row = k+1;
4 N, C7 R6 w+ c' j% B# J: V! }            else
$ X/ q, w. ^" k% z               row = k;2 q9 `4 L$ x7 q: g# b6 I5 D
            end! G) g+ U) @7 E
            for t=1:N-1  %列组合            1 o+ [4 Y2 P& \3 j2 A8 }
                if t>=i! N8 A/ D8 C9 M# j& P, v2 k
                   cln = t+1;
! l3 F2 ]- [, A5 `$ V8 y; C                else* q- d% p5 h4 ]# e4 a$ n
                   cln = t;  Y$ j* x/ X3 ~" \6 N' n
                end( ?9 V  _( }, J+ o7 @
                temp(k,t) = H(row,cln);
5 ^7 U& w& ?6 b# y0 I4 c& `6 @            end7 \7 L8 F) z- ~$ g7 J. `7 T
        end
5 g" x/ J/ [) a6 O: Y        if rem(i+j,2)==0
- D7 W' T  d8 k% i7 u* c+ p  B            H_Adjoint(i,j) = Matrix_Det(temp,N-1);   %求代数余子式! v+ W0 ?& w  D8 |  Y. }
        else  e: U4 \+ W& @8 I9 k
            H_Adjoint(i,j) = -Matrix_Det(temp,N-1);, ?) U: D, x1 a2 m3 d3 l7 m! J3 x
        end; V! m9 o+ H+ P; i; w
    end
) `, [: ^! A6 U' C7 d0 lend& O- f- s+ w0 Y) C( y
end& Q6 @: f) T- B  N2 l5 c
7 K- p* o; n2 \# r8 h5 Z) \
逆:  {1 p" e5 d9 a
%A^(-1) = 1/|A|*(A*)
" O0 _2 s8 A6 k% R9 y: l%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];) B8 b+ Y1 E8 B( _. _
function H_Inv = Matrix_Inverse(H,N)  z1 D% T  g2 a( A% V4 i5 ]) {" K
H_Det = Matrix_Det(H,N);
9 q$ Z7 A# f- ?1 \- z3 L% OH_Adjoint = Matrix_Adjoint(H,N);. `1 e1 }- k, M1 S' i/ ~
H_Inv = H_Adjoint/H_Det;
9 I3 |: k* c2 ^1 S+ Oend
+ y7 \5 \; E& c8 }3 b+ \
0 b* o& f7 r' y; b! n
1 m5 J! D2 ]0 D4 t
5 t5 n+ Z3 k9 r8 l0 Q) a

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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