线性代数中的数值计算问题.ppt

上传人:wuy****n92 文档编号:73611921 上传时间:2023-02-20 格式:PPT 页数:37 大小:270.13KB
返回 下载 相关 举报
线性代数中的数值计算问题.ppt_第1页
第1页 / 共37页
线性代数中的数值计算问题.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《线性代数中的数值计算问题.ppt》由会员分享,可在线阅读,更多相关《线性代数中的数值计算问题.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十讲第十讲 matlab matlab 求解线性代数求解线性代数【引 例】求下列三阶线性代数方程组的近似解求下列三阶线性代数方程组的近似解MATLAB程序为:A=2-5 4;1 5-2;-1 2 4;b=5;6;5;x=Abn在在MATLAB命命令令窗窗口口,先先输输入入下下列列命命令令构构造造系系数矩阵数矩阵A和右端向量和右端向量b:nA=2-5 4;1 5-2;-1 2 4A=2-5 4;1 5-2;-1 2 4nA=2 -5 4A=2 -5 4n 1 5 -2 1 5 -2n -1 2 4 -1 2 4nb=5;6;5b=5;6;5nb=5b=5n 6 6n 5 5n然后只需输入命令然

2、后只需输入命令x=Ab即可求得解即可求得解x:nx=Abx=Abnx=2.7674x=2.7674n 1.1860 1.1860n 1.3488 1.3488一、特殊矩阵的实现n1.零矩阵:所所有有元元素素值值为为零零的的矩矩阵阵称称为为零零矩矩阵阵。零零矩矩阵阵可可以以用用zeroszeros函函数数实实现现。zeroszeros是是MATLABMATLAB内内部部函函数数,使使用用格格式式如如下:下:nzeros(m)zeros(m):产生:产生m m阶零矩阵;阶零矩阵;nzeros(m,n)zeros(m,n):产生:产生m mx xn n阶零矩阵,当阶零矩阵,当m=nm=n时等同于时等

