第5章 数值计算功PPT讲稿.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第5章 数值计算功PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第5章 数值计算功PPT讲稿.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章数值计算功第1页,共78页,编辑于2022年,星期一n n MATLAB MATLAB应用相当广泛的一个领域是解决数值计算问题。这应用相当广泛的一个领域是解决数值计算问题。这是因为是因为MATLAB MATLAB 对处理数组具有非凡的能力,使其成为许多对处理数组具有非凡的能力,使其成为许多科学与工程应用中的一个有力的工具。本章主要介绍如何运科学与工程应用中的一个有力的工具。本章主要介绍如何运用用MATLABMATLAB解决线性代数以及概率统计中的相关问题。解决线性代数以及概率统计中的相关问题。n n 【学习目标】【学习目标】n n能够创执行矩阵运算及掌握稀疏矩阵的基本操作。能够创执行矩阵
2、运算及掌握稀疏矩阵的基本操作。n n学会运用学会运用MATLABMATLAB解决线性代数的相关问题。解决线性代数的相关问题。n n掌握如何运用掌握如何运用MATLABMATLAB实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极点的求解。点的求解。n n掌握利用统计工具箱解决概率统计的相关基本问题。掌握利用统计工具箱解决概率统计的相关基本问题。第2页,共78页,编辑于2022年,星期一5.1 矩阵及其运算n nMATLAB最基本、最重要的功能就是进行矩阵运算。所有的数值功能都是以矩阵为基本单位实现的。第3页,共78页,编辑于2022年,星期一5.1.1矩阵生成n n1.1.直接生
3、成直接生成直接生成直接生成n n矩阵的生成可以通过在方括号矩阵的生成可以通过在方括号中输入元素实现,不同行之间要用分号隔开,不中输入元素实现,不同行之间要用分号隔开,不同列用空格分开。同列用空格分开。n n【例【例5-15-1】生成一个】生成一个2323矩阵。矩阵。n n a=1 2 3;4 5 6 a=1 2 3;4 5 6 n na=a=n n 1 2 3 1 2 3n n 4 5 6 4 5 6n n可以用冒号快速建立矩阵,步长在默认的情况下为可以用冒号快速建立矩阵,步长在默认的情况下为1 1,也可以自定义步长。,也可以自定义步长。n n a=1:3;4:6 a=1:3;4:6n na=
4、a=n n 1 2 3 1 2 3n n 4 5 6 4 5 6第4页,共78页,编辑于2022年,星期一n n2.2.函数生成函数生成函数生成函数生成n nMATLABMATLAB中提供了特殊函数可以生成特殊矩阵。中提供了特殊函数可以生成特殊矩阵。n n【例【例5-25-2】生成一个】生成一个2323全零矩阵,一个全零矩阵,一个3333单位矩阵。单位矩阵。n n a=zeros(2 a=zeros(2,3)3)%生成生成2323全零阵全零阵n na=a=n n 0 0 0 0 0 0 n n 0 0 0 0 0 0 n n a=eye(3 a=eye(3,3)%3)%生成生成3333单位阵单
5、位阵n na=a=n n 1 0 0 1 0 0n n 0 1 0 0 1 0n n 0 0 1 0 0 1 第5页,共78页,编辑于2022年,星期一常用的特殊矩阵列在表5.1当中。表表5.1常用的特殊矩阵常用的特殊矩阵命令命令函数函数命令命令函数函数全零全零阵阵zeroszeros友矩友矩阵阵compancompan单单位位阵阵eyeeyehadamardhadamard矩矩阵阵hadamardhadamard全全1 1阵阵onesonesHankelHankel矩矩阵阵hankelhankel均匀分布随机矩均匀分布随机矩阵阵randrandHilbertHilbert矩矩阵阵hilbhi
6、lb正正态态分布随机矩分布随机矩阵阵randnrandn逆逆HilbertHilbert矩矩阵阵invhilbinvhilb产产生生线线性等分向量性等分向量linspacelinspaceMagicMagic矩矩阵阵magicmagic产产生生对对数等分向量数等分向量logspacelogspacePascalPascal矩矩阵阵pascalpascalWilkinsonWilkinson特征特征值测试阵值测试阵wilkinsonwilkinson托普利托普利兹兹矩矩阵阵toeplitztoeplitz第6页,共78页,编辑于2022年,星期一5.1.2矩阵连接n n矩阵连接,是联合一个或多个
7、矩阵形成一个新矩阵。方括矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号号就可以作为矩阵连接操作符。表达式就可以作为矩阵连接操作符。表达式A=B CA=B C就是水就是水平连接矩阵平连接矩阵B B和和C C;A=BA=B;CC就是垂直连接矩阵就是垂直连接矩阵B B,C C。n n连接矩阵也可以用函数形成一个新矩阵,如连接矩阵也可以用函数形成一个新矩阵,如catcat函数。函数。catcat函数调用格式:函数调用格式:n n1)C=cat(dim1)C=cat(dim,A A,B)B)n nDimDim指链接方向。指链接方向。DimDim的可选值:的可选值:1 1,垂直方向;,垂直方向;2
8、2,水平方向;水平方向;3 3,生成三维数组。,生成三维数组。n n2)C=cat(dim2)C=cat(dim,A1A1,A2A2,)n n可以实现连接多个矩阵。可以实现连接多个矩阵。第7页,共78页,编辑于2022年,星期一n n【例【例5-35-3】把矩阵】把矩阵A A,B B分别在垂直方向,水平方向连接,分别在垂直方向,水平方向连接,A=1 2 3A=1 2 3,B=4 5 6B=4 5 6。n n C1=cat(1 C1=cat(1,A A,B)%B)%垂直方向连接垂直方向连接n nC1=C1=n n 1 2 3 1 2 3n n 4 5 6 4 5 6n n C2=cat(2 C2
9、=cat(2,A A,B)%B)%水平方向连接水平方向连接n nC2=C2=n n 1 2 3 4 5 6 1 2 3 4 5 6第8页,共78页,编辑于2022年,星期一表5.2列出了常用的连接矩阵函数。表表5.2 连接矩阵函数连接矩阵函数函数函数功能功能函数函数功能功能catcat连连接矩接矩阵阵rematremat复制一个矩复制一个矩阵阵到另一个矩到另一个矩阵阵horzcathorzcat水平水平连连接多个矩接多个矩阵阵blkdiagblkdiag对对角角连连接多个矩接多个矩阵阵vertcatvertcat垂直垂直连连接多个矩接多个矩阵阵第9页,共78页,编辑于2022年,星期一5.1.
10、35.1.3矩阵元素的下标引用及操作矩阵元素的下标引用及操作n n1矩阵下标矩阵下标 n n在MATLAB中,矩阵元素的引用可以通过下标表示,通常有如下规则:n n1)用两个下标来表示:在矩阵A中,第i行j列的元素用A(i,j)来表示。n n2)用一个下标来表示:对于矩阵,由于MATLAB的基本运算都是对列操作的,矩阵认为是按列优先排列的一个长的列向量,从而可用单下标引用。第10页,共78页,编辑于2022年,星期一n n【例【例5-45-4】提取矩阵的元素。】提取矩阵的元素。n n A=1 2 3;4 5 6;7 8 9 A=1 2 3;4 5 6;7 8 9n nA=A=n n1 2 31
11、 2 3n n4 5 64 5 6n n7 8 97 8 9n n可以用可以用A(m,n)A(m,n)选出第选出第mm行行n n列的元素。列的元素。n n A(2,3)A(2,3)n nans=ans=n n6 6n n也可以用一个下标选出元素。也可以用一个下标选出元素。n n A(8)A(8)n nans=ans=n n6 6第11页,共78页,编辑于2022年,星期一n n2矩阵的抽取矩阵的抽取n n用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。n n【例5-5】提取矩阵A的前2行为一个新矩阵B。n nB=C(1:2,:)n nC=n n 1 2 3n n 4 5 6第
12、12页,共78页,编辑于2022年,星期一n n3 3删除矩阵的行和列删除矩阵的行和列删除矩阵的行和列删除矩阵的行和列 n n我们把空的中括号我们把空的中括号称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为0000。可以通。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。过把矩阵的行或列赋值为空矩阵来删除某行或某列。n n【例【例5-65-6】删除上例中】删除上例中A A的第的第1 1,2 2列。列。n n A(:,1 2)=A(:,1 2)=n nA=A=n n 3 3n n 6 6n n 9 9n n在在MATLABMATLAB里不能用双下标来删除矩阵的某个元素,例如里不能用双下标来删
13、除矩阵的某个元素,例如X(1X(1,2)=2)=将给出错误信息。但可以用单下标来删除矩阵的某个或某些元素,将给出错误信息。但可以用单下标来删除矩阵的某个或某些元素,MATLABMATLAB删除这些元素后,将剩下的元素按列编成一个长的行向量。删除这些元素后,将剩下的元素按列编成一个长的行向量。第13页,共78页,编辑于2022年,星期一n n4reshape4reshape函数实现改变矩阵大小函数实现改变矩阵大小函数实现改变矩阵大小函数实现改变矩阵大小n nreshapereshape函数可以实现矩阵行列大小的变化,但变化前矩阵函数可以实现矩阵行列大小的变化,但变化前矩阵行列值的乘积和变化后的行
14、列值的乘积不变。行列值的乘积和变化后的行列值的乘积不变。n nreshape(A,M,N)reshape(A,M,N)命令将矩阵命令将矩阵A A的所有元素分配到一个的的所有元素分配到一个的新的矩阵,当矩阵新的矩阵,当矩阵A A的元素个数不是时,将返回一个错误。的元素个数不是时,将返回一个错误。n nreshape(A,M,N,P,reshape(A,M,N,P,)命令返回由矩阵命令返回由矩阵A A的元素组成的多维的的元素组成的多维的矩阵,如果与矩阵,如果与A A的元素个数不一样时将返回错误。的元素个数不一样时将返回错误。n nreshape(A,M,N,P,reshape(A,M,N,P,)命
15、令与命令与reshape(A,M,N,P,reshape(A,M,N,P,)命令的命令的作用一样。作用一样。第14页,共78页,编辑于2022年,星期一n n【例5-7】把2行3列矩阵A变成变成1行6列的矩阵B。n n B=reshape(A,1,6)n nB=n n 1 4 2 5 3 6第15页,共78页,编辑于2022年,星期一5.1.4矩阵运算n n1 1矩阵的加减矩阵的加减矩阵的加减矩阵的加减 n n矩阵的加减运算使用、运算符,能够相加减的矩阵的加减运算使用、运算符,能够相加减的矩阵需满足以下两个条件之一:矩阵需满足以下两个条件之一:n n1)1)类型相同,即行数相等,且列数相等。类
16、型相同,即行数相等,且列数相等。n n2)2)其中一个为标量,此时的加减运算结果等于矩阵其中一个为标量,此时的加减运算结果等于矩阵中每一个元素都和标量做加减运算。中每一个元素都和标量做加减运算。n n【例【例5-85-8】求矩阵】求矩阵A A与与B B的和,的和,A=1 2 3 A=1 2 3,B=2 3 B=2 3 66。n n A+B A+Bn nans=ans=n n 3 5 9 3 5 9第16页,共78页,编辑于2022年,星期一n n2 2矩阵的乘积矩阵的乘积矩阵的乘积矩阵的乘积 n n矩阵的乘积运算使用矩阵的乘积运算使用*运算符,而且相乘的矩阵必须满足维数条件。如运算符,而且相乘
17、的矩阵必须满足维数条件。如果果A A是一个是一个mpmp矩阵,而矩阵,而B B是是pn pn 矩阵,它们可以相乘产生矩阵,它们可以相乘产生mn mn 矩阵。矩阵。n n【例【例5-95-9】求例】求例5-85-8中矩阵中矩阵A A与与B B的转置矩阵的乘积。的转置矩阵的乘积。n n A*B A*Bn nans=ans=n n 26 26n n在在MATLABMATLAB里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号.表示普表示普通转置。通转置。n n B Bn nans=ans=n n 2 2n n 3 3n n 6 6第17页,共78页,编辑于2022年,星
18、期一n n3 3矩阵的除法矩阵的除法矩阵的除法矩阵的除法n nMATLABMATLAB定义了矩阵的左除及右除。定义了矩阵的左除及右除。“”运算符号运算符号表示两个矩阵的左除,表示两个矩阵的左除,“/”表示两个矩阵的右除。表示两个矩阵的右除。ABAB即由即由GaussGauss消去法来获得线性方程消去法来获得线性方程AXAXB B的解的解X X,即,即X XA-1BA-1B。如果矩阵不是方阵,也可以求出。如果矩阵不是方阵,也可以求出ABAB,这时将使用最小二乘法来求取,这时将使用最小二乘法来求取AXAXB B中的中的X X矩矩阵。阵。n n矩阵的右除:矩阵的右除:MATLABMATLAB用用“/
19、”表示两个矩阵的右除。表示两个矩阵的右除。X=B/AX=B/A是是X*A=BX*A=B的解,对于非奇异方阵的解,对于非奇异方阵A A,B/AB/A等效为。等效为。n n通常:通常:x=ABx=AB就是就是A*x=BA*x=B的解的解 ,x=B/Ax=B/A就是就是x*A=Bx*A=B的解的解.第18页,共78页,编辑于2022年,星期一n n【例【例5-105-10】求矩阵】求矩阵a a与与b b的左除和右除。的左除和右除。n n,n n c=ab%c=ab%矩阵左除,相当于矩阵左除,相当于inv(a)*binv(a)*bn nc=c=n n 0.3333 0.6000 -0.2000 0.3
20、333 0.6000 -0.2000n n -0.6667 -0.4000 0.8000 -0.6667 -0.4000 0.8000n n 1.0000 0.4000 0.2000 1.0000 0.4000 0.2000n n d=a/b%d=a/b%矩阵右除,相当于矩阵右除,相当于a*inv(b)a*inv(b)n nd=d=n n 1.3333 1.3333 -1.0000 1.3333 1.3333 -1.0000n n 0 -0.5000 1.5000 0 -0.5000 1.5000n n1.6667 0.1667 -0.50001.6667 0.1667 -0.5000第19页
21、,共78页,编辑于2022年,星期一表5.3给出了可以获得有关矩阵的形状与大小信息的函数。表表5.3 取得矩阵相关信息的函数取得矩阵相关信息的函数函数函数说说明明函数函数说说明明lengthlength返回矩返回矩阵阵最最长长的那的那维长维长度度numelnumel返回矩返回矩阵阵的元素数的元素数ndimsndims返回矩返回矩阵阵的的维维数数sizesize返回矩返回矩阵阵每一每一维维的的长长度度第20页,共78页,编辑于2022年,星期一n n【例【例5-115-11】:产品成本分析,】:产品成本分析,表表5.45.4显示了与特定产品相关的成显示了与特定产品相关的成本,而表本,而表5.55
22、.5则显示了一个财政年度中则显示了一个财政年度中4 4个季度的产量。使用个季度的产量。使用MATLABMATLAB算出:每个季度的材料成本、劳动成本和运输成本;一年算出:每个季度的材料成本、劳动成本和运输成本;一年中总的材料成本、劳动成本和运输成本,以及每个季度的总成本。中总的材料成本、劳动成本和运输成本,以及每个季度的总成本。表表5.4 产品成本产品成本单位成本(美元单位成本(美元10103 3)产产品品材料材料劳动劳动运运输输1 16 62 21 12 22 25 54 43 34 43 32 24 49 97 73 3表表5.5 每季度产量每季度产量产产品品第第1 1季度季度第第2 2季
23、度季度第第3 3季度季度第第4 4季度季度1 110101212131315152 28 87 76 64 43 31212101013139 94 46 64 411115 5第21页,共78页,编辑于2022年,星期一n n成本是单位成本与产量的乘积。因此,用户定义两个矩阵:成本是单位成本与产量的乘积。因此,用户定义两个矩阵:X X(包含表(包含表5.1.35.1.3中的单位成本,单位为千元)和中的单位成本,单位为千元)和Y Y(包含表(包含表5.1.45.1.4中每季度的产品数据)。然后在运行下列命令行即可中每季度的产品数据)。然后在运行下列命令行即可得到问题的答案。得到问题的答案。n
24、n X=6 2 1;2 5 4;4 3 2;9 7 3;X=6 2 1;2 5 4;4 3 2;9 7 3;n n Y=10 12 13 15;8 7 6 4;12 10 13 9;6 4 11 5;Y=10 12 13 15;8 7 6 4;12 10 13 9;6 4 11 5;n n quarterly_costs=sum(X*Y)quarterly_costs=sum(X*Y)n nquarterly_costs=quarterly_costs=n n 400 351 509 355 400 351 509 355n n category_costs=sum(X*Y)category_
25、costs=sum(X*Y)n ncategory_costs=category_costs=n n 760 539 316 760 539 316n n所以,每个季度的总成本分别是:所以,每个季度的总成本分别是:400 400,351 351,509 509 和和355355(美(美元)。一年中总的材料成本:元)。一年中总的材料成本:760760美元,劳动总成本:美元,劳动总成本:539539美元和美元和运输成本运输成本316316美元。美元。第22页,共78页,编辑于2022年,星期一n n4矩阵的乘方运算和开方运算矩阵的乘方运算和开方运算n nMATLAB中矩阵的乘方可以由符号“”实现,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 数值计算功PPT讲稿 数值 计算 PPT 讲稿
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内