MATLAB数组和数组运算.ppt

上传人:小飞机 文档编号:6511945 上传时间:2023-11-08 格式:PPT 页数:26 大小:279.49KB
返回 下载 相关 举报
MATLAB数组和数组运算.ppt_第1页
第1页 / 共26页
MATLAB数组和数组运算.ppt_第2页
第2页 / 共26页
MATLAB数组和数组运算.ppt_第3页
第3页 / 共26页
MATLAB数组和数组运算.ppt_第4页
第4页 / 共26页
MATLAB数组和数组运算.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《MATLAB数组和数组运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB数组和数组运算.ppt(26页珍藏版)》请在三一办公上搜索。

1、MATLAB 数组和数组运算,2,MATLAB数组,MATLAB的一个重要功能是能够进行向量和矩阵运算,MATLAB中的多数功能也是基于向量和矩阵运算。因此,矩阵在MATLAB中具有非常重要的位置。在MATLAB中向量和矩阵主要由数组表示,数组是MATLAB的核心数据结构。数组是计算机编程语言上对一组数的通称,矩阵和向量是数学上的概念。数组包括矩阵和向量,一维数组是向量,二维数组是矩阵。所以,矩阵是数组的子集。,3,MATLAB 数组的创建一维数组,MATLAB一维数组的创建主要包括一维行向量和一维列向量的创建。创建一维行向量和一维列向量主要的区别在于创建数组时,数组元素是按照行排列还是按照列

2、排列。一维行向量:把所有数组元素用空格或者逗号分隔,并用方括号把所有数组元素括起来。一维列向量:把所有数组元素用分号分隔,并用方括号把所有数组元素括起来。,4,MATLAB 数组的创建一维数组,等差数组的创建 利用冒号生成等差数组,格式 Start_val:Step:Stop_val Start_val表示等差数组的第一个元素 Step表示步长,步长为正代表递增,步长为负,代 表递减,默认为1 Stop_val表示等差数组的最后一个元素 linspace函数:linspace(Start_val,Stop_val,N),默认N=100 等比数组的创建 logspace函数:logspace(S

3、tart_val,Stop_val,N),默认N=50 产生10Start_val到10Stop_val包含N个元素的等比数组,5,MATLAB 数组的创建二维数组,创建二维数组与创建一维数组的方式类似。在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分号区分不同行。,6,MATLAB 数组的创建其他数组生成函数,7,MATLAB 数组的创建其他数组生成函数,zeros、ones、rand、randn、eye 上述几个函数调用格式相同:A=zeros(n)返回一个nn阶零数组;A=zeros(m,n)返回一个mn阶零数组;函数diag()函数功能:获取数组的对角线元素,也可生成对角数组

4、 a=diag(A)返回A的对角元素,a是列向量;B=diag(a)返回一个nn阶数组;,8,MATLAB 数组的创建其他数组生成函数示例,A=eye(3)A=1 0 0 0 1 0 0 0 1 A=rand(3)A=0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214,A=zeros(3)A=0 0 0 0 0 0 0 0 0 A=ones(2,3)A=1 1 1 1 1 1,9,MATLAB 数组的创建其他数组生成函数示例,A=rand(3,5)A=0.4218 0.9595 0.8491 0.7577 0.6555

5、0.9157 0.6557 0.9340 0.7431 0.1712 0.7922 0.0357 0.6787 0.3922 0.7060 b=diag(A)b=0.42180.65570.6787 C=diag(b)C=0.4218 0 0 0 0.6557 0 0 0 0.6787,10,MATLAB 数组寻址,数组中总是包含多个元素,因此在对数组的单个元素或者多个元素进行访问时,需要对数组进行寻址运算。在 MATLAB 中,数组寻址是通过对数组下标的访问来实现的。提取数组A的第m行、第n列的元素值,使用A(m,n)可以得到。同样,将矩阵A的第m行、第n列的元素值赋为val,使用命令A(m

6、,n)=val。如果在数组寻址时,行或列的值大于数组的大小,则出错。,11,MATLAB 数组寻址,如果需要访问数组中的多个数据,可以通过下标数组进行 例如:A(1,2,2,3)利用冒号操作符也可以访问数组裁减数组 例如:A(2:3,1:2)A(1:2:4,1:2)A(1:2:4,:)A(:,1:2)A(:,:),12,MATLAB 数组的查找,数组的查找函数是find,它能够查找数组中的非零数组元素,并返回其数组索引值。find函数在MATLAB中的使用语法形式:a=find(A)返回数组A中非零元素的单下标索引 注意单下标索引是按列计数(2)a,b=find(A)返回数组A中非零元素的双下

7、标索引放方式。,13,MATLAB 数组的排序,在很多时候我们需要对一个给定的数据向量进行排序。为完成这一操作,MATLAB 提供了 sort 函数,该函数将任意给定的序列进行排序。sort 函数的调用格式有:B=sort(A)B=sort(A,dim)B=sort(.,mode)B,IX=sort(.)其中的 B 为保存结果的数组;A 为待排序的数组,当 A 为多维数组时,用 dim 指定需要排序的维数(默认为1);mode 为排序的方式,可以取值“ascend”和“descend”,分别表示升序和降序,默认为升序;IX 用于存储排序后的下标数组。,14,MATLAB 数组的运算,数组的数值