3、同于zeros(m)zeros(m);nzeros(size(A)zeros(size(A):产生与矩阵:产生与矩阵A A同样大小的零矩阵。同样大小的零矩阵。一、一、特殊矩阵的实现特殊矩阵的实现n常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;还有矩阵等,这类特殊矩阵在线性代数中具有通用性;还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)(Hilbert)矩阵、范德蒙矩阵、范德蒙(Vandermonde)(Vandermonde)矩阵等。

4、矩阵等。n2.幺矩阵:所有元素值为所有元素值为1的矩阵称为幺矩阵。的矩阵称为幺矩阵。幺矩阵可以用幺矩阵可以用ones函数实现。它的调用格式与函数实现。它的调用格式与zeros函数一样。函数一样。n【例1】试试用用ones分分别别建建立立3 2阶阶幺幺矩矩阵阵、和和与前例矩阵与前例矩阵A同样大小的幺矩阵。同样大小的幺矩阵。n用用ones(3,2)建立一个建立一个3 2阶幺阵:阶幺阵:nones(3,2)ones(3,2)%一个一个3 3 2 2阶幺阵阶幺阵nans=1 1ans=1 1n 1 1 1 1n 1 1 1 1一、一、特殊矩阵的实现特殊矩阵的实现n3.单单位位矩矩阵阵:主主对对角角线线

5、的的元元素素值值为为1、其其余余元元素素值值为为0的的矩矩阵阵称称为为单单位位矩矩阵阵。它它可可以以用用MATLAB内内部部函函数数eye建建立立,使用格式与使用格式与zeros相同。相同。n4.数数量量矩矩阵阵:主主对对角角线线的的元元素素值值为为一一常常数数d、其其余余元元素素值值为为0的的矩矩阵阵称称为为数数量量矩矩阵阵。显显然然,当当d=1时时,即即为为单单位位矩矩阵,故数量矩阵可以用阵,故数量矩阵可以用eye(m)*d或或eye(m,n)*d建立。建立。n5.对对角角阵阵:对对角角线线的的元元素素值值为为常常数数、其其余余元元素素值值为为0的的矩矩阵阵称称为为对对角角阵阵。我我们们可

6、可以以通通过过MATLAB内内部部函函数数diag,利利用用一一个个向向量量构构成成对对角角阵阵;或或从从矩矩阵阵中中提提取取某某对对角角线线构成一个向量。使用构成一个向量。使用n格式为格式为diag(V)和和diag(V,k)两种。两种。n6.用一个向量用一个向量V构成一个对角阵构成一个对角阵n设设V为具有为具有m个元素的向量,个元素的向量,diag(V)将产生一个将产生一个m阶阶对角阵,其主对角线的元素值即为向量的元素值;对角阵,其主对角线的元素值即为向量的元素值;diag(V,k)将产生一个将产生一个nxn(n=m+|k|,k为一整数为一整数)阶阶对角阵,其第对角阵,其第k条对角线的元素

7、值即为向量的元素值。注条对角线的元素值即为向量的元素值。注意:当意:当k0,则该对角线位于主对角线的上方第,则该对角线位于主对角线的上方第k条;当条;当k0,该对角线位于主对角线的下方第,该对角线位于主对角线的下方第|k|条;当条;当k=0,则等同于,则等同于diag(V)。用。用diag建立的对角阵必是方阵。建立的对角阵必是方阵。一、一、特殊矩阵的实现特殊矩阵的实现n【例2】已已知知向向量量v,试试建建立立以以向向量量v作作为为主主对对角角线线的的对对角角阵阵A;建建立立分分别别以以向向量量v作作为为主主对对角角线线两两侧侧的的对对角角线线的的对角阵对角阵B和和C。nMATLAB程序如下:程

8、序如下:nv=1;2;3;%v=1;2;3;%建立一个已知的向量建立一个已知的向量A AnA=diag(v)A=diag(v)nA=1 0 0A=1 0 0n 0 2 0 0 2 0n 0 0 3 0 0 3nB=diag(v,1)B=diag(v,1)nB=0 1 0 0B=0 1 0 0n 0 0 2 0 0 0 2 0n 0 0 0 3 0 0 0 3n 0 0 0 0 0 0 0 0nC=diag(v,-1)C=diag(v,-1)nC=0 0 0 0C=0 0 0 0n 1 0 0 0 1 0 0 0n 0 2 0 0 0 2 0 0n 0 0 3 0 0 3 0 0%按各种对角线情

9、况构成相应的对角阵A、B和Cn7.从矩阵中提取某对角线从矩阵中提取某对角线n我们也可以用我们也可以用diag从矩阵中提取某对角线构成从矩阵中提取某对角线构成一个向量。设一个向量。设A为为m n阶矩阵,阶矩阵,diag(A)将从将从矩阵矩阵A中提取其主对角线产生一个具有中提取其主对角线产生一个具有min(m,n)个元素的向量。个元素的向量。diag(A,k)的功能是:的功能是:n当当k0,则将从矩阵,则将从矩阵A中提取位于主对角线的中提取位于主对角线的上方第上方第k条对角线构成一个具有条对角线构成一个具有n-k个元素的向量;个元素的向量;当当k0,则将从矩阵,则将从矩阵A中提取位于主对角线的下中

10、提取位于主对角线的下方第方第|k|条对角线构成一个具有条对角线构成一个具有m+k个元素的向个元素的向量;当量;当k=0,则等同于,则等同于diag(A)。n【例3】已已知知矩矩阵阵A,试试从从矩矩阵阵A分分别别提提取取主主对对角线及它两侧的对角线构成向量角线及它两侧的对角线构成向量B、C和和D。nMATLAB程序如下:程序如下:nA=1 2 3;4 5 6;%A=1 2 3;4 5 6;%建立一个已知的建立一个已知的2 2 3 3阶矩阵阶矩阵A An%按各种对角线情况构成向量按各种对角线情况构成向量B B、C C和和D DnB=diag(A)B=diag(A)nB=1B=1n 5 5nC=di

11、ag(A,1)C=diag(A,1)nC=2C=2n 6 6nD=diag(A,-1)D=diag(A,-1)nD=4D=4n8.上三角阵:使用格式为上三角阵:使用格式为triu(A)、triu(A,k)n设设A为为m n阶矩阵,阶矩阵,triu(A)将从矩阵将从矩阵A中提取中提取主对角线之上的上三角部分构成一个主对角线之上的上三角部分构成一个m n阶上阶上三角阵;三角阵;triu(A,k)将从矩阵将从矩阵A中提取主对角线第中提取主对角线第|k|条对角线之上的上三角部分构成一个条对角线之上的上三角部分构成一个m n阶阶上三角阵。注意:这里的上三角阵。注意:这里的k与与diag(A,k)的用法类

12、的用法类似,当似,当k0,则该对角线位于主对角线的上方第,则该对角线位于主对角线的上方第k条;当条;当k0,该对角线位于主对角线的下方第,该对角线位于主对角线的下方第|k|条;当条;当k=0,则等同于,则等同于triu(A)n【例4】试试分分别别用用triu(A)、triu(A,1)和和、triu(A,-1)从从矩阵矩阵A提取相应的上三角部分构成上三角阵提取相应的上三角部分构成上三角阵B、C和和D。nMATLAB程序如下:程序如下:nA=1 2 3;4 5 6;7 8 9;9 8 7;%A=1 2 3;4 5 6;7 8 9;9 8 7;%一个已知的一个已知的4 4 3 3阶矩阵阶矩阵A An

13、%构成各种情况的上三角阵构成各种情况的上三角阵B B、C C和和D DnB=triu(A)B=triu(A)nB=1 2 3B=1 2 3n 0 5 6 0 5 6n 0 0 9 0 0 9n 0 0 0 0 0 0nC=triu(A,1)C=triu(A,1)nD=triu(A,-1)D=triu(A,-1)n9.下三角阵:使用格式为下三角阵:使用格式为tril(A)、tril(A,k)ntril的的功功能能是是从从矩矩阵阵A中中提提取取下下三三角角部部分分构构成成下下三三角角阵阵。用法与用法与triu相同。相同。n10.空矩阵n在在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵

14、在里,把行数、列数为零的矩阵定义为空矩阵。空矩阵在数学意义上讲是空的,但在数学意义上讲是空的,但在MATLAB里确是很有用的。例如里确是很有用的。例如nA=0.1 0.2 0.3;0.4 0.5 0.6;A=0.1 0.2 0.3;0.4 0.5 0.6;nB=find(A1.0)B=find(A1.0)nB=B=n这里这里 是空矩阵的符号,是空矩阵的符号,B=find(A1.0)表示列出矩阵表示列出矩阵A中值大中值大于于1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外,也可以将空矩阵赋给一个变量,如:外,也可以将空矩阵赋给一

15、个变量,如:nB=B=nB=B=HilbertHilbert矩阵及逆矩阵及逆HilbertHilbert矩阵矩阵Vandermonde Vandermonde 矩阵矩阵【例【例4-4】二、矩阵的特征值 与特征向量n对对于于NN阶阶方方阵阵A,所所谓谓A的的特特征征值值问问题题是是:求求数数和和N维维非非零零向向量量x(通通常常为为复复数数),使使之之满满足下式:足下式:nAx=xn则则称称为为矩矩阵阵A的的一一个个特特征征值值(特特征征根根),而而非非零向量零向量x为矩阵为矩阵A的特征值的特征值所对应的特征向量。所对应的特征向量。n对对一一般般的的NN阶阶方方阵阵A,其其特特征征值值通通常常为

16、为复复数数,若若A为实对称矩阵,则为实对称矩阵,则A的特征值为实数。的特征值为实数。nMATLAB提提供供的的内内部部函函数数eig可可以以用用来来计计算算特特征征值值与与特特征征向向量量。eig函函数数的的使使用用格格式式有有五五种种,其其中中常常见见的的有有E=eig(A)、V,D=eig(A)和和V,D=eig(A,nobalance)三三种种,另另外外两两种种格格式式用用来来计计算算矩矩阵阵的的广广义义特特征征值值与与特特征征向向量量:E=eig(A,B)和和V,D=eig(A,B)。n(1)E=eig(A):由由eig(A)返返回回方方阵阵A的的N个个特特征征值,构成向量值,构成向量

17、E;n(2)V,D=eig(A):由由eig(A)返返回回方方阵阵A的的N个个特特征征值值,构构成成N N阶阶对对角角阵阵D,其其对对角角线线上上的的N个个元元素素即即为为相相应应的的特特征征值值,同同时时将将返返回回相相应应的的特特征征向向量量赋赋予予NxN阶阶方方阵阵V的的对对应应列列,且且A、V、D满满足足AV=VD;n(3)V,D=eig(A,nobalance):本本格格式式的的功功能能与与格格式式(2)一一样样,只只是是格格式式(2)是是先先对对A作作相相似似变变换换(balance),然然后后再再求求其其特特征征值值与与相相应应的的特特征征向向量;而本格式则事先不作相似变换;量;

18、而本格式则事先不作相似变换;n(4)E=eig(A,B):由由eig(A,B)返返回回NN阶阶方方阵阵A和和B的的N个广义特征值,构成向量个广义特征值,构成向量E。n(5)V,D=eig(A,B):由由eig(A,B)返返回回方方阵阵A和和B的的N个个广广义义特特征征值值,构构成成N N阶阶对对角角阵阵D,其其对对角角线线上上的的N个个元元素素即即为为相相应应的的广广义义特特征征值值,同同时时将将返返回回相相应应的的特特征征向向量量构构成成NN阶阶满满秩秩矩矩阵阵,且且 满足满足AV=BVD。n【例5】试试用用格格式式(1)求求下下列列对对称称矩矩阵阵A的的特特征征值值;用用格格式式(2)求求

19、A的的特特征征值值和和相相应应的的特特征征向向量量,且验证之。且验证之。nA=A=n 1.0000 1.0000 0.5000 1.0000 1.0000 0.5000n 1.0000 1.0000 0.2500 1.0000 1.0000 0.2500n 0.5000 0.2500 2.0000;0.5000 0.2500 2.0000;n执执行行eig(A)将将直直接接获获得得对对称称矩矩阵阵A的的三三个个实实特特征值:征值:neig(A)eig(A)nans=-0.0166ans=-0.0166n 1.4801 1.4801n 2.5365 2.5365n而而下下列列命命令令则则将将其其

20、三三个个实实特特征征值值作作为为向向量量赋赋予予变量变量E:nE=eig(A)E=eig(A)nE=-0.0166E=-0.0166n 1.4801 1.4801n 2.5365 2.5365矩阵的秩矩阵的秩矩阵的迹矩阵的迹三、行列式的值nMATLAB提提供供的的内内部部函函数数det用用来来计计算算矩矩阵阵的的行行列列式式的的值值。设设矩矩阵阵A为为一一方方阵阵(必必须须是是方方阵阵),求求矩矩阵阵A的的行行列列式式值值的的格格式式为为:det(A)。注注意意:本本函函数数同同样样能能计计算算通通过过构构造造出出的的稀稀疏疏矩矩阵阵的的行行列列式式的的值值。关关于于如如何何构构造造稀稀疏疏矩

21、矩阵阵,将在本章最后一节介绍。将在本章最后一节介绍。n【例6】利利用用随随机机函函数数产产生生一一个个三三阶阶方方阵阵A,然然后后计计算算方阵之行列式的值。方阵之行列式的值。nA=rand(3)A=rand(3)nA=A=n 0.9501 0.4860 0.4565 0.9501 0.4860 0.4565n 0.2311 0.8913 0.0185 0.2311 0.8913 0.0185n 0.6068 0.7621 0.8214 0.6068 0.7621 0.8214ndet(A)det(A)nans=ans=n 0.4289 0.4289四、矩阵求逆及其 线性代数方程组求解n1.矩阵

22、求逆n若方阵若方阵A,B满足等式满足等式nA*B=B*A=I (I为单位矩阵为单位矩阵)n则则称称A为为B的的逆逆矩矩阵阵,或或称称B为为A的的逆逆矩矩阵阵。这这时时A,B都都称称为为可可逆逆矩矩阵阵(或或非非奇奇异异矩矩阵阵、或或满满秩秩矩矩阵阵),否否则则称称为为不不可可逆逆矩矩阵阵(或或奇奇异异矩矩阵阵、或或降降秩矩阵秩矩阵)。n【例7】试试用用inv函函数数求求方方阵阵A的的逆逆阵阵A-1-1赋赋值值给给B,且且验验证证A与与A-1-1是互逆的。是互逆的。nA=1-1 1;5-4 3;2 1 1;A=1-1 1;5-4 3;2 1 1;nB=inv(A)B=inv(A)nB=B=n -

23、1.4000 0.4000 0.2000 -1.4000 0.4000 0.2000n 0.2000 -0.2000 0.4000 0.2000 -0.2000 0.4000n 2.6000 -0.6000 0.2000 2.6000 -0.6000 0.2000nA*BA*Bnans=ans=n 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000n 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000n 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000B*Aans=1.0000 0.0000 0.

24、0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000n2.矩阵求逆解法n利利用用求求系系数数矩矩阵阵A的的逆逆阵阵A-1-1,我我们们可可以以得得到到矩矩阵阵求求逆逆解解法。对于线性代数方程组法。对于线性代数方程组Ax=b,等号两侧各左乘,等号两侧各左乘A-1-1,有:,有:nA-1-1Ax=A-1-1bn由于由于A-1-1A=I,故得:,故得:nx=A-1-1bn【例8】试试用用矩矩阵阵求求逆逆解解法法求求解解下下例例矩矩阵阵A为为系系数矩阵的线性代数方程组数矩阵的线性代数方程组Ax=b的解。的解。nA=1-1 1;5-4 3;2 1 1;A=1-1

25、1;5-4 3;2 1 1;nb=2;-3;1;b=2;-3;1;nx=inv(A)*bx=inv(A)*bnx=x=n -3.8000 -3.8000n 1.4000 1.4000n 7.2000 7.2000n3.直接解法直接解法n对对于于线线性性代代数数方方程程组组Ax=b,我我们们可可以以运运用用左左除除运运算算符符“”象解一元一次方程那样简单地求解:象解一元一次方程那样简单地求解:n x=Abn当当系系数数矩矩阵阵A为为NN的的方方阵阵时时,MATLAB会会自自行行用用高高斯斯消消去去法法求求解解线线性性代代数数方方程程组组。若若右右端端项项b为为N1的的列列向向量量,则则x=Ab可

26、可获获得得方方程程组组的的数数值值解解x(N*1的的列列向向量量);若若右右端端项项b为为NM的的矩矩阵阵,则则x=Ab可可同同时时获获得得同同一一系系数数矩矩阵阵A、M个个方方程程组组数数值值解解x(为为NM的的矩矩阵阵),即即x(:,j)=Ab(:,j),j=1,2,M。n解法1:分别解方程组分别解方程组(1)Ax=b1;(2)Ay=b2nA=1-1 1;5-4 3;2 1 1;A=1-1 1;5-4 3;2 1 1;nb1=2;-3;1;b1=2;-3;1;nb2=3;4;-5;b2=3;4;-5;nx=Ab1x=Ab1nx=x=n -3.8000 -3.8000n 1.4000 1.4

27、000n 7.2000 7.2000y=Ab2y=Ab2 -3.6000 -3.6000 -2.2000 -2.2000 4.4000 4.4000得两个线性代数方程组的解:(1)x1=-3.8,x2=1.4,x3=7.2;(2)y1=-3.8,y2=1.4,y3=7.2四、矩阵求逆及其线性代数方程组求解四、矩阵求逆及其线性代数方程组求解n解法2:将两个方程组连在一起求解:将两个方程组连在一起求解:Az=bnb=2 3;-3 4;1-5b=2 3;-3 4;1-5nz=Abz=Abnz=z=n -3.8000 -3.6000 -3.8000 -3.6000n 1.4000 -2.2000 1.4000 -2.2000n 7.2000 4.4000 7.2000 4.4000n很很明明显显,这这里里的的解解z的的两两个个列列向向量量便便是是前前面面分分别别求得的两组解求得的两组解x和和y 上机作业上机作业n1、解方程组、解方程组Axb,分别用求逆解法与直接解,分别用求逆解法与直接解法求其解。法求其解。2 向量向量C=4 5 6,生成以向量生成以向量C作为主对角线的对角阵作为主对角线的对角阵A;以及以向量以及以向量C作为主对角线上方第二条对角线元素的矩作为主对角线上方第二条对角线元素的矩阵阵B。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