matlab河南工业大学ppt课件第4章.ppt
《matlab河南工业大学ppt课件第4章.ppt》由会员分享,可在线阅读,更多相关《matlab河南工业大学ppt课件第4章.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、控制工程中的程序设计控制工程中的程序设计授课教师:冯肖亮E-mail: 河南工业大学 电气工程学院1数值问题求解数值问题求解第四章第四章2第四章第四章 数值问题求解数值问题求解(上)(上)4.1 4.1 特殊矩阵特殊矩阵4.2 4.2 矩阵分析矩阵分析4.3 4.3 矩阵分解矩阵分解4.4 4.4 秩与线性相关性秩与线性相关性4.6 4.6 线性方程组的求解线性方程组的求解34.1 4.1 特殊矩阵特殊矩阵n数值矩阵的输入数值矩阵的输入n零矩阵、幺矩阵及单位矩阵零矩阵、幺矩阵及单位矩阵 生成生成n n n n方阵:方阵:A=zeros(n),B=ones(n),C=eye(n)A=zeros(
2、n),B=ones(n),C=eye(n)生成生成m m n n矩阵:矩阵:A=zeros(m,n),B=ones(m,n),C=eye(m,n)A=zeros(m,n),B=ones(m,n),C=eye(m,n)生成和矩阵生成和矩阵B B同样位数的矩阵:同样位数的矩阵:A=zeros(size(B)A=zeros(size(B)n对角元素对角元素矩阵,矩阵,使用使用 diag()diag()命令命令n两类使用规则:两类使用规则:(1 1)构造构造对角矩阵对角矩阵已知向量已知向量 V V 生成对角矩阵生成对角矩阵 A A:A=diag(V)A=diag(V)设设V V为具有为具有m m个元素
3、的向量,个元素的向量,diag(V)diag(V)将产生一个将产生一个m mm m对角矩阵,其对角矩阵,其主对角线元素即为向量主对角线元素即为向量V V的的元素,其他元素为元素,其他元素为0 0。生成主对角线上第生成主对角线上第k k条对角线为向量条对角线为向量V V的矩阵的矩阵 A A:A=diag(V,k)A=diag(V,k)其其功能是产生一个功能是产生一个n nn(n=m+abs(k)n(n=m+abs(k)对角阵,其第对角阵,其第k k条对角线的元素条对角线的元素即为向量即为向量V V的的元素元素,其他元素为,其他元素为0 0;k k可正,可负。可正,可负。4.1 4.1 特殊矩阵特
4、殊矩阵(2)(2)提取矩阵的对角线提取矩阵的对角线元素元素 已知矩阵已知矩阵 A A 提取提取对角元素对角元素列向量列向量 V V:V Vdiag(A)diag(A)设设A A为为m mn n矩阵,矩阵,diag(A)diag(A)函数用于提取矩阵函数用于提取矩阵A A主对角线元素产生一个主对角线元素产生一个具有具有min(m,n)min(m,n)个元素的列向量。个元素的列向量。已知矩阵已知矩阵A A,提取主对角线上第,提取主对角线上第k k条对角线为向量条对角线为向量V V:V Vdiag(A,k)diag(A,k)其功能是其功能是提取提取矩阵矩阵A A主主对角线上第对角线上第k k条对角线
5、的元素。条对角线的元素。4.1 4.1 特殊矩阵特殊矩阵 例例1 1:diag()diag()函数的不同调用格式函数的不同调用格式 C=1 2 3;V=diag(C)%C=1 2 3;V=diag(C)%生成对角矩阵生成对角矩阵V=V=1 0 0 1 0 0 0 2 0 0 2 0 0 0 3 0 0 3 V1=diag(V)%V1=diag(V)%将列向量通过转置变换成行向量将列向量通过转置变换成行向量V1=V1=1 2 3 1 2 3 C=1 2 3;V=diag(C,2)%C=1 2 3;V=diag(C,2)%主对角线上第主对角线上第 2 2条条对角线为对角线为C C的矩阵的矩阵V=V
6、=0 0 1 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 例例4.2 4.2 生成生成三对角矩阵三对角矩阵:V=diag(1 2 3 4)+diag(2 3 4,1)+diag(5 4 3,-1)V=diag(1 2 3 4)+diag(2 3 4,1)+diag(5 4 3,-1)V=V=1 2 0 0 1 2 0 0 5 2 3 0 5 2 3 0 0 4 3 4 0 4 3 4 0 0 3 4 0 0 3 4 例例4.3 4.3 先先建立建立5
7、55 5矩阵矩阵A A,然后将,然后将A A的第的第1 1行元素乘以行元素乘以1 1,第,第2 2行乘以行乘以2 2,第,第5 5行乘以行乘以5 5。命令如下:命令如下:A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19;2,19;D=diag(1,2,3,4,5);D=diag(1,2,3,4,5);D*A%D*A%用用D D左乘左乘A A,对,对A A的每行乘以一个指定常数的每行乘以一个
8、指定常数说明:说明:如果要对如果要对A A的的每每行行元素元素乘以一个常数,可以乘以一个常数,可以通过用一个对角通过用一个对角阵左乘阵左乘矩阵矩阵A A。9 2.2.矩阵的三角阵矩阵的三角阵 (1)(1)下三角矩阵下三角矩阵求求矩阵矩阵A A的下三角阵的的下三角阵的MATLABMATLAB函数是函数是tril(A)tril(A)。求求矩阵矩阵A A第第-k-k条对角线以下的条对角线以下的下三角阵的下三角阵的MATLABMATLAB函数函数是是tril(A,tril(A,-k-k)。(2)(2)上三角矩阵上三角矩阵在在MATLABMATLAB中,提取矩阵中,提取矩阵A A的上三角矩阵的函数是的上
9、三角矩阵的函数是triu(Atriu(A),其,其用法与提取下三角矩阵的函数用法与提取下三角矩阵的函数tril(Atril(A)完全完全相同相同。同样。同样地,地,triu(A,triu(A,k k)可求可求矩阵矩阵A A第第k k条条对角线以上的上三对角线以上的上三角阵角阵10 A=1 2-2;1 1 1;2 2 1;b=diag(A);bans=1 1 1 triu(A)ans=1 2 -2 0 1 1 0 0 1 tril(A)ans=1 0 0 1 1 0 2 2 1求矩阵求矩阵A A的上三角矩阵、对角阵和下三角矩阵的上三角矩阵、对角阵和下三角矩阵 triu(A,1)triu(A,1)
10、ans=ans=0 2 -2 0 2 -2 0 0 1 0 0 1 0 0 0 0 0 0 tril(A,-1)tril(A,-1)ans=ans=0 0 0 0 0 0 1 0 0 1 0 0 2 2 0 2 2 04.2.1 4.2.1 矩阵结构变换矩阵结构变换1.1.矩阵的转置矩阵的转置转置运算符是单撇号()。2.2.矩阵的旋转矩阵的旋转矩阵的旋转利用函数rot90(A,k),功能是将矩阵A旋转90的k倍,当k为1时可省略。3.3.矩阵的左右翻转矩阵的左右翻转对矩阵A实施左右翻转的函数是fliplr(A)。4.4.矩阵的上下翻转矩阵的上下翻转对矩阵A实施上下翻转的函数是flipud(A)
11、。4.2 4.2 矩阵分析矩阵分析12 4.2.2 4.2.2 矩阵的逆与伪逆矩阵的逆与伪逆1.1.矩阵的逆矩阵的逆若若A A为为n*nn*n的非奇异方阵,则的非奇异方阵,则C C=A A-1-1,求解命令为求解命令为C=inv(A)C=inv(A)例例4.4 4.4:求取:求取4 4阶阶HilbertHilbert矩阵的逆矩阵矩阵的逆矩阵 format long;H=hilb(4);H1=inv(H)format long;H=hilb(4);H1=inv(H)H1=H1=1.0e+003*1.0e+003*0.01600000000000 -0.11999999999999 0.23999
12、999999998 -0.13999999999999 0.01600000000000 -0.11999999999999 0.23999999999998 -0.13999999999999 -0.11999999999999 1.19999999999990 -2.69999999999976 1.67999999999984 -0.11999999999999 1.19999999999990 -2.69999999999976 1.67999999999984 0.23999999999998 -2.69999999999976 6.47999999999940 -4.1999999
13、9999961 0.23999999999998 -2.69999999999976 6.47999999999940 -4.19999999999961 -0.13999999999999 1.67999999999984 -4.19999999999961 2.79999999999974 -0.13999999999999 1.67999999999984 -4.19999999999961 2.7999999999997413 4.2.2 4.2.2 矩阵的逆与伪逆矩阵的逆与伪逆2.2.矩阵的伪逆矩阵的伪逆MATLAB中,当矩阵的逆不存在时,会定义它的伪逆。求一个矩阵伪逆的函数是pin
14、v(A)。例例4.5 4.5 求求A A的伪逆,并将结果送的伪逆,并将结果送B B。命令如下:A=3,1,1,1;1,3,1,1;1,1,3,1;B=pinv(A)14 例例4.6 4.6 用求逆矩阵的方法解用求逆矩阵的方法解线性方程组线性方程组AX=bAX=b。命令如下:A=1,2,3;1,4,9;1,8,27;b=5,-2,6;x=inv(A)*b一般情况下,用左除比求矩阵的逆的方法更有效,即x=Ab。15 4.2.3 4.2.3 方阵的行列式方阵的行列式求方阵求方阵A A所对应的行列式的值的函数是所对应的行列式的值的函数是det(A)det(A)。4.2.4 4.2.4 矩阵的秩和迹矩阵
15、的秩和迹设A是一组向量,A的极大无关组中向量的个数为A A的秩的秩MATLABMATLAB中,求矩阵秩的函数是中,求矩阵秩的函数是rank(A)rank(A)。方阵A的主对角线元素之和为A A的迹的迹MATLABMATLAB中,求矩阵的迹的函数是中,求矩阵的迹的函数是trace(A)trace(A)。例如,例如,X=2 2 3;4 5-6;7 8 9X=2 2 3;4 5-6;7 8 9,求,求X X的行列式、秩和迹的行列式、秩和迹1617定理定理(克莱姆克莱姆CramerCramer法则法则)的系数行列式不等于零,即那么线性方程组(1)有解,并且解是唯一的,解可以表示为如果线性方程组18其中
16、 是把系数行列式 D 中第 j 列的元素用方程组右端的常数项代替后所得到的 n 阶行列式,即注意:在利用克莱姆法则解方程组时,(1)方程组中方程的个数与未知数的个数必须相等;(2)系数行列式不能等于零.例例4.7 4.7 用克莱姆用克莱姆(Cramer)(Cramer)方法求解方法求解线性方程组线性方程组Dx=bDx=b。程序如下:程序如下:D=2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2;%D=2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2;%定义系数矩阵定义系数矩阵b=4;6;12;6;%b=4;6;12;6;%定义常数项向量定义常数项向量
17、D1=b,D(:,2:4);%D1=b,D(:,2:4);%用方程组的右端向量置换用方程组的右端向量置换D D的第的第1 1列列D2=D(:,1:1),b,D(:,3:4);%D2=D(:,1:1),b,D(:,3:4);%用方程组的右端向量置换用方程组的右端向量置换D D的第的第2 2列列D3=D(:,1:2),b,D(:,4:4);%D3=D(:,1:2),b,D(:,4:4);%用方程组的右端向量置换用方程组的右端向量置换D D的第的第3 3列列D4=D(:,1:3),b;%D4=D(:,1:3),b;%用方程组的右端向量置换用方程组的右端向量置换D D的第的第4 4列列DD=det(D
18、);DD=det(D);x1=det(D1)/DD;x1=det(D1)/DD;x2=det(D2)/DD;x2=det(D2)/DD;x3=det(D3)/DD;x3=det(D3)/DD;x4=det(D4)/DD;x4=det(D4)/DD;x1,x2,x3,x4x1,x2,x3,x419 4.2.5 4.2.5 向量的范数向量的范数向量向量V V的范数为:的范数为:MATLABMATLAB中,中,求向量范数的求向量范数的函数函数是是norm(V,Rnorm(V,R),norm(V),norm(V)。4.2.4 4.2.4 矩阵的范数矩阵的范数矩阵矩阵A A 的范数为:的范数为:MATL
19、ABMATLAB中,求矩阵范数的函数是中,求矩阵范数的函数是norm(A,R),norm(A)norm(A,R),norm(A)。20 例例4.8 4.8 已知已知V V,求,求V V的的3 3种范数。种范数。命令如下:命令如下:V=-1,1/2,1;V=-1,1/2,1;v1=norm(V,1)v1=norm(V,1)%求求V V的的1 1范数范数sum(abs(Vi)v2=norm(V)v2=norm(V)%求求V V的的2 2范数范数sqrt(sum(Vi.2)vinf=norm(V,inf)vinf=norm(V,inf)%求求范数范数max(abs(Vi)例例4.9 4.9 求矩阵求
20、矩阵A A的三种范数。的三种范数。命令如下:命令如下:A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19;A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19;a1=norm(A,1)%a1=norm(A,1)%求求A A的的1 1范数范数a2=norm(A)%a2=norm(A)%求求A A的的2 2范数范数ainf=norm(A,inf)%ainf=norm(A,inf)%求求A A的的范数范数21 4.2.7 4.2.7 矩阵的
21、特征值与特征向量矩阵的特征值与特征向量MATLABMATLAB中,计算矩阵中,计算矩阵A A的特征值和特征向量的的特征值和特征向量的函数是函数是eig(A)eig(A),常用的调用格式,常用的调用格式有有2 2种种:(1)E=eig(A)(1)E=eig(A)求矩阵求矩阵A A的全部特征值,构成向量的全部特征值,构成向量E E。(2)V,D=eig(A)(2)V,D=eig(A)求矩阵求矩阵A A的全部特征值,构成对角阵的全部特征值,构成对角阵D D,并求,并求A A的特征向量构成的特征向量构成V V的列向量的列向量。例:例:求求A A的特征值和特征向量。的特征值和特征向量。命令如下:A=1,
22、2,2;1,-1,1;4,-12,1;E=eig(A)V,D=eig(A)22例例4.10 4.10 求求对称矩阵对称矩阵A A的特征值的特征值和特征向量和特征向量。命令如下:命令如下:A A=2,1,4,6;1,2,1,5;4,1,3,4;6,5,4,2;=2,1,4,6;1,2,1,5;4,1,3,4;6,5,4,2;Q,D=eig(A)Q,D=eig(A)%若执行如下命令,我们会有新的发现若执行如下命令,我们会有新的发现Q*D*QQ*D*Qans=ans=2.0000 1.0000 4.0000 6.0000 2.0000 1.0000 4.0000 6.0000 1.0000 2.00
23、00 1.0000 5.0000 1.0000 2.0000 1.0000 5.0000 4.0000 1.0000 3.0000 4.0000 4.0000 1.0000 3.0000 4.0000 6.0000 5.0000 4.0000 2.0000 6.0000 5.0000 4.0000 2.0000结果与结果与A A相等,说明确实将相等,说明确实将A A分解为了分解为了QDQQDQ的乘积的乘积。234.3 4.3 矩阵分解矩阵分解n4.3.1 4.3.1 LULU分解分解矩阵的三角分解又称矩阵的三角分解又称LULU分解,它的目的是将一个矩分解,它的目的是将一个矩阵分解成一个下三角矩
24、阵阵分解成一个下三角矩阵L L和一个上三角矩阵和一个上三角矩阵U U的乘的乘积,即积,即A=LUA=LU。MatlabMatlab使用函数使用函数lu lu实现实现LULU分解,其分解,其格式有格式有2 2种:种:L,U=lu(A)L,U=lu(A)其中其中U U为上三角阵,为上三角阵,L L为下三角阵或其变换形式,为下三角阵或其变换形式,满足满足LU=ALU=A。L,U,P=lu(A)L,U,P=lu(A)其中,其中,U U为上三角阵,为上三角阵,L L为下三角阵,为下三角阵,P P为单位矩为单位矩阵的行变换矩阵,满足阵的行变换矩阵,满足LU=PALU=PA。4.3 4.3 矩阵分解矩阵分解
25、例例4-11 4-11 实现矩阵实现矩阵A A的的LULU分解分解命令如下:命令如下:A=1 2 3;4 5 6;7 8 9;A=1 2 3;4 5 6;7 8 9;L,U=lu(A)L,U=lu(A)L,U,P=lu(A)L,U,P=lu(A)4.3 4.3 矩阵分解矩阵分解n4.3.2 4.3.2 CholeskyCholesky分解分解如果如果A A为为n n阶阶对称正定矩阵对称正定矩阵,则存在一个,则存在一个实的非奇异实的非奇异上三角阵上三角阵R R,满足,满足R*R=AR*R=A,称为,称为CholeskyCholesky分解分解MatlabMatlab使用函数使用函数cholcho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 河南 工业大学 ppt 课件
限制150内