《第三章matlab矩阵运算优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第三章matlab矩阵运算优秀PPT.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容:主要内容:矩阵运算;矩阵运算;矩阵元素运算;矩阵元素运算;第第3 3章章 数学运算数学运算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)norm(V,inf)(3)n
2、orm(V,inf):计算向量:计算向量V V的的范数。范数。例例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(x,inf);norm(x,inf);%范数范数 norm(x);norm(x);e=x-y;e=x-y;norm(e);norm(e);2 2矩阵的秩:矩阵的秩:矩阵中线性无关的列(行矩阵中线性无关的列(行)向量个数向量个数,
3、称为列(行)秩。称为列(行)秩。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矩阵的行列式:矩阵的行列式:MatlabMatlab中用函数中用函数detdet()来计算矩阵的行列式。()来计算矩阵的行列式。例例3-3 3-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的行列式。的行列式。det(eye(4);det(eye(4);det(magic(4);det(magic(4);det(A);det(A);4 4矩阵的行列迹:矩阵的行列迹:矩阵的迹定义为对角元素之和。矩阵的迹定义为对角元素之和。MatlabMatlab中用函数中用函数tracetrace()()来计算矩阵的行列式。来计算矩阵的行列式。例例3-4 3-4 求向量求向量eyeeye(4)4),magicmagic(4 4)和)和A=1,2,3
5、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=IZZ=I,则称,则称 矩阵矩阵Z Z为矩阵为矩阵A A的化零矩阵。的化零矩阵。MatlabMatlab中用函数中用函数nullnull()来计()来计算矩阵的化零矩阵。算矩阵的化零矩阵。例例3-5 3-5 求矩阵求矩阵A=1,2,3;4
6、,5,6;7,8,9A=1,2,3;4,5,6;7,8,9的化零矩阵。的化零矩阵。Z=null(A)Z=null(A)验证验证AZ=0AZ=0的具体代码如下:的具体代码如下:AZ=A*Z AZ=A*Z 验证验证ZTZZTZ的具体代码如下:的具体代码如下:ZTZ=Z*Z ZTZ=Z*Z 6 6矩阵的正交空间:矩阵的正交空间:矩阵矩阵A A的正交空间的正交空间Q Q满足满足QTQ=IQTQ=I,且矩阵,且矩阵Q Q与与A A具有相同的列具有相同的列基底,基底,MatlabMatlab中用函数中用函数orthorth()来计算正交空间()来计算正交空间Q Q。例例3-6 3-6 求矩阵求矩阵A1=1
7、,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=orth(A1)Q=orth(A1)R=orth(A2)R=orth(A2)7 7矩阵的简化化梯形式:矩阵的简化化梯形式:矩阵矩阵A A的简化化梯形式为的简化化梯形式为 ,其中,其中 为为r r阶单位矩阵。阶单位矩阵。MatlabMatlab 中用函数中用函数rref()rref()来计算矩阵的简化梯形形式来计算矩阵的简化梯形形式 例例3-7 3-7 求矩阵求矩阵A1=1
8、,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=rref(A1)Q=rref(A1)R=rref(A2)R=rref(A2)9 9矩阵空间之间的角度:矩阵空间之间的角度:矩阵空间之间的角度代表具有相同行数的两个矩阵线性矩阵空间之间的角度代表具有相同行数的两个矩阵线性相关程度,夹角越小代表线性相关度越高。相关程度,夹角越小代表线性相关度越高。MatlabMatlab中用函中用函数数subspacesubspace()来计
9、算矩阵空间之间的角度。()来计算矩阵空间之间的角度。例例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,A2)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 左除
10、XA=BX=B/A 右除3-by-3的例子线性方程组的解结构线性方程组的解结构齐次线性方程组的解结构齐次线性方程组的解结构非齐次线性方程组的解结构非齐次线性方程组的解结构1.1.齐次线性方程组的解结构齐次线性方程组的解结构例例3-103-10.判别方程组判别方程组有无非零解有无非零解,若有若有,写出其通解写出其通解.解解 在在MATLABMATLAB中输入该方程组的系数矩阵中输入该方程组的系数矩阵A A并将它化为最简行并将它化为最简行阶梯形矩阵阶梯形矩阵,所用吩咐如下所用吩咐如下: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;rref(
11、A)rref(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*B(:,1)+k2*B(:,2)+k3*B(:,3)X=k1+k2+5*k3 -2*k1-2k2-6k3 k1 k2 k3即即为方程组的通解为方程组的通解,其中其中k1,k2,k
12、3k1,k2,k3为随意实数为随意实数.2.2.非齐次线性方程组的解结构非齐次线性方程组的解结构例例3-123-12.求解方程组求解方程组解解 在在MatlabMatlab中输入系数矩阵及常数列向量中输入系数矩阵及常数列向量,并检验系数矩阵并检验系数矩阵是否逆是否逆,所用吩咐及结果如下所用吩咐及结果如下 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;det(A)det(A)%检验检验A A是否可逆是否可逆ans=ans=2 2系数矩阵行列式值等于系数矩阵行列式值等于2,2,是可逆的是可逆的,则可以用矩阵相除来求解则可以用矩阵相除
13、来求解.X=AbX=1 2 -1即是原方程组的解即是原方程组的解.3.1.2 3.1.2 矩阵分解矩阵分解矩阵分解:把矩阵分解成比较简洁或对它性质比较熟悉的若干矩阵分解:把矩阵分解成比较简洁或对它性质比较熟悉的若干矩阵的乘积的形式;矩阵的乘积的形式;1 1CholeskyCholesky分解:分解:CholeskyCholesky分解是把对称正定矩阵表示成上三角矩阵的转分解是把对称正定矩阵表示成上三角矩阵的转置与其本身的乘积,即:置与其本身的乘积,即:A=RA=RT TR R,在,在MatlabMatlab中用函数中用函数cholchol来计算来计算CholeskyCholesky分解分解 例
14、例3-13 3-13 求矩阵求矩阵A=pascalA=pascal(4 4)的)的CholeskyCholesky分解,分解,A=pascal(4)A=pascal(4)R=chol(A)R=chol(A)R R*R R 2 2LULU分解:分解:LU LU分解是将随意一个方正分解是将随意一个方正A A分解成为一个交换下三角矩阵分解成为一个交换下三角矩阵L(L(或是排列或是排列(permuted)(permuted)的上三角形矩阵的上三角形矩阵)和一个上三角矩和一个上三角矩阵阵U U的乘积,的乘积,A=LUA=LU,在,在MatlabMatlab中用函数中用函数lulu来计算来计算LULU分解
15、分解 例例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=lu(A)L1,U1=lu(A)L1*U1 L1*U1 3 3奇异分解:奇异分解:奇异值分解就是将奇异值分解就是将 的矩阵的矩阵A A分解为分解为U*S*VU*S*V,其中,其中U U 为为 的酉矩阵,的酉矩阵,V V为为 的酉矩阵,的酉矩阵,S S为为 ,并,并可以表示如下:可以表示如下:,其中,其中 ,r=rankr=rank(A)A),MatlabMatlab中奇异值是有函数中奇异值是有函数svdsvd()实现()实现的。用的。用svd
16、svd计算矩阵计算矩阵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=SVD(A)4 4QRQR分解:分解:QR分解法是将矩阵分解成一个正规正交矩阵与上三角形分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵矩阵,所以称为所以称为QR分解法分解法,与此正规正交矩阵的通用符号与此正规正交矩阵的通用符号Q有关。有关。Matlab以以qr函数来执行函数来执行QR分解法,分解法,其语法为其语法为Q,R=qr(A)。例例3-153-15 求矩阵求矩阵A=1
17、4 2;5 6 9A=1 4 2;5 6 9的奇异分解,的奇异分解,U,S=qr(A)U,S=qr(A)矩阵的特征值和特征向量矩阵的特征值和特征向量1 1矩阵的特征值与特征向量矩阵的特征值与特征向量在在MATLABMATLAB中,计算矩阵中,计算矩阵A A的特征值和特征向量的函数是的特征值和特征向量的函数是eig(A)eig(A),常用的调用格式有,常用的调用格式有3 3种:种:(1)E=eig(A)(1)E=eig(A):求矩阵:求矩阵A A的全部特征值,构成向量的全部特征值,构成向量E E。(2)V,D=eig(A)(2)V,D=eig(A):求矩阵:求矩阵A A的全部特征值,构成对角阵的
18、全部特征值,构成对角阵D D,并求,并求A A的特征向量构成的特征向量构成V V的列向量。的列向量。2 2 (3)V,D=eig(A,nobalance)(3)V,D=eig(A,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的特的
19、特征值和特征向量征值和特征向量 V,D=eig(A);V,D=eig(A);例例3-17 3-17 用求特征值的方法解方程。用求特征值的方法解方程。3x5-7x4+5x2+2x-18=03x5-7x4+5x2+2x-18=0p=3,-7,0,5,2,-18;p=3,-7,0,5,2,-18;A=compan(p);%AA=compan(p);%A的伴随矩阵的伴随矩阵x1=eig(A)%x1=eig(A)%求求A A的特征值的特征值x2=roots(p)%x2=roots(p)%干脆求多项式干脆求多项式p p的零点的零点例例3-183-18.求解方程组求解方程组解解 先用先用MatlabMatl
20、ab函数函数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=lu(A);%A=LU,L L,U=lu(A);%A=LU,L为
21、上三角阵为上三角阵,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即即为该非齐次方程组的通解为该非齐次方程组的通解,其中其中k1,k2k1,k2为随意实数为随意实数.3.2 3.2 矩阵元素运算矩阵元素运算矩阵运算主要是对矩阵里的每个元素进行运算!矩阵运算主要是对矩阵里的每个元素进行运算!三角函数(三角函数(p
22、48p48)例例3-183-18 计算矩阵计算矩阵A=6,12,19;-9,-20,-33;4,9,15A=6,12,19;-9,-20,-33;4,9,15每个每个元素的正弦元素的正弦,其中元素值的单位为弧度。其中元素值的单位为弧度。Y=sin(A);Y=sin(A);指数和对数函数(指数和对数函数(p48-49p48-49)例例3-193-19计算矩阵计算矩阵A=6,12,19;-9,-20,-33;4,9,15A=6,12,19;-9,-20,-33;4,9,15每个元每个元素的正指数和对数素的正指数和对数,其中元素值的单位为弧度。其中元素值的单位为弧度。Y=exp(A);Y=exp(A
23、);Y1=log2(abs(A);Y1=log2(abs(A);截断和求余函数(截断和求余函数(p49-50p49-50)例例3-213-21分别运用函数分别运用函数mod()mod()和和rem(),rem(),对标量除法对标量除法-5/2-5/2进行进行求余。求余。rem(-5,2)rem(-5,2)mod(-5,2)mod(-5,2)例例3-22 3-22 计算向量计算向量a=-4:2:6a=-4:2:6每个元素的符号。每个元素的符号。a=-4:2:6;a=-4:2:6;B=sign(a)B=sign(a)3.2.3 3.2.3 坐标变换函数(坐标变换函数(P52P52)例例3-23 3-23 将迪卡尔坐标系中(将迪卡尔坐标系中(1 1,1 1,1 1)分别转换到球坐)分别转换到球坐标系和极坐标中。标系和极坐标中。THETA,PHI,R=cart2sph(1,1,1)THETA,PHI,R=cart2sph(1,1,1)P=THETA,PHI,RP=THETA,PHI,RTHETA,PHI,Z=cart2pol(1,1,1)THETA,PHI,Z=cart2pol(1,1,1)Q=THETA,PHI,ZQ=THETA,PHI,ZR=P;QR=P;Q
限制150内