第2章 数值计算功能精.ppt
《第2章 数值计算功能精.ppt》由会员分享,可在线阅读,更多相关《第2章 数值计算功能精.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 数值计算功能第1页,本讲稿共66页n n MATLABMATLAB应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。应用相当广泛的一个领域是解决数值计算问题。这是由于这是由于这是由于这是由于MATLAB MATLAB 对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为对处理数组具有非凡的能力,使其成为许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多科学与工程应用中的一个有力的工具。本章主要介绍矩许多科
2、学与工程应用中的一个有力的工具。本章主要介绍矩阵的创建、运算以及如何运用阵的创建、运算以及如何运用阵的创建、运算以及如何运用阵的创建、运算以及如何运用MATLABMATLAB解决线性代数中的相解决线性代数中的相解决线性代数中的相解决线性代数中的相关问题。关问题。关问题。关问题。n n【学习目标】【学习目标】【学习目标】【学习目标】n n能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则能够创建矩阵,并熟练掌握矩阵的各种运算法则n n掌握稀疏矩阵的基本操作。掌握稀疏矩阵的基本操作。掌握稀疏矩阵的基本操作。掌握稀疏矩阵的基
3、本操作。n n学会运用学会运用学会运用学会运用MATLABMATLAB解决线性代数的相关问题。解决线性代数的相关问题。解决线性代数的相关问题。解决线性代数的相关问题。n n掌握如何运用掌握如何运用掌握如何运用掌握如何运用MATLABMATLAB实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极实现数据的插值、曲线的拟合和零极点的求解。点的求解。点的求解。点的求解。第2页,本讲稿共66页2.1 矩阵及其运算矩阵及其运算n nMATLAB最基本、最重要的功能就是进行矩阵运算。所有的数值功能都是以矩阵为基本单位实现的。第3页,本讲稿共66页2.1.1 2
4、.1.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
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=a=n n 1 2 3 1 2 3n n 4 5 6 4 5 6第4页,本讲稿共66页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
7、0 1 0 0n n 0 1 0 0 1 0n n 0 0 1 0 0 1 第5页,本讲稿共66页 常用的特殊矩阵列在表常用的特殊矩阵列在表常用的特殊矩阵列在表常用的特殊矩阵列在表2.12.1当中。当中。当中。当中。表表表表2.12.1常用的特殊矩阵常用的特殊矩阵常用的特殊矩阵常用的特殊矩阵函数函数函数函数功能功能功能功能函数函数函数函数命令命令命令命令zeroszeros生成全生成全生成全生成全0 0矩矩矩矩阵阵阵阵compancompan生成多生成多生成多生成多项项项项式的友矩式的友矩式的友矩式的友矩阵阵阵阵eyeeye生成生成生成生成单单单单位矩位矩位矩位矩阵阵阵阵hadamardhad
8、amard生成哈达生成哈达生成哈达生成哈达玛玛玛玛矩矩矩矩阵阵阵阵(由(由(由(由1 1和和和和-1-1构成的正交矩构成的正交矩构成的正交矩构成的正交矩阵阵阵阵)onesones生成全生成全生成全生成全1 1阵阵阵阵vandervander生成范德蒙矩生成范德蒙矩生成范德蒙矩生成范德蒙矩阵阵阵阵randrand生成均匀分布随机矩生成均匀分布随机矩生成均匀分布随机矩生成均匀分布随机矩阵阵阵阵hilbhilbHilbertHilbert矩矩矩矩阵阵阵阵(沿主(沿主(沿主(沿主对对对对角角角角线线线线对对对对称)称)称)称)randnrandn生成正生成正生成正生成正态态态态分布随机矩分布随机矩分布
9、随机矩分布随机矩阵阵阵阵invhilbinvhilb逆逆逆逆HilbertHilbert矩矩矩矩阵阵阵阵triltriutriltriu生成上三角或下三角矩生成上三角或下三角矩生成上三角或下三角矩生成上三角或下三角矩阵阵阵阵magicmagicMagicMagic矩矩矩矩阵阵阵阵diagdiag生成生成生成生成对对对对角矩角矩角矩角矩阵阵阵阵pascalpascalPascalPascal矩矩矩矩阵阵阵阵wilkinsonwilkinson生成威生成威生成威生成威尔尔尔尔金森矩金森矩金森矩金森矩阵阵阵阵toeplitztoeplitz托普利托普利托普利托普利兹兹兹兹矩矩矩矩阵阵阵阵第6页,本讲
10、稿共66页2.1.2 矩阵连接矩阵连接n n矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号矩阵连接,是联合一个或多个矩阵形成一个新矩阵。方括号就可以作为矩阵连接操作符。表达式就可以作为矩阵连接操作符。表达式就可以作为矩阵连接操作符。表达式就可以作为矩阵连接操作符。表达式A=B CA=B C就是水平就是水平就是水平就是水平连接矩阵连接矩阵连接矩阵连接矩阵BB和和和和C C;A=BA=B;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,生成三维数组。,生成三维数组。,生成三维数组。,生成三维数组
12、。n n2)C=cat(dim2)C=cat(dim,A1A1,A2A2,)n n可以实现连接多个矩阵。可以实现连接多个矩阵。可以实现连接多个矩阵。可以实现连接多个矩阵。第7页,本讲稿共66页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
13、6 4 5 6n 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第8页,本讲稿共66页表表2.2列出了常用的连接矩阵函数。列出了常用的连接矩阵函数。表表2.2 连接矩阵函数连接矩阵函数函数函数函数函数功能功能功能功能函数函数函数函数功能功能功能功能catcat连连连连接矩接矩接矩接矩阵阵阵阵rematremat复制一个矩复制一个矩复制一个矩复制一个矩阵阵阵阵到另一个到另一个到另一个到另一个矩矩矩矩阵阵阵阵horzcathorzcat水平水平水平水平连连连连接多个矩接多个矩接多个矩接多个
14、矩阵阵阵阵blkdiagblkdiag对对对对角角角角连连连连接多个矩接多个矩接多个矩接多个矩阵阵阵阵vertcatvertcat垂直垂直垂直垂直连连连连接多个矩接多个矩接多个矩接多个矩阵阵阵阵第9页,本讲稿共66页2.1.3 2.1.3 矩阵元素的下标引用及操作矩阵元素的下标引用及操作矩阵元素的下标引用及操作矩阵元素的下标引用及操作n n1.1.矩阵下标矩阵下标矩阵下标矩阵下标 n n在在MATLABMATLAB中,矩阵元素的引用可以通过下标表示,通中,矩阵元素的引用可以通过下标表示,通常有如下规则:常有如下规则:n n1)1)用两个下标来表示:在矩阵用两个下标来表示:在矩阵A A中,第中,
15、第i i行行j j列的元素用列的元素用A A(i(i,j)j)来表示。来表示。n n2)2)用一个下标来表示:对于矩阵,由于用一个下标来表示:对于矩阵,由于MATLABMATLAB的基的基本运算都是对列操作的,矩阵认为是按列优先排列的本运算都是对列操作的,矩阵认为是按列优先排列的一个长的列向量,从而可用单下标引用。一个长的列向量,从而可用单下标引用。第10页,本讲稿共66页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
16、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页,本讲稿共66页n n2.2.矩阵的抽取矩阵的抽取矩阵的抽取矩阵的抽取n n用下标可以从大矩阵里面抽取某些元素组成小的矩阵,用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用并使用()()运算符。运算符。n n【例【例2-52-5】提取矩阵】提取矩阵A A的前的前2 2行为一个新矩阵行为一个新矩阵B
17、B。n nB=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第12页,本讲稿共66页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删除这些元素后,将剩下删除这些元素后,将剩下删除这些元素后,将剩下删除这些元素后,将剩下的元素按列编成一个长的行向量。的元素按列编成一个长的行向量。的元素按列编成一个长的行向量。的元素按列编成一个长的行向量。第13页,本讲稿共66页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,)命命命命令的作用一样。令的作用一样。令的作用一样。令的作用一样。第14页,本讲稿共66页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第15页,本讲稿共66页2.1.4 2.1.4 矩阵运算矩阵运算矩阵运算矩阵运算n n1.1.矩阵的加、减矩阵的加、减矩阵的加、减矩阵的加、减 n n矩阵的加减运算使用、运算符,能够相加减的矩矩阵的加减运算使用、运算符,能够相加减的矩阵需满足以下两个条件之一:阵需满足以下两个条件之一:n n1
23、)1)类型相同,即行数相等,且列数相等。类型相同,即行数相等,且列数相等。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第16页,本讲稿共66页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
25、A*Bn nans=ans=n n 26 26n n在在在在MATLABMATLAB里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号里,单引号表示复共轭转置,一个点加单引号“.”“.”表示普通转置,即沿主对角线左上与右下相对元素对表示普通转置,即沿主对角线左上与右下相对元素对表示普通转置,即沿主对角线左上与右下相对元素对表示普通转置,即沿主对角线左上与右下相对元素对调。调。调。调。n nBBn nans=ans=n n22n n33n n66第17页,本讲稿共66页n n3 3、矩阵的除法、矩阵的除法、矩阵的除法、矩阵的除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 数值计算功能精 数值 计算 功能
限制150内