资源描述:
《最新数值计算功能PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值计算功能2.1矩阵及其运算MATLAB最基本、最重要的功能就是进行矩阵运算。所有的数值功能都是以矩阵为基本单位实现的。2.1.1矩阵生成1.直接生成矩阵的生成可以通过在方括号[]中输入元素实现,不同行之间要用分号隔开,不同列用空格分开。【例2-1】生成一个2×3矩阵。>>a=[123;456]a=123456可以用冒号快速建立矩阵,步长在默认的情况下为1,也可以自定义步长。>>a=[1:3;4:6]a=123456【例2-3】把矩阵A,B分别在垂直方向,水平方向连接,A=[123],B=[456]。>>C1=cat(1,A,B)%垂直方向连接C1=12
2、3456>>C2=cat(2,A,B)%水平方向连接C2=123456表2.2列出了常用的连接矩阵函数。表2.2连接矩阵函数函数功能函数功能cat连接矩阵remat复制一个矩阵到另一个矩阵horzcat水平连接多个矩阵blkdiag对角连接多个矩阵vertcat垂直连接多个矩阵2.1.3矩阵元素的下标引用及操作1.矩阵下标在MATLAB中,矩阵元素的引用可以通过下标表示,通常有如下规则:1)用两个下标来表示:在矩阵A中,第i行j列的元素用A(i,j)来表示。2)用一个下标来表示:对于矩阵,由于MATLAB的基本运算都是对列操作的,矩阵认为是按列优先排列的一
3、个长的列向量,从而可用单下标引用。【例2-4】提取矩阵的元素。>>A=[123;456;789]A=123456789可以用A(m,n)选出第m行n列的元素。>>A(2,3)ans=6也可以用一个下标选出元素。>>A(8)ans=62.矩阵的抽取用下标可以从大矩阵里面抽取某些元素组成小的矩阵,并使用()运算符。【例2-5】提取矩阵A的前2行为一个新矩阵B。>>B=A(1:2,:)%B=A([12],:)B=1234563.删除矩阵的行和列我们把空的中括号[]称为空矩阵,即矩阵大小为0×0。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。【例2-6】删除
4、上例中A的第1,2列。>>A(:,[12])=[]A=369在MATLAB里不能用双下标来删除矩阵的某个元素,例如X(1,2)=[]将给出错误信息。但可以用单下标来删除矩阵的某个或某些元素,MATLAB删除这些元素后,将剩下的元素按列编成一个长的行向量。4.reshape函数实现改变矩阵大小reshape函数可以实现矩阵行列大小的变化,但变化前矩阵行列值的乘积和变化后的行列值的乘积不变。reshape(A,M,N)命令将矩阵A的所有元素分配到一个M×N的新的矩阵,当矩阵A的元素个数不是M×N时,将返回一个错误。reshape(A,M,N,P,…)命令返回由
5、矩阵A的元素组成的M×N×P….多维的矩阵,如果M×N×P….与A的元素个数不一样时将返回错误。reshape(A,[M,N,P,…])命令与reshape(A,M,N,P,…)命令的作用一样。【例2-7】把2行3列矩阵A变成变成1行6列的矩阵B。>>B=reshape(A,1,6)B=1425362.1.4矩阵运算1.矩阵的加、减矩阵的加减运算使用+、-运算符,能够相加减的矩阵需满足以下两个条件之一:1)类型相同,即行数相等,且列数相等。2)其中一个为标量,此时的加减运算结果等于矩阵中每一个元素都和标量做加减运算。【例2-8】求矩阵A与B的和,A=[12
6、3],B=[236]。>>A+Bans=3592.矩阵的乘积矩阵的乘积运算使用*运算符,而且相乘的矩阵必须满足维数条件。如果A是一个m×p矩阵,而B是p×n矩阵,它们可以相乘产生m×n矩阵。【例2-9】求例2-8中矩阵A与B的转置矩阵的乘积。>>A*B'ans=26在MATLAB里,单引号表示复共轭转置,一个点加单引号“.′”表示普通转置,即沿主对角线左上与右下相对元素对调。>>B'ans=2363、矩阵的除法MATLAB定义了矩阵的左除及右除。“”运算符号表示两个矩阵的左除,“/”表示两个矩阵的右除。AB即由Gauss消去法来获得线性方程AX=B的解
7、X,即X=A-1B。矩阵的右除:MATLAB用“/”表示两个矩阵的右除。X*A=B的解是X=B/A,对于非奇异方阵A,B/A等效为BA-1。【例2-10】求矩阵a与b的左除和右除。>>c=ab%矩阵左除,相当于inv(a)*bc=0.33330.6000-0.2000-0.6667-0.40000.80001.00000.40000.2000>>d=a/b%矩阵右除,相当于a*inv(b)d=1.33331.3333-1.00000-0.50001.50001.66670.1667-0.5000表2.3给出了可以获得有关矩阵的形状与大小信息的函数。表2.
8、3取得矩阵相关信息的函数函数说明函数说明length返回矩阵最长的