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

matlab矩阵的应用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-29 10:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
% {; {, A- b' v  l
1、向量组的秩:rank(A)
5 L. x* L$ N9 R+ Q4 L5 B3 B* e5 l5 Q1 B+ `1 P
2、判断线性相关性
7 d# P7 B3 w8 L3 P& G4 e! y& U/ n' T5 T0 B
一般步骤(1)输入向量组
6 o, ^" P# U: C5 |, @8 I
# G4 k, z3 n: O# u! p, b                  (2)用A’将行向量转置为列向量  L! R, O0 s3 i5 |5 M. j9 q6 {
4 _# X, \. T8 @! k
··                 (3)用rref(A)命令求秩
  G. _: g+ K! \9 L: j4 F/ q( J7 [5 n, j/ e
例:判断向量组a1=(1 2 0 1), a2=(1 3 0 -1), a3=(-1 -1 1 0)是否线性相关,并求秩。
& E( x6 a( {2 k9 h- I! f
* V0 y' _; c6 k>> A=[1 2 0 1;1 3 0-1;-1 -1 1 0]; %输入矩阵% q9 N. v6 N& I
7 s* ~  B2 |9 @8 r* j6 w
>>A=A’   % 将行向量转置为列向量再求秩/ y: T1 @" Y) H0 n! ?

; R6 d9 p! y8 a( \& Q1 [7 A/ `  b>>rank(A)   %求秩. Y4 j. R1 A, \+ f3 r1 W/ F; R
- ~2 h  I8 d, e: _  I; p
Ans = 3, T: P( k) T. K6 A
# {8 G$ v! O, t$ L( |; A6 i0 u/ P
(注意:当rank(A)等于向量组个数时,线性无关,否则线性相关)6 v: o9 l* m1 b( I7 n: J
0 `5 H  [9 k/ q9 c/ g
     3、求向量组的极大无关组
6 `. Q4 b" J: F; F
6 P4 K2 J: F% `( g6 a8 e) G" m     一般步骤:(1)输入向量组,并将其进行转置
# U2 N; z! y4 T; S$ [
' x' u+ c2 H4 Z2 M: n0 t                    (2)化为分数形式: j( J" _0 C0 d. }
% a# t$ n! C8 R5 H1 s% [' b
                    (3)将向量化为行最简型; g, b1 _. P  k0 U7 b6 c9 E

: Y( m% w6 _7 T3 N                   (4)对线性相关性进行判断
/ Q9 F. \3 E, s) o/ a1 [/ d, |7 P- J4 N8 `
     注:将矩阵化为行最简型的命令为:rref(A)或者rrefmovie(A)
0 N4 K$ D5 o0 {4 B0 s1 F
( Z. N4 |+ g! w- a; f" i2 T  例1:求下列向量组的秩和一个极大线性无关组,并将其余向量用该极大无关组线性表示。$ d& L0 n' Z$ P% Z7 a
: \/ l; K& P6 x8 ^, ?
a1=(2 -1 3 5),a2=(4 -3 1 3),a3=(3 -2 3 4),% C3 z3 L& e) M( Y% d7 T5 {
1 T' d3 E  u# V$ ~$ c
a4=(4 -1 15 17),a5=(7 -6 -7 0)
; t$ w& J6 x  z  y, E7 A
. ~8 ^  [" ]8 ?! W0 R>> A=[2 -1 3 5;4 -3 1 3;3 -2 3 4;4 -1 15 17;7 -6 -7 0];& x3 {& b- \8 g$ u" G2 {- ^. a

6 I& H6 L6 J: `>> A=A′  %将行向量转化为列向量进行运算! r2 p$ X+ h" |: y0 V

' G& v& T" n2 P% V: E>> format rat   %分数格式形式2 G1 h/ T+ ~. N/ T& [. {) l
0 T' v$ E7 _; m9 g3 N+ y
>> rref(A)  %将A变换为行最简型
6 H3 X! }% V3 o: {: V/ `0 W0 }: k4 ?6 d- I8 q+ |: P* A
ans =
! Z/ j: r) b" s! D2 l' S; O
, Y$ U" h# x! N! G/ l        1      0    0     2     1- g* s; z# u: p9 n4 A7 V5 _/ w
: G2 |: X3 \& `
        0      1    0    -3     5
& z- G; N& s& P" \( @# _  m+ u+ X- s/ E! W; K$ n
        0      0    1     4    -5
8 ^* e+ ~5 @) O/ [( F" f. J. t5 G1 ]6 |- j' Y
        0      0    0     0     0
0 }2 N5 A& [8 x# j0 i6 ^1 j+ T  x/ b: {) b/ j9 Y" B: Z! R: B. X
因为前三行的向量均不全为0,且第1,2,3列的均为1开头,所以a1,a2,a3为一个极大无关组。
1 D+ H# N- G$ E' r6 {+ |, ^
5 i3 y, v+ n9 L0 C$ x0 I ) K! b& I' i1 ?' O* Y

5 I2 y5 h8 Y6 `# o. ?! e4 i% ?例2:求下列向量组的秩和一个极大线性无关组,并将其余向量用该极大无关组线性表示。/ ~- c% O; A! m+ ?1 _; _1 G
a1=(1,-2,2,3),a2=(-2,4,-1,3),a3=(-1,2,0,3),a4=(0,6,2,3),a5=(2,-6,3,4) - X% w. B: c! k! i

1 D# p" `9 v. q$ w8 S3 @解:
3 ]6 }& O5 d9 ]5 _" R
; M  Q1 h5 `* P" a+ MA=[1,-2,2,3;-2,4,-1,3;-1,2,0,3;0,6,2,3;2,-6,3,4]
* e- W* q# W4 i  M
( _2 z. w' X4 o; X- V>> A=A′  %将行向量转化为列向量进行运算
6 b6 E& Q6 t; j$ {; ^% {
) S: R) r5 r4 F5 o+ t; {% ^>> format rat   %分数格式形式
( N% ?  C, v& o; b. I# B9 _: j) _" r0 ?
>> rref(A)  %将A变换为行最简型
) d4 s5 @. a; }% n! n' P' t7 I6 M6 M% I8 L9 I+ l, l
+ E5 D6 o$ m- S+ W! L! P0 j  [
7 b* v* Q3 m, _
A1,a2,a4为一个线性无关组,a3,a5可用其其线性表示7 A1 F' T) s1 x5 `+ Z% H

# p4 E8 K: B, l3、线性方程组的求解( W$ {: w" p1 V. g4 r1 U+ }

) y9 _+ m. M; G9 X3 O         (1)使用克莱姆法则求解. m. Y" `2 J' X. d- \8 m

! A2 t9 M7 e( d! I* h; D ' Y/ v) {. H. r0 g: ?0 X8 h

1 Y  f% ~$ g. t5 Z
7 [0 P! T8 J' j7 _4 ]>> A=[2 1-5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6];  %输入系数矩阵
2 ~, X1 C. ?% X9 p: u4 I% h, {; k. `) ?1 C/ s
>>D=det(A)  %判断解的情况, }+ ?3 S2 q& b# x6 _
5 p2 h/ \2 G0 m( r
D =  27     + J! f/ ~+ G3 E: E8 r" I

0 \9 b5 j. K0 z1 M$ b8 g>> C1=A;C2=A;C3=A;C4=A;b=[8;9;-5;0];
7 G' X5 S) B4 u+ ^2 e& }
/ W: V# Z6 n- V6 A% j4 o%将A赋值给不同变量5 i6 ~0 ^8 {  Z% ^: r
9 Z3 G* y2 K# k( i% l' Z4 G" y8 z
>> C1(:,1)=b;D1=det(C1); %将某行替换为系数列; \# M" b6 W) r' g3 M: m1 ]" w" s9 W
) C2 \; A0 T+ v9 U5 k+ Q, R
x1=D1/D    %x求解x1
- j6 \; }( ^& V5 |- x
" ?8 j0 P. w1 kx1 = 39 ~, `# W" Y7 p( b) ^
7 x3 p9 P- m8 _
>> C2(:,2)=b;D2=det(C2);x2=D2/D( Z* Y1 H) ~5 w9 y

% R) f8 z; ~7 m>> C3(:,3)=b;D3=det(C3);x3=D3/D        , i" C2 ]; S) |7 r2 F3 F) m

# v3 p9 h, w/ c7 i8 y>> C4(:,4)=b;D4=det(C4);x4=D4/D/ E2 v0 r: A5 g7 a2 u: |) B
! d+ t8 P7 w7 Z- A+ t' T; F
(2)使用矩阵左除法求线性方程的解
/ p5 @# ]' D. e. Y6 {9 y( X! D& i7 \
线性方程组AX=B的一个解为X=A\B。( H( y/ T3 O" u$ ~2 i  |

6 L5 z4 Q3 x0 F  L例:利用左除法求解上题中线性方程组的解.5 }6 ?' k4 Q4 O  _' z
. e: h; G+ p0 h# W
>> A=[2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6];. I: I2 @2 ~2 R0 y
( f- h5 O3 g( Z+ ^3 b
>>rank(A)2 d4 E+ B9 \5 F  l; U' g; P4 N
- B7 }) f9 X( J7 z6 B
>> b=[8;9;-5;0];
' @9 z6 N2 `9 v
- C9 A( L9 V0 {: ^7 B, |>> x=A\b        %左除法( h) E7 F9 f: L0 P; h% _- v9 {& ^
" Z& y+ ?9 u; c9 E- {+ J
x =
: Q: H! K/ k, w& S2 R7 U
# K) J: v( `2 z    3.0000
8 z; g/ R/ y  |! U$ f
: z) V/ K# `5 I   -4.00001 p) A/ I6 |7 r

/ }- b) G& h$ Q/ P   -1.0000- h1 q) N8 n5 W3 F

" X/ K4 Z2 A5 n, ]. `& ]) A# A! O0 j    1.0000
6 U' w4 E! m) w, q& s/ \1 P/ g
8 r9 Z7 e* x3 l3 N9 b6 z(3)利用矩阵的行(列)初等变换求线性方程组的通解
- L* v6 W& W6 z2 L/ r
) h9 `1 b# @" |% [" _) z% e  基本步骤:(1)将线性方程组表示成增广矩阵的形式;4 M) [& R" T  e
' k! M8 ~5 k; q4 P4 a* I: O
(2)对增广矩阵实行初等变换,使增广矩阵转化为行阶梯形矩阵;
! W1 ?( k: _- d% A
/ C3 d) d4 t  \& c- s(3)得到方程组的解。
& Y& K3 |: t; u" `' U1 O
( x+ q* Y- E& @: f6 C1 Q例:求解线性方程组
# G/ q2 t0 y0 N( f( L  l" [
3 s8 P7 M; f3 _) k- O* g) Z6 l; U
" }% S& J9 \4 H% P; {. _/ h
4 d9 [) p6 p& w* L8 j
; W8 p1 Z5 s6 o) U9 M! K  Y) I>>A=[1,1,1,1;0,1,-1,1;2,3,1,3];     %方程组的增广矩阵$ ^. Q0 g! S* I1 \- h9 E2 n6 S
$ o# ?9 K6 ^2 X  j
>>F=rref(A);    %将方程组增广矩阵化为行阶梯形矩阵
6 {4 Z5 f: F- k- }2 T+ E9 u5 G! V( X" X4 b
>>F  %输出增广矩阵的行阶梯形矩阵: f% L1 B1 k1 D. A3 x% h/ G
& |. R' w5 X6 {4 p! J: ]
F =8 w& H+ ^5 }; b
4 }3 ]6 e* ^% N3 ?# b! a$ [2 @
     1     0    2     0
