第2章 数值计算功能精选文档.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)
《第2章 数值计算功能精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章 数值计算功能精选文档.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 数值计算功能本讲稿第一页,共六十六页n n MATLABMATLAB应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。这是由于这是由于这是由于这是由于MATLAB MATLAB 对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多
2、科学与工程应用中的一个有力的工具。本章主要介绍矩阵的创建、运算以及如何运用阵的创建、运算以及如何运用阵的创建、运算以及如何运用阵的创建、运算以及如何运用MATLABMATLAB解决线性代数中的相解决线性代数中的相解决线性代数中的相解决线性代数中的相关问题。关问题。关问题。关问题。n n【学习目标】【学习目标】【学习目标】【学习目标】n n能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则n n掌握稀疏矩阵的基本操作。掌握稀疏矩阵的基本操作。掌握稀疏矩阵的基本操作。掌握稀疏矩阵的
3、基本操作。n n学会运用学会运用学会运用学会运用MATLABMATLAB解决线性代数的相关问题。解决线性代数的相关问题。解决线性代数的相关问题。解决线性代数的相关问题。n n掌握如何运用掌握如何运用掌握如何运用掌握如何运用MATLABMATLAB实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极点的求解。点的求解。点的求解。点的求解。本讲稿第二页,共六十六页2.1 矩阵及其运算矩阵及其运算n nMATLAB最基本、最重要的功能就是进行矩阵运算。所有的数值功能都是以矩阵为基本单位实现的。本讲稿第三页,共六十六页2.1.
4、1 矩阵生成矩阵生成n n1.1.直接生成直接生成直接生成直接生成n n矩阵的生成可以通过在方括号矩阵的生成可以通过在方括号矩阵的生成可以通过在方括号矩阵的生成可以通过在方括号中输入元素实现,不同行之间中输入元素实现,不同行之间中输入元素实现,不同行之间中输入元素实现,不同行之间要用分号隔开,不同列用空格分开。要用分号隔开,不同列用空格分开。要用分号隔开,不同列用空格分开。要用分号隔开,不同列用空格分开。n n【例【例【例【例2-12-1】生成一个】生成一个】生成一个】生成一个2 23 3矩阵。矩阵。矩阵。矩阵。n n a=1 2 3;4 5 6 a=1 2 3;4 5 6 n na=a=n
5、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=a=n n 1 2 3 1 2 3n n 4 5 6 4 5 6本讲稿第四页,共六十六页n n2.2.函数生成函数生成函数生成函数生成n nMATLABMATLAB中提供了特殊函数可以生成特殊矩阵。中提供了特殊函数可以生
6、成特殊矩阵。中提供了特殊函数可以生成特殊矩阵。中提供了特殊函数可以生成特殊矩阵。n n【例【例【例【例2-22-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单位阵单位阵单位阵单位阵n na=a=n n 1 0 0 1 0 0n n
7、 0 1 0 0 1 0n n 0 0 1 0 0 1 本讲稿第五页,共六十六页 常用的特殊矩阵列在表常用的特殊矩阵列在表常用的特殊矩阵列在表常用的特殊矩阵列在表2.12.1当中。当中。当中。当中。表表表表2.12.1常用的特殊矩阵常用的特殊矩阵常用的特殊矩阵常用的特殊矩阵函数函数函数函数功能功能功能功能函数函数函数函数命令命令命令命令zeroszeros生成全生成全生成全生成全0 0矩矩矩矩阵阵阵阵compancompan生成多生成多生成多生成多项项项项式的友矩式的友矩式的友矩式的友矩阵阵阵阵eyeeye生成生成生成生成单单单单位矩位矩位矩位矩阵阵阵阵hadamardhadamard生成哈达
8、生成哈达生成哈达生成哈达玛玛玛玛矩矩矩矩阵阵阵阵(由(由(由(由1 1和和和和-1-1构成的正交矩构成的正交矩构成的正交矩构成的正交矩阵阵阵阵)onesones生成全生成全生成全生成全1 1阵阵阵阵vandervander生成范德蒙矩生成范德蒙矩生成范德蒙矩生成范德蒙矩阵阵阵阵randrand生成均匀分布随机矩生成均匀分布随机矩生成均匀分布随机矩生成均匀分布随机矩阵阵阵阵hilbhilbHilbertHilbert矩矩矩矩阵阵阵阵(沿主(沿主(沿主(沿主对对对对角角角角线线线线对对对对称)称)称)称)randnrandn生成正生成正生成正生成正态态态态分布随机矩分布随机矩分布随机矩分布随机矩阵
9、阵阵阵invhilbinvhilb逆逆逆逆HilbertHilbert矩矩矩矩阵阵阵阵triltriutriltriu生成上三角或下三角矩生成上三角或下三角矩生成上三角或下三角矩生成上三角或下三角矩阵阵阵阵magicmagicMagicMagic矩矩矩矩阵阵阵阵diagdiag生成生成生成生成对对对对角矩角矩角矩角矩阵阵阵阵pascalpascalPascalPascal矩矩矩矩阵阵阵阵wilkinsonwilkinson生成威生成威生成威生成威尔尔尔尔金森矩金森矩金森矩金森矩阵阵阵阵toeplitztoeplitz托普利托普利托普利托普利兹兹兹兹矩矩矩矩阵阵阵阵本讲稿第六页,共六十六页2.1
10、.2 矩阵连接矩阵连接n n矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号就可以就可以就可以就可以作为矩阵连接操作符。表达式作为矩阵连接操作符。表达式作为矩阵连接操作符。表达式作为矩阵连接操作符。表达式A=B CA=B C就是水平连接矩阵就是水平连接矩阵就是水平连接矩阵就是水平连接矩阵BB和和和和C C;A=A=BB;CC就是垂直连接矩阵就是垂直连接矩阵就是垂直连接矩阵就是垂直连接矩阵BB和和和和C C连接矩阵也可以用函数形成一个新矩
11、连接矩阵也可以用函数形成一个新矩连接矩阵也可以用函数形成一个新矩连接矩阵也可以用函数形成一个新矩阵,如阵,如阵,如阵,如catcat函数。函数。函数。函数。catcat函数调用格式:函数调用格式:函数调用格式:函数调用格式:n n1)C=cat(dim1)C=cat(dim,AA,B)B)n nDimDim指链接方向。指链接方向。指链接方向。指链接方向。DimDim的可选值:的可选值:的可选值:的可选值:1 1,垂直方向;,垂直方向;,垂直方向;,垂直方向;2 2,水平,水平,水平,水平方向;方向;方向;方向;3 3,生成三维数组。,生成三维数组。,生成三维数组。,生成三维数组。n n2)C=
12、cat(dim2)C=cat(dim,A1A1,A2A2,)n n可以实现连接多个矩阵。可以实现连接多个矩阵。可以实现连接多个矩阵。可以实现连接多个矩阵。本讲稿第七页,共六十六页n n【例【例【例【例2-32-3】把矩阵】把矩阵】把矩阵】把矩阵AA,BB分别在垂直方向,水平方向连接,分别在垂直方向,水平方向连接,分别在垂直方向,水平方向连接,分别在垂直方向,水平方向连接,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 6
13、n n C2=cat(2 C2=cat(2,A A,B)%B)%水平方向连接水平方向连接n nC2=C2=n n 1 2 3 4 5 6 1 2 3 4 5 6本讲稿第八页,共六十六页表表2.2列出了常用的连接矩阵函数。列出了常用的连接矩阵函数。表表2.2 连接矩阵函数连接矩阵函数函数函数函数函数功能功能功能功能函数函数函数函数功能功能功能功能catcat连连连连接矩接矩接矩接矩阵阵阵阵rematremat复制一个矩复制一个矩复制一个矩复制一个矩阵阵阵阵到另一个到另一个到另一个到另一个矩矩矩矩阵阵阵阵horzcathorzcat水平水平水平水平连连连连接多个矩接多个矩接多个矩接多个矩阵阵阵阵b
14、lkdiagblkdiag对对对对角角角角连连连连接多个矩接多个矩接多个矩接多个矩阵阵阵阵vertcatvertcat垂直垂直垂直垂直连连连连接多个矩接多个矩接多个矩接多个矩阵阵阵阵本讲稿第九页,共六十六页2.1.3 2.1.3 矩阵元素的下标引用及操作矩阵元素的下标引用及操作矩阵元素的下标引用及操作矩阵元素的下标引用及操作n n1.1.矩阵下标矩阵下标矩阵下标矩阵下标 n n在在MATLABMATLAB中,矩阵元素的引用可以通过下标表中,矩阵元素的引用可以通过下标表示,通常有如下规则:示,通常有如下规则:n n1)1)用两个下标来表示:在矩阵用两个下标来表示:在矩阵A A中,第中,第i i行
15、行j j列的元列的元素用素用A(iA(i,j)j)来表示。来表示。n n2)2)用一个下标来表示:对于矩阵,由于用一个下标来表示:对于矩阵,由于MATLABMATLAB的基本运算都是对列操作的,矩阵认为是按列优的基本运算都是对列操作的,矩阵认为是按列优先排列的一个长的列向量,从而可用单下标引用。先排列的一个长的列向量,从而可用单下标引用。本讲稿第十页,共六十六页n n【例【例2-42-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 2 3n n4 5 64 5 6n n7 8 97 8
16、 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本讲稿第十一页,共六十六页n n2.2.矩阵的抽取矩阵的抽取矩阵的抽取矩阵的抽取n n用下标可以从大矩阵里面抽取某些元素组成小的用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用矩阵,并使用()()运算符。运算符。n n【例【例2-52-5】提取矩阵】提取矩阵A A的前的前2 2行为一个新矩阵行为一个新矩阵B B。n n
17、B=A(1:2,:)B=A(1:2,:)%B=A(12,:)B=A(12,:)n nB=B=n n 1 2 3 1 2 3n n 4 5 6 4 5 6本讲稿第十二页,共六十六页n n3.3.删除矩阵的行和列删除矩阵的行和列删除矩阵的行和列删除矩阵的行和列 n n我们把空的中括号我们把空的中括号我们把空的中括号我们把空的中括号称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为称为空矩阵,即矩阵大小为0000。可以。可以。可以。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。通过把矩阵的行或列赋值为空矩阵来删除某行或某列。通过把矩阵的行或列赋值为空矩阵来删除某行或某列。
18、通过把矩阵的行或列赋值为空矩阵来删除某行或某列。n n【例【例【例【例2-62-6】删除上例中】删除上例中】删除上例中】删除上例中AA的第的第的第的第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里不能用双下标来删除矩阵的某个元素,里不能用双下标来删除矩阵的某个元素,里不能用双下标来删除矩阵的某个元素,里不能用双下标来删除矩阵的某个元素,例如例如例如例如X(1X(1,2)=2)=将给出错误信息。但可以用单下标来删将给出错误信息。但可以用单下标来删将给出错误信息。但可以用单
19、下标来删将给出错误信息。但可以用单下标来删除矩阵的某个或某些元素,除矩阵的某个或某些元素,除矩阵的某个或某些元素,除矩阵的某个或某些元素,MATLABMATLAB删除这些元素后,删除这些元素后,删除这些元素后,删除这些元素后,将剩下的元素按列编成一个长的行向量。将剩下的元素按列编成一个长的行向量。将剩下的元素按列编成一个长的行向量。将剩下的元素按列编成一个长的行向量。本讲稿第十三页,共六十六页n n4.reshape4.reshape函数实现改变矩阵大小函数实现改变矩阵大小函数实现改变矩阵大小函数实现改变矩阵大小n nreshapereshape函数可以实现矩阵行列大小的变化,但变化前函数可以
20、实现矩阵行列大小的变化,但变化前函数可以实现矩阵行列大小的变化,但变化前函数可以实现矩阵行列大小的变化,但变化前矩阵行列值的乘积和变化后的行列值的乘积不变。矩阵行列值的乘积和变化后的行列值的乘积不变。矩阵行列值的乘积和变化后的行列值的乘积不变。矩阵行列值的乘积和变化后的行列值的乘积不变。n nreshape(A,M,N)reshape(A,M,N)命令将矩阵命令将矩阵命令将矩阵命令将矩阵AA的所有元素分配到一个的所有元素分配到一个的所有元素分配到一个的所有元素分配到一个MMNN的的的的新的矩阵,当矩阵新的矩阵,当矩阵新的矩阵,当矩阵新的矩阵,当矩阵AA的元素个数不是的元素个数不是的元素个数不是
21、的元素个数不是MMNN时,将返回一个错时,将返回一个错时,将返回一个错时,将返回一个错误。误。误。误。n nreshape(A,M,N,P,reshape(A,M,N,P,)命令返回由矩阵命令返回由矩阵命令返回由矩阵命令返回由矩阵AA的元素组成的的元素组成的的元素组成的的元素组成的MMNNP P.多维的矩阵,如果多维的矩阵,如果多维的矩阵,如果多维的矩阵,如果MMNNP P.与与与与AA的元素个数不的元素个数不的元素个数不的元素个数不一样时将返回错误。一样时将返回错误。一样时将返回错误。一样时将返回错误。n nreshape(A,M,N,P,reshape(A,M,N,P,)命令与命令与命令与
22、命令与reshape(A,M,N,P,reshape(A,M,N,P,)命令的作用一样。命令的作用一样。命令的作用一样。命令的作用一样。本讲稿第十四页,共六十六页n n【例2-7】把2行3列矩阵A变成变成1行6列的矩阵B。n n B=reshape(A,1,6)n nB=n n 1 4 2 5 3 6本讲稿第十五页,共六十六页2.1.4 矩阵运算矩阵运算n n1.1.矩阵的加、减矩阵的加、减矩阵的加、减矩阵的加、减 n n矩阵的加减运算使用、运算符,能够相加减矩阵的加减运算使用、运算符,能够相加减的矩阵需满足以下两个条件之一:的矩阵需满足以下两个条件之一:n n1)1)类型相同,即行数相等,且
23、列数相等。类型相同,即行数相等,且列数相等。n n2)2)其中一个为标量,此时的加减运算结果等于矩阵中其中一个为标量,此时的加减运算结果等于矩阵中每一个元素都和标量做加减运算。每一个元素都和标量做加减运算。n n【例【例2-82-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本讲稿第十六页,共六十六页n n2.2.矩阵的乘积矩阵的乘积矩阵的乘积矩阵的乘积 n n矩阵的乘积运算使用矩阵的乘积运算使用矩阵的乘积运算使用矩阵的乘积运算使用*运算符,而且相乘的矩阵必须
24、满足维数运算符,而且相乘的矩阵必须满足维数运算符,而且相乘的矩阵必须满足维数运算符,而且相乘的矩阵必须满足维数条件。如果条件。如果条件。如果条件。如果A A是一个是一个是一个是一个mpmp矩阵,而矩阵,而矩阵,而矩阵,而B B是是是是pn pn 矩阵,它们可以相矩阵,它们可以相矩阵,它们可以相矩阵,它们可以相乘产生乘产生乘产生乘产生mn mn 矩阵。矩阵。矩阵。矩阵。n n【例【例【例【例2-92-9】求例】求例】求例】求例2-82-8中矩阵中矩阵中矩阵中矩阵A A与与与与B B的转置矩阵的乘积。的转置矩阵的乘积。的转置矩阵的乘积。的转置矩阵的乘积。n n A*B A*Bn nans=ans=
25、n n 26 26n n在在在在MATLABMATLAB里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号“.”“.”表示普通转置,即沿主对角线左上与右下相对元素对调。表示普通转置,即沿主对角线左上与右下相对元素对调。表示普通转置,即沿主对角线左上与右下相对元素对调。表示普通转置,即沿主对角线左上与右下相对元素对调。n nBBn nans=ans=n n22n n33n n66本讲稿第十七页,共六十六页n n3 3、矩阵的除法、矩阵的除法、矩阵的除法、矩阵的除法n nMATLABMAT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 数值计算功能精选文档 数值 计算 功能 精选 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内