
MATLAB教辅文档资料.ppt
15页2.1 引导引导2.2 数组的创建和寻访数组的创建和寻访 2.3 执行数组运算的常用函数执行数组运算的常用函数2.4 高维数组高维数组1 是是MATLAB最重要的一种内建数据类型最重要的一种内建数据类型( (Built-in Data Type) )· 数组数组是指是指: :由一组实数或复数排成的长方阵列由一组实数或复数排成的长方阵列( (Array ),),它可以它可以 是一维的是一维的““行行””或或““列列””,可以是二维的,可以是二维的““矩形矩形””,也可是三,也可是三维的若维的若 干同维矩形的堆叠干同维矩形的堆叠,,甚至是更高的任意维甚至是更高的任意维 数值数组和数组运算数值数组和数组运算MATALB核心内容核心内容2.1 引导引导【例2.1-1】绘制函数绘制函数的曲线—— 看演示看演示 (( try2.m))· 数组运算数组运算是指:无论在数组上施加什么运算是指:无论在数组上施加什么运算( (加减乘除或函数加减乘除或函数),), 总认定那种运算对被运算数组中的每个元素总认定那种运算对被运算数组中的每个元素(Element)(Element)平等地时平等地时 实施同样的操作。
实施同样的操作 try2.m 绘制y=x*exp(-x)曲线 x=0:0.1:1; % 定义自变量的采样点取值数组clear % 定义自变量的采样点取值数组y=x.*exp(-x); % 利用数值运算计算各自变量采样点上函数值plot(x,y),xlabel('x') , ylabel('y') , title('y=x*exp(-x)') % 绘图2一、一维数组的创建一、一维数组的创建1.1.逐个元素输入法逐个元素输入法2.2.1 一维数组的创建和寻访一维数组的创建和寻访2.2 数组的创建和寻访数组的创建和寻访x=[2 pi/2 sqrt(3) 3+5i]2.2.冒号生成法冒号生成法这是通过这是通过“步长步长”设定,生成一维设定,生成一维“行行”数组的方法该方法通用数组的方法该方法通用格式是:格式是:这是最简单,但又最通用的构造方法,如:这是最简单,但又最通用的构造方法,如:x = a : inc : b 【说明】【说明】• a是数组的第一个元素;是数组的第一个元素;inc是采样点之间的间隔,即步长。
是采样点之间的间隔,即步长 若(若(b-a)是)是inc的整数倍,则生成数组的最后一个元素是的整数倍,则生成数组的最后一个元素是b, 否则小于否则小于b32.2 数组的创建和寻访数组的创建和寻访• a、、inc、、b之间必须用英文状态下的冒号之间必须用英文状态下的冒号“:”产生Inc可以省略,可以省略, 默认值是默认值是1• inc可以取正数或负数,但要注意取正,要保证可以取正数或负数,但要注意取正,要保证ab3.3.定数线性采样法定数线性采样法该法是在设定该法是在设定“总点数总点数”下,均匀采样生成一维下,均匀采样生成一维“行行”数组格式:数组格式:x = linspace ( a , b , n )• a、、b分别是生成数组的第一个各最后一个元素分别是生成数组的第一个各最后一个元素N是采样总点是采样总点 数,该指令生成(数,该指令生成(1×n))数组• 该指令作用与该指令作用与x = a : ( b – a ) / ( n - 1) : b 相同二、一维数组的子数组寻访和赋值二、一维数组的子数组寻访和赋值【例【例2.2--1】子数组的寻访(】子数组的寻访(Address))>> rand ( ‘state’,0) %把均匀分布的伪随机发生器置为把均匀分布的伪随机发生器置为0状态状态>> x=rand (1,5) % 产生(产生(1×5)的)的0~~1均匀分布的随机数组均匀分布的随机数组42.2 数组的创建和寻访数组的创建和寻访>> x(3) % 寻访数组寻访数组x的第三个元素的第三个元素>> x( [1 2 5] ) % 寻访数组寻访数组x的第一、二、五个元素组成的字数组的第一、二、五个元素组成的字数组>> x( 1:3 ) % 寻访前寻访前3个元素元素组成的字数组个元素元素组成的字数组>> x( 3:end ) % 寻访除前两个元素外的其它全部元素。
寻访除前两个元素外的其它全部元素>> x( 3 : -1 : 1) % 由前由前3个元素倒排构成的子数组个元素倒排构成的子数组>> x( find(x>.5)) % 由大于由大于0.5的元素构成的子数组的元素构成的子数组>> x( [1 2 3 4 4 3 2 1] ) % 对元素可以重复访问,所得数组允许大于对元素可以重复访问,所得数组允许大于%原数组%原数组• 寻访什么样的子数组,取决于数组寻访什么样的子数组,取决于数组x(index)中下标中下标index• 下标下标index本身可以是单个正整数,或正整数数组,但本身可以是单个正整数,或正整数数组,但index中每中每 个元素取值必须在闭区间个元素取值必须在闭区间[1,end]内,内,end是一维数组的长度是一维数组的长度例【例2.2--2】子数组的赋值(】子数组的赋值(Assign))>> x(3) = 0 %把上例中的第三个元素重新赋值为把上例中的第三个元素重新赋值为0>> x([1 4])=[1 1] %把当前把当前x数组的第一、第四个元素都赋值为数组的第一、第四个元素都赋值为15一、二维数组的创建一、二维数组的创建1.1.直接输入法直接输入法2.2.2 二维数组的创建和寻访二维数组的创建和寻访2.2 数组的创建和寻访数组的创建和寻访(1)整个数组必须以方括号整个数组必须以方括号“[ ]”为其收尾。
为其收尾2)数组的行与行之间必须用分号数组的行与行之间必须用分号“;”或回车键或回车键【【enter】】隔离对于较小数组,从键盘上直接输入最为简便二维数组有以下对于较小数组,从键盘上直接输入最为简便二维数组有以下三个要素:三个要素:• 二维数组是由实数或复数排列成矩形而构成的从数据结构上二维数组是由实数或复数排列成矩形而构成的从数据结构上 看,矩形和二维数组没有什么区别当二维数组带有线性变换看,矩形和二维数组没有什么区别当二维数组带有线性变换 含义时,该二维数组就是矩阵含义时,该二维数组就是矩阵3) 数组元素必须由逗号数组元素必须由逗号“,”或空格分割或空格分割例【例2.2--3】二维数组的创建】二维数组的创建—直接输入法直接输入法>> a=2.7358; b=33/79;分号作为指分号作为指令结束符时,令结束符时,结果不显示结果不显示62.2 数组的创建和寻访数组的创建和寻访>> C=[1,2*a+I*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]2.2.利用利用M M文件创建和保存数组文件创建和保存数组—— 看演示看演示 (( try3.m))二、二、二维数组的标识二维数组的标识1.“全下标全下标”标识,如标识,如A(3,5)表示二维数组表示二维数组A的第三行第五列元素的第三行第五列元素2.“单下标单下标”标识,标识,“只用一个下标来指明元素在数组中的位置只用一个下标来指明元素在数组中的位置”。
1) 先对二维数组的所有元素进行先对二维数组的所有元素进行“一维编号一维编号”;;即:先即:先设想设想把二维数组的所有列,按先左后右的次序、首把二维数组的所有列,按先左后右的次序、首尾相接排成尾相接排成“一维长列一维长列”2) 然后,自上往下对元素位置进行编号然后,自上往下对元素位置进行编号如:如:,,A(4)表示表示6这个元素,与这个元素,与A(2,2)同3.“逻辑逻辑1”标识标识这种方法常用于寻找数组中所有大于某值的元素,看下例这种方法常用于寻找数组中所有大于某值的元素,看下例72.2 数组的创建和寻访数组的创建和寻访【例【例2.2--4】找出上面数组】找出上面数组A中所有大于绝对值大于中所有大于绝对值大于1的元素>> A=zeros(2,3); %预生成一个(预生成一个(2×3)的全零数组)的全零数组>> A(:)=-2:3; %运用全元素赋值法获得运用全元素赋值法获得A>> L=abs(A)>1 %产生与产生与A同维的同维的“0--1”逻辑值数组逻辑值数组>> islogical(L) %判断判断L是否逻辑值数组,输出若为是否逻辑值数组,输出若为1,则是,则是>> X=A(L) %把把L中逻辑值中逻辑值1对应的对应的A元素取出元素取出>> X=A(abs(A)>1) %直接实现直接实现 ——看演示看演示• 逻辑数组是一种特殊的数据类型,元素或是逻辑数组是一种特殊的数据类型,元素或是0或是或是1。
• 所谓所谓“逻辑逻辑1”标识法是:通过与标识法是:通过与A同样大小的逻辑值同样大小的逻辑值L中中“逻辑逻辑 值值1”所在的位置,指示所在的位置,指示A中元素的位置中元素的位置三、二维数组的子数组寻访和赋值三、二维数组的子数组寻访和赋值常用相关指令归纳如下:常用相关指令归纳如下:82.2 数组的创建和寻访数组的创建和寻访—— 看演示看演示9对于对于(m×n)(m×n)数组数组,函数,函数f(f(․ ․) )的数组运算规则是指:的数组运算规则是指:一、函数数组运算规则的定义一、函数数组运算规则的定义 2.3 执行数组运算的常用函数执行数组运算的常用函数二、常用函数二、常用函数102.3 执行数组运算的常用函数执行数组运算的常用函数三、标准数组生成函数三、标准数组生成函数11四、常用数组操作函数四、常用数组操作函数reshape:reshape:在总元素数不变的前提下,改变数组的在总元素数不变的前提下,改变数组的““行数、列数行数、列数””—— 看演示看演示 flipud:flipud:以数组水平中线为对称轴以数组水平中线为对称轴, ,交换上下对称位置上的元素交换上下对称位置上的元素。
2.3 执行数组运算的常用函数执行数组运算的常用函数fliplr:fliplr:以数组垂直中线为对称轴以数组垂直中线为对称轴, ,交换左右对称位置上的元素交换左右对称位置上的元素五、数组运算和矩阵运算指令对照表五、数组运算和矩阵运算指令对照表122.3 执行数组运算的常用函数执行数组运算的常用函数六、关系操作和逻辑操作六、关系操作和逻辑操作另外还有其它重要的关系逻辑函数:另外还有其它重要的关系逻辑函数: all, any , isequal, xor等132.4 高维数组高维数组……高维数组的创建和操作与二维高维数组的创建和操作与二维数组类似,分为数组类似,分为“行行”“列列”、、“页页”,此处暂不介绍,感兴趣,此处暂不介绍,感兴趣者自修!者自修!14第二章作业第二章作业1.要求在闭区间要求在闭区间[0,2*pi]上产生上产生50个等距采样的一维数组试用个等距采样的一维数组试用两种不同的指令实现两种不同的指令实现2. 由指令由指令rand(‘state’,0),A=rand(3,5) 生成的二维数组生成的二维数组A,试求该,试求该数组中所有大于数组中所有大于0.5的元素的位置(位置用全下标表示)。
的元素的位置(位置用全下标表示)3. 在时间区间在时间区间[0,10]中,绘出中,绘出y=1-e-0.5tcos2t曲线4.写出生成如下图所示波形的写出生成如下图所示波形的MATLAB脚本脚本M文件图中虚线文件图中虚线为正弦波,要求它的负半波被置零,且在为正弦波,要求它的负半波被置零,且在sqrt(3)/2处被削顶处被削顶5. 画红色画虚线:画红色画虚线:plot(x,y,’:r’),,画黑实线:画黑实线:plot(x,y,’-k’)画两点间线段:画两点间线段:Line(A,B)A:两点横坐标:两点横坐标B:两点纵坐标:两点纵坐标如:如:line([1 4],[3 5])15。






![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)