8 B# j& W' G; d( Q" T
" s  p! S/ A- [" u/ T     0     1   -1     1  f% p8 I) s+ c
) v# p7 u+ V5 c
     0     0    0     0" V6 _/ S; \% a1 ?- I( Z$ M
" @5 i- ~) x3 o% F9 v9 ^# ?
由该阶梯形矩阵,可得方程组:x1=-2x3    x2=x3+1: V  h. ^( X1 Z

# R  a$ P2 H) @+ D. U+ \* u- x$ @% r1 D. [0 S
" k! t. T9 l4 N9 u+ W
(4)求非齐次线性方程组的通解" ]( F' b. y! T/ m% i

8 S/ }7 B3 S" I  Q- U4 ]0 h; J2 s- D非齐次线性方程组需要先判断是否有解,若有解,再进一步求通解。* c" Y1 i5 D1 j+ x
  e) S8 h7 B  \0 F# K
一般步骤为:
3 Q5 x- c2 ^6 B( t3 T* Z, t7 y' ]; s+ U4 c5 T! o8 P
第一步:判断AX=b是否有解,若有解则进行第二步;(R(A)与R(A,b)比较,即比较系数矩阵的秩和增广矩阵的秩)- x2 y6 N+ T8 n! Z* j$ X  {
/ D: L$ N# s: g5 X) c4 _
第二步:求AX=b的一个特解;(矩阵除法)  u4 Q1 [$ R0 ~9 ]7 l0 ^. D* e

# {' p8 e2 n" l# c& ]/ P5 ?第三步:求AX=0的通解;(利用null命令)
/ q) M! L& t9 l/ V! Y' o( Z# C8 Y  ~! C. z- X8 N1 k5 F% q
第四步:AX=b的通解:AX=0的通解+AX=b的一个特解。
. n% Y* |, h* r$ N7 ]9 \/ H" i  m9 k& b! ^% M3 W: T0 {
例:判断方程组! q7 ^4 S6 o# T& m2 A

