MATLAB教学最新第二章矩阵与数组.ppt

上传人:小飞机 文档编号:6511897 上传时间:2023-11-08 格式:PPT 页数:62 大小:664KB
返回 下载 相关 举报
MATLAB教学最新第二章矩阵与数组.ppt_第1页
第1页 / 共62页
MATLAB教学最新第二章矩阵与数组.ppt_第2页
第2页 / 共62页
MATLAB教学最新第二章矩阵与数组.ppt_第3页
第3页 / 共62页
MATLAB教学最新第二章矩阵与数组.ppt_第4页
第4页 / 共62页
MATLAB教学最新第二章矩阵与数组.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《MATLAB教学最新第二章矩阵与数组.ppt》由会员分享,可在线阅读,更多相关《MATLAB教学最新第二章矩阵与数组.ppt(62页珍藏版)》请在三一办公上搜索。

1、第二章矩阵与数组,2.1概述在MATLAB中的基本处理单位是数值矩阵或者数值向量,统一将矩阵或者向量(一维数组,行/列向量)称之为数组。1变量与常量变量:指在程序运行过程中需要改变数值的量,每一个变量具有一个名字。命名规则常量:指在程序运行过程中不需要改变数值的量,常量亦具有名字,定义方法同变量。2数组一般,数组是有序数据的集合,在大多数编程语言中,数组的每一个成员(元素)都属于同一种数据类型,它们使用同一个数组名称和不同的下标来确定数组中的成员。,对于M语言,大多数数据类型的数组每一个元素都是同一个数据类型的元素,而对于其特殊的元胞数组(第三章)则不然。3向量从编程语言的角度来看,向量其实就

2、是一维数组,但从数学的角度来看,向量就是或者的矩阵,即行向量或列向量,和都是一维数组,但从数学的角度上看,分别被称为列向量和行向量。,MATLAB的基本运算单位就是矩阵和向量。4矩阵矩阵就是二维的数组。,2.2创建向量从编程语言的角度,向量就是一维数组。在MATLAB中创建向量可以使用不同的方法。例21利用逐个输入元素的方法在MATLAB中创建向量。(whos/who函数,help/type函数),第二种创建向量的方法可以利用运算符“:”。例22利用冒号运算符创建向量。,注:用冒号运算符创建向量时不需方括号。,利用冒号运算符创建向量的基本语法如下:XJ:INC:K其中:J为向量的第一个元素,而

3、K为向量的最后一个元素,INC为向量元素递增的步长;J,INC,K之间必须用“:”间隔;若在表达式中忽略INC,则默认的递增的步长为1;INC可以为正数也可以为负数,若INC为正数,则必须JK,若INC为负数,则必须JK,否则创建的为空向量。,创建向量的第三种方法是使用函数linspace 和logspaceLinspace是用来创建线性间隔向量的函数,基本语法为x=linspace(x1,x2,n)其中:x1为向量的第一个元素,x2为向量的最后一个元素,n 为向量具有的元素个数,间隔的计算公式。若在表达式中忽略n,则系统默认地将向量设置为100个元素。,例24使用linspace函数创建向量

4、。,函数logspace被用来创建对数空间的向量。基本语法为:x=logspace(x1,x2,n)其中:x1为向量的第一个元素,x2为向量的最后一个元素,n 为向量具有的元素个数,元素间隔按照对数空间的间隔设置。若在表达式中忽略n,则系统默认地将向量设置为50个元素。,例25使用logspace函数创建向量。,上面创建的都是行向量,即创建的都是一行n列的二维数组。如果需要创建列向量,即n行一列的数组,则需要使用分号作为元素与元素之间的间隔或者直接使用转置运算符“”。,2.3创建矩阵 在编程语言中,矩阵和二维数组一般指的是同一个概念,在M语言中,矩阵的元素可以为任意的MATLAB数据类型的数值

5、或者对象。创建矩阵的方法也有多种,不仅可以直接输入元素,还可以使用MATLAB的数组编辑器编辑矩阵的元素。2.3.1直接输入法直接输入矩阵元素创建矩阵的方法适合创建元素较少的矩阵。例27用直接输入矩阵元素的方法创建矩阵。,可以将矩阵的每一行或每一列看作一个向量,矩阵就是由若干向量组合而成的。,2.3.2数组编辑器(上节课留下的问题)在工作空间浏览器中可以察看当前工作空间中保存的各种数据的信息,利用工作空间浏览器,在相应的变量上单击鼠标右键,通过弹出的快捷菜单可以对矩阵或者向量进行编辑,也可以删除、重命名工作空间的变量。对矩阵或者向量元素的编辑可以通过数组编辑器完成。可以在工作空间中直接双击变量