8、运算 数组的加减法+-数组的乘除法.*./数组的乘方.数组的关系运算数组的逻辑运算,15,MATLAB 数组的数值运算,数组的加减法 数组加减法为数组元素的加减法,与矩阵加减法相同。利用运算符“+”和“-”实现该运算。需要注意的是相加或相减的两个数组必须有相同的维数。或者是数组与数值相加减。数组的乘除法 数组乘除为元素的乘除,通过运算符“.*”和“./”来实现。运算时需要两个数组有相同的维数 或者数组与数值相乘除。注意:在进行除法操作时,作为分母的数组中不能包含 0 元素。,16,MATLAB 数组的数值运算,数组的乘方 数组乘方用符号“.”实现。数组乘方以三种方式进行。底为数组,指数为标量的

9、形式。这种形式的结果是将数组的每个元素进行指数相同的乘方。返回的结果为与底维数相同的数组,结果数组的每个元素为底中相应元素的乘方。底为标量,指数为数组的形式。该形式返回的结果为数组,维数与指数数组相同。结果数组的每个元素为底以指数数组相应元素为指数做乘方的结果。底和指数都是数组的形式。此时两个数组需要有相同的维数。返回结果为一个数组,维数与前面两个数组相同,每个元素为底数数组和指数数组做乘方的结果。,17,MATLAB 数组的关系运算,关系运算和前面讲过的一样,包含6种:小于()、等于(=)、小于等于(=)和不等于(=)。MATLAB 比较两个元素大小时,如果表达式为真,则返回结果1,否则返回

10、0。通过关系运算符实现数组的关系运算。返回结果为一个数组,结果数组的元素为0或者1,由相互比较的两个数组的相应元素的比较结果决定。两个数组进行关系运算,需要维数相等 数组和单个数值也可以进行关系运算,18,MATLAB 数组的逻辑运算,数组逻辑运算也和前面讲过的一样符主要包括“与”(&)、“或”(|)和“非”()。通过逻辑运算符实现数组的逻辑运算。返回结果为一个数组,结果数组的元素为0或者1。两个数组进行逻辑运算,需要维数相等 数组和单个数值也可以进行逻辑运算,19,MATLAB 数组思考题,A=16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 11.找出数组A中大于8

11、的元素的单下标索引2.找出数组A中大于8并且小于14的元素的单下标索引针对第一题:a=find(A8)注意find函数是用来返回数组中的非零元素下标的函数,为什么能直接这样用?,20,MATLAB数组的扩展,数组编辑器扩展数组 双击MATLAB界面工作区中的任一数组变量,都能打开数组编辑器,对该数组进行编辑操作,21,MATLAB数组的扩展,下标索引扩展数组 索引扩展是数组扩展中较为常用的一种方法。比如目前有一个n行m列的数组A,要通过索引来扩展该数组,那么可以使用超出目前数组尺寸的索引数字,来制定数组当前尺寸之外的一个位置,并对该位置的数组元素进行赋值来完成对数组的扩展。同时未指定的新添位置

12、上默认赋值为。,22,MATLAB数组的扩展,cat函数扩展数组 cat系列函数包括:cat,horzcat和vertcat。不管哪个连接函数,都必须保证被操作的数组可以被连接,即在某一个方向上尺寸一致。cat函数 语法:Z=cat(dim,A,B,C,)dim=1/2 行/列元素连接horzcat函数 语法:Z=horzcat(A,B,C)vertcat函数 语法:Z=vertcat(A,B,C),23,MATLAB数组元素的删除,删除数组元素,可以通过将该位置的数组元素赋值为空方括号()即可,一般配合冒号使用,将数组中的某些行、列元素删除。不过需要注意的是,在进行数组元素的删除时,索引结果

13、必须是完整的行或列,而不能是数组内部的块或者单元格。,24,MATLAB多维数组,从 MATLAB 5开始,MATLAB 开始支持多维数组。MATLAB 对多维数组的操作与一维和二维数组相同。目前,对于多维数组,最常用的为三维数组。三维数组在图像处理中有着非常广泛的应用。三维数组的第三维称为“页”,即一个三维数组由行、列和页组成,其中每一页包含一个由行和列构成的二维数组,并且每一页的二维数组必须有相同的维数。,25,MATLAB数组的创建多维数组,多维数组无法像一维数组和二维数组那样一次输入全部值。因此需要借助一些函数来生成多维数组。利用数组函数生成多维数组 利用直接索引方式生成数组 通过 cat 函数创建多维数组 A=cat(3,M,N)cat 函数含义:沿着一个指定维数把数组连接起来。前面也讲到可以用于连接数组(dim=1或2),26,其他常用的MATLAB数组函数,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号