《矩阵和数组》ppt课件

上传人:tian****1990 文档编号:74876944 上传时间:2019-01-29 格式:PPT 页数:48 大小:375.81KB
返回 下载 相关 举报
《矩阵和数组》ppt课件_第1页
第1页 / 共48页
《矩阵和数组》ppt课件_第2页
第2页 / 共48页
《矩阵和数组》ppt课件_第3页
第3页 / 共48页
《矩阵和数组》ppt课件_第4页
第4页 / 共48页
《矩阵和数组》ppt课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《《矩阵和数组》ppt课件》由会员分享,可在线阅读,更多相关《《矩阵和数组》ppt课件(48页珍藏版)》请在金锄头文库上搜索。

1、2.1.1算术运算 1.基本算术运算 MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。 注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。,MATLAB的矩阵运算,假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。,(1) 矩阵加减运算,假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。,(2) 矩阵乘法,(3) 矩阵除法 在MA

2、TLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。 对于含有标量的运算,两种除法运算的结果相同,如3/4和43有相同的值,都等于0.75。又如,设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。,一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。 2点运算 在MATLAB中,有一种特殊的运算,因为其运算符是

3、在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。,(4) 矩阵的乘方,MATLAB提供了6种关系运算符:(大于)、=(大于或等于)、=(等于)、=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。,2.3.2 关系运算,(1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相

4、同的矩阵,它的元素由0或1组成。,关系运算符的运算法则为:,(3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。,例2-8 产生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除。 (1) 生成5阶随机方阵A。 A=fix(90-10+1)*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=rem(A,3)=0 其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,

5、P是进行等于(=)比较的结果矩阵。,MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。 逻辑运算的运算法则为: (1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么, a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 a 当a是零时,运算结果为1;当a非零时,运算结果为0。,2.3.3 逻辑运算,(3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。 (4) 若参与逻辑运

6、算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。,(5) 逻辑非是单目运算符,也服从矩阵运算规则。 (6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。,例2-9 建立矩阵A,然后找出大于4的元素的位置。 (1) 建立矩阵A。 A=4,-65,-54,0,6;56,0,67,-45,0 (2) 找出大于4的元素的位置。 find(A4),2.4.1 对角阵与三角阵 1对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的

7、对角矩阵称为单位矩阵。,2.4 矩阵分析,(1) 提取矩阵的对角线元素 设A为mn矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。 diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。 (2) 构造对角矩阵 设V为具有m个元素的向量,diag(V)将产生一个mm对角矩阵,其主对角线元素即为向量V的元素。 diag(V)函数也有另一种形式diag(V,k),其功能是产生一个nn(n=m+)对角阵,其第k条对角线的元素即为向量V的元素。,例2-10 先建立55矩阵A,然后将A的第一行元素乘以1,第二行乘以2,第五行乘以5

8、。 A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;. 11,18,25,2,19; D=diag(1:5); D*A %用D左乘A,对A的每行乘以一个指定常数,三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。,2三角阵,(1) 上三角矩阵 求矩阵A的上三角阵的MATLAB函数是triu(A)。 triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B

9、。 (2) 下三角矩阵 在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。,1矩阵的转置 转置运算符是单撇号()。 2矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90的k倍,当k为1时可省略。,2.4.2 矩阵的转置与旋转,3矩阵的左右翻转 对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,依次类推。MATLAB对矩阵A实施左右翻转的函数是fliplr(A)。 4矩阵的上下翻转 MATLAB对矩阵A实施上下翻转的函数是flipud(A)。,1矩阵的逆 对于

10、一个方阵A,如果存在一个与其同阶的方阵B,使得: AB=BA=I (I为单位矩阵) 则称B为A的逆矩阵,当然,A也是B的逆矩阵。 求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。 例2-11 用求逆矩阵的方法解线性方程组。 Ax=b 其解为: x=A-1b,2.4.3 矩阵的逆与伪逆,如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A同型的矩阵B,使得: ABA=A BAB=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是

11、pinv(A)。,2矩阵的伪逆,把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。,2.4.4 方阵的行列式,1矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。 2矩阵的迹 矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。,2.4.5 矩阵的秩与迹,矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。范数有多种方法定义,其定义不同,范数值也就不同。,2.4.6 向量和矩阵的范数

12、,1向量的3种常用范数及其计算函数 在MATLAB中,求向量范数的函数为: (1) norm(V)或norm(V,2):计算向量V的2范数。 (2) norm(V,1):计算向量V的1范数。 (3) norm(V,inf):计算向量V的范数。,MATLAB提供了求3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。 2.4.7 矩阵的条件数 在MATLAB中,计算矩阵A的3种条件数的函数是: (1) cond(A,1) 计算A的1范数下的条件数。 (2) cond(A)或cond(A,2) 计算A的2范数数下的条件数。 (3) cond(A,inf) 计算A的 范数下的条件数。,2

13、矩阵的范数及其计算函数,在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种: (1) E=eig(A):求矩阵A的全部特征值,构成向量E。 (2) V,D=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。,2.4.8 矩阵的特征值与特征向量,(3) V,D=eig(A,nobalance):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。,例2-12 用求特征值的方法解方程。 3x5-7x4+5x2+2x-18=0 p=3,-7,0,5,2,-18; A

14、=compan(p); %A的伴随矩阵 x1=eig(A) %求A的特征值 x2=roots(p) %直接求多项式p的零点,1矩阵平方根sqrtm sqrtm(A)计算矩阵A的平方根。 2矩阵对数logm logm(A)计算矩阵A的自然对数。此函数输入参数的条件与输出结果间的关系和函数sqrtm(A)完全一样,2.5 矩阵的超越函数,exam、expm1、expm2、expm3 、expm(A)、expm1(A)、expm2(A)、expm3(A)的功能都求矩阵指数eA。 4普通矩阵函数funm funm(A,fun)用来计算直接作用于矩阵A的由fun指定的超越函数值。当fun取sqrt时,f

15、unm(A,sqrt)可以计算矩阵A的平方根,与sqrtm(A)的计算结果一样。,3矩阵指数,在MATLAB中,字符串是用单撇号括起来的字符序列。 MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。,2.6 字符串,字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。,例2-13 建立一个字符串向量,然后对该向量做如下处理: (1) 取第15个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的

16、小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。,命令如下: ch=ABc123d4e56Fg9; subch=ch(1:5) %取子字符串 revch=ch(end:-1:1) %将字符串倒排 k=find(ch=a %将小写字母变成相应的大写字母 char(ch) length(k) %统计小写字母的个数,与字符串有关的另一个重要函数是eval,其调用格式为: eval(t) 其中t为字符串。它的作用是把字符串的内容作为对应的MATLAB语句来执行。,2.7.1 结构数据 1结构矩阵的建立与引用 结构矩阵的元素可以是不同的数据类型,它能将一组具有不同属性的数据纳入到一个统

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号