6、,打开数组编辑器。,在命令行窗口中直接输入元素较多的向量或者矩阵时比较麻烦。所以,可以利用数组编辑器完成大的矩阵的编辑。具体方法如下:首先在命令行窗口中创建一个新的变量,可以为这个变量赋任意的数值,例如在MATLAB的命令行窗口中键入:A1然后通过工作空间浏览器打开数组编辑器,并在数组编辑器中加载相应的变量。在数组编辑器的工具栏中,分别修改矩阵的行数和列数,则数组编辑器将自动扩充矩阵,将未定义的元素赋初值为零,这时就可以双击任意元素来修改矩阵的元素的值了。,2.4索引讨论怎样访问和操作向量或者矩阵元素的问题。就是利用矩阵或者向量元素的索引来完成相应的操作。注意:MATLAB的矩阵或者数组的索引

7、起始值为1。(C语言的数组索引下标的起始数值为0)2.4.1向量元素的访问访问向量的元素只要使用相应元素的索引即可。例28访问向量中的元素,说明:访问向量元素的结果是创建新的向量。访问向量的元素直接给出元素在向量中的序号,元素的序号不仅可以是单一的整数,还可以是元素序号组成的向量。访问向量元素时,序号的数值必须介于数值1到end之间,关键字end表示向量中最后一个元素的序号。(如何单独取列或者行的技巧)?,例:对向量的元素进行赋值,上例中,对向量的第15个元素赋值,在赋值之前向量的第11到15个元素不存在,将自动创建这些元素。并且为没有明确赋值的元素赋默认值0。,2.3.2数组编辑器(上节课留

8、下的问题)在工作空间浏览器中可以察看当前工作空间中保存的各种数据的信息,利用工作空间浏览器,在相应的变量上单击鼠标右键,通过弹出的快捷菜单可以对矩阵或者向量进行编辑,也可以删除、重命名工作空间的变量。对矩阵或者向量元素的编辑可以通过数组编辑器完成。可以在工作空间中直接双击变量,打开数组编辑器。(在A(m,n)处输入一个数值即可),2.4.2矩阵元素的访问访问矩阵的元素也需要使用矩阵元素的索引,有两种方式:1、使用矩阵元素的行列全下标形式。2、使用矩阵元素的单下标形式(二维数组是按列存储的)。例210访问矩阵的元素。MATLAB工作空间中具有一个55的矩阵,该矩阵是五阶的幻方,通过命令行获取矩阵

9、的第二行、第四列的元素。,说明:使用了MATLAB函数magic创建幻方。所谓幻方,就是n阶的方阵,该方阵的行元素和列元素的和都相等(sum(1:5,:)等验证)。使用全下标的形式访问矩阵元素的方法简单、直接,同线性代数的矩阵元素的概念一一对应。矩阵元素的单下标是矩阵元素在内存中存储的序列号,一般地,同一个矩阵的元素存储在连续的内存单元中。(注意MATLAB中数组按列存储)矩阵元素的单下标与全下标之间的对应关系如下:以mn的矩阵为例,该矩阵的第i行第j列的元素全下标表示为单下标l=(j-1)m+i,为了方便全下标和单下标之间的转换,MATLAB提供了两个函数分别完成两者之间的相互转化。sub2

10、ind:根据全下标计算单下标。例子:a=1:3;4:6;7:9;b=sub2ind(size(a),2,1)ind2sub:根据单下标计算全下标。c1,c2=ind2sub(size(a),7),表21使用索引访问矩阵元素的方法,2.5基本运算2.5.1矩阵生成函数表22MATLAB的矩阵生成函数,2.5.2基本矩阵运算这些规则和函数都分别和线性代数的基本概念和运算规则对应。,例矩阵运算示例求解方程组,把A的逆阵左乘以b,MATLAB就记作A,称为左除。,如果原始方程的未知矩阵在左而系数矩阵在右,即X*DBX=B*inv(D)=B/D把D的逆阵右乘以B,记作/D,称之为右除。,2.5.3基本数

11、组运算1、数组转置数组转置的操作符是在矩阵转置操作符前加符号“.”。(实数情况下等价)例:数组转置操作,2、数组幂数组幂运算符(单个符号自身运算)就是在矩阵运算符前加上符号“.”。,3.数组乘法,2.5.4基本数学函数在MATLAB中部分函数可以用来进行基本的数学运算,有三角函数,指数运算函数、复数运算函数等。注意:这些函数的参数可以是矩阵、向量或者多维数组,函数在处理参数时,都是按照数组运算运算的规则来进行的。函数数目较多,不一一列出,后面用到时再作说明。2.5.5矩阵(数组)操作函数,例:对称交换函数的使用示例。,函数flipdim的第二个参数必须是大于0的整数。为1时效果同flipud。参数为2时,效果和fliplr函数一致。,例创建复杂矩阵,2.7多维数组所谓多维数组,就是全下标表示元素时,下标超过两个的数组。如三维数组,第一维称为行,第二维称为列,第三维称为页(见前面的全下表转换的例子)。每一页上的数组必须具有同样的行、列数。图像处理中出现的彩色图像即为此种情况。2.7.1创建多维数组例:使用直接赋值的方法创建多维数组,通过直接赋值的方法创建了三维数组,创建时直接对三维数组第三页上的第三行第三列元素进行赋值,MATLAB将自动扩充数组,并将没有指定数值的数组元素赋初值为0。,例使用函数创建多维数组,像ones、zeros等函数都可以使用这种方式创建多维数组。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号