Matlab:一维数组及其应用(精品).ppt
《Matlab:一维数组及其应用(精品).ppt》由会员分享,可在线阅读,更多相关《Matlab:一维数组及其应用(精品).ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab:一维数组及其应用一、一维数组二、一维数组在二维绘图中的应用三、一维数组在向量运算中的应用四、一维数组在一元多项式运算中的应用一、一维数组数值数组(简称为数组)是Matlab中最重要的一种内建数据类型数组运算是Matlab软件定义的运算规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)进行运算。1、一维数组的两种形式行数组:n个元素排成一行 又称为行向量(row vector)列数组:m个元素排成一列又称为列向量(column vector)一般情况下,向量指列
2、向量2、用方括号 创建一维数组整个数组放在方括号里行数组元素用空格或逗号分隔 x=2,pi/2,sqrt(3),3+5i列数组元素用分号分隔 y=2;pi;3/4;j标点符号一定要在英文状态下输入 x=生成空数组3、用冒号创建一维数组x=a:bx=a:inc:b默认 inc=1x=a,a+inc,a+2*inc,a,b必须为实数a是数组x中的第一个元素,b不一定是数组x的最后一个元素。4、用linspace()函数创建一维数组x=linspace(a,b)x=linspace(a,b,n)x=linspace(0,pi,10)x=linspace(1+i,100+100*i)在a,b区间内生成
3、 n 个数据,包括a和b在内默认 n=100若a,b为实数,等效于:5、用logspace()函数创建一维数组x=logspace(a,b)默认n=50 x=logspace(a,b,n)x=logspace(a,pi)6、引用一维数组中的单个元素x=1:5k=2a=x(k)引用数组 x 中的第 k 个元素,将其赋值给变量 ab=x(end)引用数组 x 中的最后一个元素,将其赋值给变量 bc =x(8)会出现什么结果?7、一维数组中单个元素的赋值x=1:5a=1.5k=3x(k)=0将 0 赋值给数组 x 中的第 k 个元素x(end)=a将 a 赋值给数组 x 中的最后一个元素x(8)=6
4、.5 会出现什么结果?8、引用一维数组中的子数组引用一维数组x中的第2、5、9个元素,将其赋值给变量 ax=linspace(1,5)a=x(2,5,9)b=x(end:-1:1)c=x(1:2:end)d=x(2:2:end)b=?c=?d=?x=linspace(1,5)s=2,5,9a=x(s)9、给一维数组中的子数组赋值将2、7分别赋值给x的第1、4个元素x=linspace(1,5)x(1,4)=2,7x=linspace(1,5)s=1,4a=2,7x(s)=a10、Matlab中的函数在一维数组上的运算规则Matlab中的很多函数都可以直接以数组作为输入参数,函数输出也为数组。输
5、入为行数组,则输出也为行数组输入为列数组,则输出也为列数组10、一维数组的转置运算x.xx做转置(行列,列行)x做共轭转置若x的元素均为实数,则x.与x的结果相同x=(1:100)11、一维数组与一维数组的运算x+yx-yx.*yx./yx.yx.y加减乘右除左除幂两个一维数组之间进行运算,要求:1、两个数组都为行数组(或都为列数组)2、数组元素个数相同,对应位置的元素做对应位置的元素做C语言中,可使用循环语句完成类似的操作y+xy-xy.*xy./xy.xy.x12、一维数组与数的运算若x为数组,c为数(实数或复数),x+cx cc.*xx./cx.cx.c加减乘右除左除幂数组的每个元素都与
6、数c做c+x c-xc*xc./xc.xc.x 13、与一维数组相关的函数max(x)a,b=max(x)max(x,y)返回x中的最大值返回x的最大值(a)及最大值在x中的位置(b)返回一向量,元素为x,y相同位置上的较大值min(x)c,d=min(x)min(x,y)返回x中的最小值返回x的最小值(c)及最小值在x中的位置返回一向量,元素为x,y相同位置上的较小值mean(x)返回x的平均值median(x)返回x中元素的中值std(x)计算x中的数值的标准差sum(x)计算x的所有元素的和cumsum(x)返回一个包含x的元素的累加和的向量,其大小与x相同prod(x)计算x的元素的积
7、cumprod(x)返回一个包含x的元素的累乘积的向量,其大小与x相同sort(x)返回x中的元素按升序排序的向量length(x)返回数组的长度(行数或列数种的较大值)numel(x)返回数组元素的个数一维数组相关函数的应用以线性拟合为例nT()R()119.176.30225.077.80330.179.25436.080.80540.082.35645.183.90750.085.10测得铜导线在温度Ti下的电阻为Ri,编写一个M脚本文件,用matlab提供的数组函数对数据进行线性拟合,求出斜率、截距和相关系数,并与origin的拟合结果进行比较。x=0:0.2:2*pi;plot(x,
8、cos(x),k*-);二、一维数组在二维绘图中的应用1、plot(a,b,string)a,b 都是一维数组,以都是一维数组,以 a 中元素为横坐标,中元素为横坐标,b 中元素中元素为纵坐标作平面曲线。为纵坐标作平面曲线。a,b 必须具有必须具有相同长度相同长度。string 是用是用 单引号单引号 括起来的字符串,用来指定图形的属性(点、线的形括起来的字符串,用来指定图形的属性(点、线的形状和颜色)状和颜色)黑色、实线黑色、实线离散点用星号离散点用星号属性可以全部指定,也属性可以全部指定,也可以只指定其中某几个。可以只指定其中某几个。排列顺序任意排列顺序任意2、线型、标记和颜色线型点标记颜
9、色-实线:点线-.点划线-虚线.点o 小圆圈x 叉号+加号星号s 方格d 菱形v 下三角 上三角 右三角p 五角星h 六角星b 蓝色g 绿色r 红色c 青色m 棕色y 黄色k 黑色w 白色3、用plot函数同时绘制多条曲线plot(x1,y1,s1,x2,y2,s2,)x1,y1,s1第一条曲线及其属性x2,y2,s2 第二条曲线及其属性属性可以不写 x=0:pi/10:2*pi;y1=sin(x)y2=cos(x)plot(x,y1,x,y2);4、在已存在的图形上添加新图形可以使用hold命令在一个已经存在得图形上添加一个新的图形。hold on:在输入新的plot函数得时候,matlab
10、不会将现存得坐标轴删除,而是将新得曲线添加到当前的坐标轴中。当新的数据超出了当前坐标限的范围,matlab就将坐标轴重新刻度。hold off:将当前的图形窗口中的图形释放,用以绘制新的图形。hold:实现hold设置的切换。ishold:查询hold当前是on还是off例:使用hold绘制多个图形x=0:pi/10:2*pi;y1=sin(x)y2=cos(x)plot(x,y1);hold on;plot(x,y2);5、在一个图形窗口中绘制多个子图一个图形窗口可以包含多个子图,每个子图拥有自己的坐标轴subplot(m,n,p)将一个绘图窗口分割成 mn 个子图,并将第 p 个子图选定为
11、当前的绘图区域。子图从最上边一行开始,从左至右、从上至下依次编号例:使用子图 x=0:pi/10:2*pi;y1=sin(x)y2=cos(x)subplot(2,2,1);plot(x,y1);subplot(2,2,2);plot(x,y2);被激活的子图在用户输入另一个subplot或者figure命令之前会一直保持被激活状态。当一个新的subplot命令改变了在图形窗口中的子图数量的时候,原来的那些子图就被擦除掉了,以便给新的子图腾出空间。为了回到默认的模式并且在整个图形窗口中只用一套坐标轴,可以使用命令subplot(1,1,1)6、在多个图形窗口中绘图激活绘图窗口figure(n)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 数组 及其 应用 精品
限制150内