4 {% ]0 R# S% X' e%第一步:判断系数矩阵与增广矩阵的秩
0 T, x. g$ M' Z$ {! S& S0 r9 I3 B) q- @2 j/ i; s: s3 @. w
>> A=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1];    %系数矩阵A0 @, c" X: I& u! ?( y

" f6 {. \: Q! h8 i8 X>> b=[1;1;-1];    %常数b
) h& q. w- G7 ?, l
* u* e" F/ G0 i9 i>> rank(A)     %系数矩阵的秩
6 M( G( T& ]5 e. o1 r$ w
. i# t7 [5 C% Z6 i, [ans =
3 Z* Q; c* a8 O+ f9 R1 m0 J- Y) h. j& w5 X- y4 o2 Q# A
     2
2 E7 a) {( r0 e
. G" H9 b0 L9 W1 T" Q+ ^; ^, Z) r>> rank([A,b])    %增广矩阵的秩8 s% p* j, J1 a9 O4 ^8 T% o
# A  W8 @5 t* w
ans =
  a: I7 [8 y/ H6 X3 r4 o( K. K3 w7 Q# v& h7 {1 p4 M
     2( z* \6 i5 V  K- f6 C
+ v5 M# t% H- L/ n# Q
%求通解
6 p3 [8 Y9 b1 x, K) z& `& F( O9 c
6 E- [7 z9 v' S3 i# _( g化行最简形,用rref命令" v2 m9 [$ H# L- c. Q9 O" P2 {4 U
$ L- ^0 L5 p2 H% e' {: S: p/ O7 c
>> rref([A,b])% J% F9 ~  {' E" r2 R/ ?' W+ s' D
2 j! @4 ?) O/ g; u0 K
ans =
/ o: T: u% m1 N; r# l
, n8 `. w+ z$ {6 W     1    -1    0     0     0
1 K, V7 m. ~# O. _% B/ d$ Z. }1 q& m& b8 R6 y( k
     0     0    1    -1     1! n3 x2 E% W% n/ H' j

3 R( j  R. H6 i1 p' C     0     0    0     0     09 f( P' y$ P( j' {* R$ |

; z1 S% u4 _+ s: x. v' d/ h- W取x2,x4为自由变量,从而通解为:x1=x2,x3=x4+18 W# a$ @9 g& \2 o+ Y

( m7 G6 W0 o) A$ J8 c& g) M(2)先求出特解及导出组的基础解系, 用命令null,例如:
0 ~6 V$ x" I2 l: V, ~* B( B
6 J, F' D3 H; `, v8 S5 b>>x0=A\b       %方程组的一个特解/ Z3 L1 a: L5 r

. U; T  t4 W+ h# o% j, Nx0 =
9 s7 u: z, Q2 \4 T: G' ~0 r% q
% d" V6 s0 k# D, l5 _# I" ^6 x) V     0
% |, _/ P( P# U# v8 j. K" w6 E, f; a, c
     0! Z) W- v& c7 k: N" `$ i

. \& s8 o5 }! O4 R3 l/ i     1
; U0 @" E" o( O4 a2 P- I( e% I# P" E! X7 K; O9 _
     0
# C2 p- ?' p2 q1 T, a& J' ~9 O' H( `) ~# c6 M& i
>>x1=null(A)    %求导出组的基础解系& E( o( J9 N2 ^$ n6 S0 y" d

5 ], D3 ~" y: }! F/ Wx1 =
/ {% e' \8 ], _2 L7 H* ~
5 A. P" a: I3 P+ O0 T( s  -0.7071               0  l/ B9 _& y# V" \' x2 i& m1 t; f
2 R9 D, V/ s9 [# B, v2 {
   -0.7071               0
/ P3 ?3 I- l6 {$ [  Q. W9 L& W
1 r2 t0 j. c+ C& @   -0.0000        0.70713 X( [' O  Z0 e5 K2 v" f

' ^. _3 h% |7 ]5 Y, Q- w  -0.0000       0.70710 ], ]! Q& Q2 `: ^

3 W, X3 o- A4 |3 Z3 ^故原方程组的通解为
$ k: C' b" b6 c$ {. d- M
3 x: H' A4 K' `(x1,x2,x3,x4)=(0,0,1,0)+c1(-0.7071,-0.7071,0,0)   +c2(0,0, 0.7071, 0.7071),c1,c2为任意常数.
# ^1 ]' m( w8 A0 T4 J7 ^: p) j
: W8 U; d- O) v* R7 f* inull是用来求齐次线性方程组的基础解系的,加上'r'则求出的是一组最小正整数解,如果不加,则求出的是解空间的规范正交基。(x1=null(A,'r'))
) v& \* u- J+ @2 Q. u, V

该用户从未签到

2#
发表于 2021-9-29 13:04 | 只看该作者
很清楚   感谢分享

该用户从未签到

3#
发表于 2021-9-29 13:39 | 只看该作者
matlab矩阵的应用

该用户从未签到

4#
发表于 2021-9-29 13:40 | 只看该作者
非齐次线性方程组需要先判断是否有解,若有解,再进一步求通解
  • TA的每日心情
    奋斗
    2025-1-1 15:26
  • 签到天数: 584 天

    [LV.9]以坛为家II

    5#
    发表于 2021-10-1 21:51 | 只看该作者
    LZ辛苦,学习学习
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-28 20:20 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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