第三章matlab矩阵运算_第1页
第三章matlab矩阵运算_第2页
第三章matlab矩阵运算_第3页
第三章matlab矩阵运算_第4页
第三章matlab矩阵运算_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab 仿真及其应用主讲:陈孝敬E-mail:主要内容:主要内容:矩阵运算;矩阵运算;矩阵元素运算;矩阵元素运算;3.1 3.1 矩阵运算矩阵运算3.1.1 3.1.1 矩阵分析矩阵分析1 1向量范式定义:向量范式定义: 向量的向量的3 3种常用范数及其计算函数种常用范数及其计算函数在在MATLABMATLAB中,求向量范数的函数为:中,求向量范数的函数为:(1) norm(V)(1) norm(V)或或norm(V,2)norm(V,2):计算向量:计算向量V V的的22范数。范数。(2) norm(V,1)(2) norm(V,1):计算向量:计算向量V V的的11范数。范数。(3)

2、 norm(3) norm(V,infV,inf) ):计算向量:计算向量V V的的范数。范数。111/ 22211nknkknkkxxkxxxx 例例3-1 3-1 求向量求向量x=1,2,3,4,5x=1,2,3,4,5和和y=3,0,5,2,2y=3,0,5,2,2间的距离间的距离 x=1,2,3,4,5;x=1,2,3,4,5; y=3,0,5,2,2;y=3,0,5,2,2; norm(x,1); %1- norm(x,1); %1-范式范式 norm( norm(x,infx,inf);); % %范数范数 norm(x); norm(x); e=x-y;e=x-y; norm(e

3、); norm(e); 2 2矩阵的秩:矩阵的秩: 矩阵中线性无关的列(行矩阵中线性无关的列(行) )向量个数向量个数, ,称为列(行)秩。称为列(行)秩。 MatlabMatlab中用函数中用函数rankrank()来计算矩阵的秩。()来计算矩阵的秩。 例例3-2 3-2 求向量求向量eyeeye(4)4),magicmagic(4 4)和)和A=1,2,3 A=1,2,3 ;4,5,6;7,8,9;4,5,6;7,8,9的秩。的秩。 rank(eye(4);rank(eye(4); rank(magic(4); rank(magic(4); rank(A); rank(A); 3 3矩阵的

4、行列式:矩阵的行列式: MatlabMatlab中用函数中用函数detdet()来计算矩阵的行列式。()来计算矩阵的行列式。 1212|d e t ()(1 )nkkkn kAAaaa 例例3-3 3-3 求向量求向量eyeeye(4)4),magicmagic(4 4)和)和A=1,2,3 A=1,2,3 ;4,5,6;7,8,9;4,5,6;7,8,9的行列式。的行列式。 detdet(eye(4);(eye(4); detdet(magic(4);(magic(4); detdet(A);(A); 4 4矩阵的行列迹:矩阵的行列迹: 矩阵的迹定义为对角元素之和。矩阵的迹定义为对角元素之和

5、。MatlabMatlab中用函数中用函数tracetrace()来计算矩阵的行列式。)来计算矩阵的行列式。 例例3-4 3-4 求向量求向量eyeeye(4)4),magicmagic(4 4)和)和A=1,2,3 A=1,2,3 ;4,5,6;7,8,9;4,5,6;7,8,9的行列式。的行列式。 trace(eye(4);trace(eye(4); trace(magic(4); trace(magic(4); trace(A); trace(A); 5 5矩阵化零矩阵:矩阵化零矩阵: 对于非满秩矩阵对于非满秩矩阵A A,若存在矩阵,若存在矩阵Z Z使得使得AZ=0AZ=0且且ZZ=IZ

6、Z=I,则称,则称 矩阵矩阵Z Z为矩阵为矩阵A A的化零矩阵。的化零矩阵。MatlabMatlab中用函数中用函数nullnull()来计()来计算矩阵的化零矩阵。算矩阵的化零矩阵。 例例3-5 3-5 求矩阵求矩阵A=1,2,3 ;4,5,6;7,8,9A=1,2,3 ;4,5,6;7,8,9的化零矩阵。的化零矩阵。 Z=null(A)Z=null(A) 验证验证AZ=0AZ=0的具体代码如下:的具体代码如下: AZ=AAZ=A* *Z Z 验证验证ZTZZTZ的具体代码如下:的具体代码如下: ZTZ=ZZTZ=Z* *Z Z 6 6矩阵的正交空间:矩阵的正交空间: 矩阵矩阵A A的正交空

7、间的正交空间Q Q满足满足Q QT TQ=IQ=I,且矩阵,且矩阵Q Q与与A A具有相同的列具有相同的列基底,基底,MatlabMatlab中用函数中用函数orthorth()来计算正交空间()来计算正交空间Q Q。 例例3-6 3-6 求矩阵求矩阵A1=1,2,3 ;4,5,6;7,8,9A1=1,2,3 ;4,5,6;7,8,9和和A2=1,2,3 A2=1,2,3 ;4,5,6;7,8,9;10,11,12;4,5,6;7,8,9;10,11,12的正交空间的正交空间Q Q。 Q=Q=orthorth(A1)(A1) R= R=orthorth(A2)(A2) 7 7矩阵的简化化梯形式

8、:矩阵的简化化梯形式: 矩阵矩阵A A的简化化梯形式为的简化化梯形式为 ,其中,其中 为为r r阶单位矩阵。阶单位矩阵。 MatlabMatlab 中用函数中用函数rrefrref()()来计算矩阵的简化梯形形式来计算矩阵的简化梯形形式 例例3-7 3-7 求矩阵求矩阵A1=1,2,3 ;4,5,6;7,8,9A1=1,2,3 ;4,5,6;7,8,9和和A2=1,2,3 A2=1,2,3 ;1,1,5;7,8,9;10,11,12;1,1,5;7,8,9;10,11,12的正交空间的正交空间Q Q。 Q=Q=rrefrref(A1)(A1) R= R=rrefrref(A2)(A2) *0

9、*rIrI9 9矩阵空间之间的角度:矩阵空间之间的角度: 矩阵空间之间的角度代表具有相同行数的两个矩阵线性矩阵空间之间的角度代表具有相同行数的两个矩阵线性相关程度,夹角越小代表线性相关度越高。相关程度,夹角越小代表线性相关度越高。MatlabMatlab中用函中用函数数subspacesubspace()来计算矩阵空间之间的角度。()来计算矩阵空间之间的角度。 例例3-9 3-9 求矩阵求矩阵A1=1,2,3;4,5,6;7,8,9A1=1,2,3;4,5,6;7,8,9和和A2=1,2;3 A2=1,2;3 ,4;5,6,4;5,6之间的夹角之间的夹角Q Q。 Q=subspace(A1,A

10、2)Q=subspace(A1,A2) 3.1.2 3.1.2 线性方程组线性方程组 Ax = b 有x = A-1b,但实际上并不显式求A-1例子: 7x = 21 x = 21/7=3如果求逆 x = 7-1 21 = .142857 21 = 2.99997这就需要一次除和一次乘,且精度更低Backslash运算符 AX = BX = AB 左除 XA = BX = B/A 右除3-by-3的例子6475156230710321xxx65 5 46237710 32132121xxxxxxxx5 . 21 . 6755 . 2061 . 000710321xxx1 . 65 . 2761

11、 . 0055 . 200710321xxx2 . 65 . 272 . 60055 . 200710321xxx线性方程组的解结构线性方程组的解结构齐次线性方程组的解结构齐次线性方程组的解结构非齐次线性方程组的解结构非齐次线性方程组的解结构1.1.齐次线性方程组的解结构齐次线性方程组的解结构例例3-103-10. .判别方程组判别方程组202520470330 xyzxyzxyzxyz有无非零解有无非零解, ,若有若有, ,写出其通解写出其通解.解解 在在MATLABMATLAB中输入该方程组的系数矩阵中输入该方程组的系数矩阵A A并将它化为最简行并将它化为最简行阶梯形矩阵阶梯形矩阵, ,所

12、用命令如下所用命令如下: : A=1 2 -1;2 5 2;1 4 7;1 3 3; A=1 2 -1;2 5 2;1 4 7;1 3 3; rrefrref(A)(A)ans = 1 0 -9 0 1 4 0 0 0 0 0 0由阶梯形矩阵可知由阶梯形矩阵可知R R( (A A)=23,)=2 A=1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1; format rat B=null(A , r) %求基础解系求基础解系B = 1 1 5 -2 -2 -6 1 0 0 0 1 0 0 0 1 syms k1 k2 k3 %定义符号参数定义符号参数 X=k1*

13、B(:,1)+k2*B(:,2)+k3*B(:,3)X= k1+k2+5*k3 -2*k1-2k2-6k3 k1 k2 k3即即123115226100010001Xkkk为方程组的通解为方程组的通解, ,其中其中k k1 1, ,k k2 2, ,k k3 3为任意实数为任意实数. .2.2.非齐次线性方程组的解结构非齐次线性方程组的解结构例例3-123-12. .求解方程组求解方程组12312312233231xxxxxxxx 解解 在在MatlabMatlab中输入系数矩阵及常数列向量中输入系数矩阵及常数列向量, ,并检验系数矩阵并检验系数矩阵是否逆是否逆, ,所用命令及结果如下所用命令

14、及结果如下 A=2 1 1;3 1 2;1 -1 0; A=2 1 1;3 1 2;1 -1 0; b=3 3 -1 ; b=3 3 -1 ; detdet(A) (A) % %检验检验A A是否可逆是否可逆ansans = = 2 2系数矩阵行列式值等于系数矩阵行列式值等于2,2,是可逆的是可逆的, ,则可以用矩阵相除来求解则可以用矩阵相除来求解. . X=AbX= 1 2 -1即是原方程组的解即是原方程组的解. .3.1.2 3.1.2 矩阵分解矩阵分解矩阵分解:把矩阵分解成比较简单或对它性质比较熟悉的若干矩阵分解:把矩阵分解成比较简单或对它性质比较熟悉的若干矩阵的乘积的形式;矩阵的乘积的

15、形式;1 1CholeskyCholesky分解:分解: CholeskyCholesky分解是把对称正定矩阵表示成上三角矩阵的转分解是把对称正定矩阵表示成上三角矩阵的转置与其本身的乘积,即:置与其本身的乘积,即:A=RA=RT TR R,在,在MatlabMatlab中用函数中用函数cholchol来计算来计算CholeskyCholesky分解分解 例例3-13 3-13 求矩阵求矩阵A=A=pascalpascal(4 4)的)的CholeskyCholesky分解,分解, A=pascal(4)A=pascal(4) R= R=chol(Achol(A) ) R R* *R R 2 2

16、LULU分解:分解: LULU分解是将任意一个方正分解是将任意一个方正A A分解成为一个交换下三角矩阵分解成为一个交换下三角矩阵L(L(或是排列或是排列(permuted) 的上三角形矩阵的上三角形矩阵)和一个上三角矩和一个上三角矩阵阵U U的乘积,的乘积,A=LUA=LU,在,在MatlabMatlab中用函数中用函数lulu来计算来计算LULU分解分解 例例3-14 3-14 求矩阵求矩阵A=1,4,2;5,6,9;4,1,8A=1,4,2;5,6,9;4,1,8的的LULU分解,分解, L1,U1=L1,U1=lu(Alu(A) ) L1 L1* *U1U1 3 3奇异分解:奇异分解:

17、奇异值分解就是将奇异值分解就是将 的矩阵的矩阵A A分解为分解为U U* *S S* *V V,其中,其中U U 为为 的酉矩阵,的酉矩阵,V V为为 的酉矩阵,的酉矩阵,S S为为 ,并,并可以表示如下:可以表示如下: ,其中其中 ,r=rankr=rank(A)A), ,MatlabMatlab中奇异值是有函数中奇异值是有函数svdsvd()实()实现的。用现的。用svdsvd计算矩阵计算矩阵A=1 4 2;5 6 9A=1 4 2;5 6 9例例3-153-15 求矩阵求矩阵A=1 4 2;5 6 9A=1 4 2;5 6 9的奇异分解,的奇异分解, U,SU,S,V=SVD(A)V=S

18、VD(A) m nmmnnmn00 0S12(,)ndiag 0(1,2, )iir4 4QRQR分解:分解: QR分解法是将矩阵分解成一个正规正交矩阵与上三角形分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵矩阵,所以称为所以称为QR分解法分解法,与此正规正交矩阵的通用符号与此正规正交矩阵的通用符号Q有关。有关。 Matlab以以qr函数来执行函数来执行QR分解法,分解法, 其语法为其语法为Q,R=qr(A)。 例例3-153-15 求矩阵求矩阵A=1 4 2;5 6 9A=1 4 2;5 6 9的奇异分解,的奇异分解, U,S=U,S=qr(Aqr(A) ) 3.1.33.1.3 矩阵的

19、特征值和特征向量矩阵的特征值和特征向量1 1矩阵的特征值与特征向量矩阵的特征值与特征向量在在MATLABMATLAB中,计算矩阵中,计算矩阵A A的特征值和特征向量的函数是的特征值和特征向量的函数是eigeig(A)(A),常用的调用格式有,常用的调用格式有3 3种:种:(1) E=(1) E=eigeig(A)(A):求矩阵:求矩阵A A的全部特征值,构成向量的全部特征值,构成向量E E。(2) V,D=(2) V,D=eigeig(A)(A):求矩阵:求矩阵A A的全部特征值,构成对角阵的全部特征值,构成对角阵D D,并求,并求A A的特征向量构成的特征向量构成V V的列向量。的列向量。

20、(3) V,D=(3) V,D=eigeig( (A,nobalanceA,nobalance):与第:与第2 2种格式类似,种格式类似,但第但第2 2种格式中先对种格式中先对A A作相似变换后求矩阵作相似变换后求矩阵A A的特征值和特的特征值和特征向量,而格式征向量,而格式3 3直接求矩阵直接求矩阵A A的特征值和特征向量。的特征值和特征向量。例例3-163-16 求矩阵求矩阵A=6,12,19;-9,-20,-33;4,9,15A=6,12,19;-9,-20,-33;4,9,15的特的特征值和特征向量征值和特征向量 V,D=V,D=eigeig(A);(A);例例3-17 3-17 用求

21、特征值的方法解方程。用求特征值的方法解方程。3x3x5 5-7x-7x4 4+5x+5x2 2+2x-18=0+2x-18=0p=3,-7,0,5,2,-18;p=3,-7,0,5,2,-18;A=A=compancompan(p); %A(p); %A的伴随矩阵的伴随矩阵x1=x1=eigeig(A) %(A) %求求A A的特征值的特征值x2=roots(p) %x2=roots(p) %直接求多项式直接求多项式p p的零点的零点例例3-183-18. .求解方程组求解方程组1234123412343133445980 xxxxxxxxxxxx解解 先用先用MatlabMatlab函数函数

22、nullnull求出对应的齐次线性方程组的基础解求出对应的齐次线性方程组的基础解系系, ,再利用其系数矩阵的上、下三角阵求出方程组的一个特解再利用其系数矩阵的上、下三角阵求出方程组的一个特解, ,这样即可得到该方程组的通解这样即可得到该方程组的通解, ,程序如下程序如下: : A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8; A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8; b=1 4 0 ; b=1 4 0 ; format rat format rat C=null(A , C=null(A , r r); %); %求基础解系求基础解系 L,U= L,U=

23、lulu(A); %A=LU,L(A); %A=LU,L为上三角阵为上三角阵,U,U为下三角阵为下三角阵 X0= U(Lb) % X0= U(Lb) %用用LULU求出一个齐次方程的特解求出一个齐次方程的特解 syms k1 k2 X=k1*C(:,1)+k2*C(:,2)+X0运行结果为运行结果为X0 = 0 0 -8/15 3/5 X = 3/2*k1-3/4*k2 3/2*k1+7/4*k2 k1-8/15 k2+3/5即即123/23/4103/27/40108/15013/5Xkk为该非齐次方程组的通解为该非齐次方程组的通解, ,其中其中k k1 1, ,k k2 2为任意实数为任意实数.3.2 3.2 矩阵元素运算矩阵元素运算矩阵运算主要是对矩阵里的每个元素进行运算!矩阵运算主要是对矩阵里的每个元素进行运算!3.2.13.2.1 三角函数(三角函数(p48p48)例例3-183-18 计算矩阵计算矩阵A=6,12,19;-9,-20,-33;4,9,15A=6,12,19;-9,-20,-33;4,9,15每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论