matlab第五章.ppt_第1页
matlab第五章.ppt_第2页
matlab第五章.ppt_第3页
matlab第五章.ppt_第4页
matlab第五章.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 MATLAB的绘图功能目录,5-1 基本绘图函数 5-2 二维图形的绘制 5-3 基本的绘图控制 5-4 子图 5-5 三维图形的绘制 5-6 绘制特殊图形 5-7 控制系统仿真绘图,第五章 MATLAB的绘图功能,MATLAB的图形功能很强,不但可以绘制一般函数的图像,而且可以绘制专业图像,如饼图、条形图等。,表5-1 基本绘图函数,5-1 基本绘图函数,5-2 二维图形的绘制,1、plot函数的调用格式,调用格式1:plot(x,y),功能:绘制二元组x、y 的曲线图形。,这里X为横坐标,Y为纵坐标。,若x、y是同规模的向量,则绘制一条曲线。,若x是向量而y是矩阵,则绘制多条曲线,

2、它们具有相同的 横坐标数据。,若x、y都是矩阵,则以它们对应的列构成二元组来绘制多 条曲线。,调用格式2:plot(y),功能:绘制曲线图形。,若y是向量,其元素是实数,则绘制y与其元素的下标所构成 的二元组的曲线图。,若y的元素是复数,则等价于plot(real(y),imag(y)。,若y是矩阵,则按列绘制曲线图,曲线条数等于y矩阵的列数。,调用格式3:plot(x1,y1,x2,y2,),功能:以(x1,y1),(x2,y2)等为二元组,绘制多条曲线。,例:绘制 , , 的曲线,, x=0:pi/100:2*pi;, y=sin(x);, plot(x,y); %绘制y=sin(x)的图

3、形,其效果如图5-1所示。,例:矩阵数据的曲线绘图。, x=peaks; %利用函数生成数据矩阵x,生成的是一个 4949的矩阵 ,称为多峰函数,常用于三维 曲面的演示。, plot(x) %直接对矩阵x的数据绘图,其效果如图5-3所示。,在命令窗口中继续输入下面的命令:, z=cos(x);, w=0.25*x-0.5;, plot(x,y,x,z,x,w); %绘制三个函数的图形,其效果如图5-2所示。,图5-1 正弦函数的图形,图5-2三个函数的图形,图5-3 实数矩阵的图形,例:用复数矩阵绘图,在复数矩阵中,虚部的值是实部值的指数。, x=1:10;, y=1.5.x;, z=x+i*

4、y;, plot(z),其效果如图5-4所示。,图5-4 复数矩阵的图形,例4 在0X2区间内,绘制曲线 程序如下,图形如5-5所示。, x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y),图5-5 指数与正弦函数积的图形,5-3 基本的绘图控制5-3-1 色彩、线型和数据点标志,函数plot可以接受字符串输入变量,这些字符串输入变量用来指定不同的线型、数据点的标志符号以及每条曲线的颜色。,调用格式:plot(x,y,s),其中,s是由13个字母组成的一个字符串,用来指定所绘制曲线的色彩、线型和数据点标志。,s为空时,表示按系统的缺

5、省定义进行处理。,例如:plot(x,y,-ro),%将绘制一条红色的实线,并且在每个数据点上,都用符号 “o”进行标记,表5-2列出了代表不同曲线的颜色和线型的符号。,表5-3列出了数据标记点的标记符号。,表5-2 颜色和线型标记,表5-3 数据标记点的符号,例:利用品红色、点划线和数据标记点符号“o”来绘制 的图形,, x=0:pi/100:2*pi;, y=sin(x);, plot(x,y,-.mo),其效果如图5-6所示。,图5-6 的图形,例4.3 用不同线型和颜色在同一坐标内绘制曲线 及其包络线。 程序如下,图形如5-7所示:, x=(0:pi/100:2*pi); y1=2*e

6、xp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);,图5-7 的图形,5-3-2 坐标轴的控制,MATLAB在绘图时会根据数据的分布范围来自动选择坐标轴的刻度范围。,用户也可以根据自己的实际要求,利用“axis”命令来指定坐标轴的刻度范围。,调用格式1:axis(xmin,xmax,ymin,ymax),功能:这里xmin、xmax、ymin和ymax分别表示X轴和Y轴的 最大值和最小值。,在调用

7、该命令时要确保最大值的值大于最小值。,调用格式2:axis square,功能:使X轴和Y轴的长度相同。,调用格式3:axis equal,功能:使X轴和Y轴的刻度单位相同。,调用格式4:axis tight,功能:使坐标轴的区域和图形的区域正好吻合。,在对坐标轴的刻度进行标注时,对于线性坐标轴,MATLAB按照数据的范围自动在横轴和纵轴上标出等间距的刻度线。,用户可以利用修改图形的xtick 和ytick属性值来自己设置刻度线的位置,刻度线之间的间距可以不等。,例如:图5-5就是按照MATLAB默认的坐标轴刻度生成的一幅图形,下面再改变坐标轴的显示范围和刻度内容。, x=0:pi/100:2

8、*pi;, y=sin(x);, plot(x,y,-.mo), axis(-1,11,-2,2); %设置X轴和Y轴的最大值和最小值, set(gca,xtick,-1,3,7,11) %在X轴上的-1,3,7,11处标记刻度,图5-8 对坐标轴和刻度的控制,5-3-3 坐标网格,调用格式1:grid on,功能:在当前坐标中附加网格线。,调用格式2:grid off,功能:移掉网格线。,调用格式3:grid,功能:切换grid的on 与off两种状态。,使用 “grid”命令可以在当前做图中附加网格线。,axis off 取消坐标轴 axis on 显示坐标轴,box on/off命令控制

9、是加还是不加边框线, 不带参数的box命令在两种状态之间进行切换。,例1 用图形保持功能在同一坐标内绘制曲线 及其包络线,并加网格线。 程序如下:,x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1;y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,b:); axis(0,2*pi,-2,2); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,k); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持,图5-9,5-3-4 图形的标注和图例,MATLAB提供了许多

10、图形的标注命令(如title、xlabel、ylabel、text和gtext等)在当前坐标系中附加适当的标注。,除了加标注外,还可以在图形的任意位置上放置文本。,调用格式1:title(text),功能:用来给图形加上标题。,调用格式2:xlabel(text),功能:用来对X轴加入标题。,调用格式3:ylabel(text),功能:用来对Y轴加入标题。,调用格式4:zlabel(text),功能:用来对Z轴加入标题。,调用格式5:text(X,Y,string),功能:在图形的指定位置(X,Y)加入一个文本字符串。,调用格式6:gtext(string),功能:利用鼠标在图形中加入文本字符

11、串。,调用格式7:legend(string1,string2, ),功能:给图形加入图例。,使用该命令可对当前图形建立一个图例说明盒,盒内给出用户指定的图例说明,利用鼠标可以移动图例说明盒,以改变其位置。,此外利用命令“legend off”可移掉图例说明盒。,下面是演示图形控制的例子:, x=linspace(0,2*pi,50);, y=sin(x);, z=cos(x);, w=0.25*x-0.5;, plot(x,y,b:,x,z,r-,x,w,-.b*); %绘图, xlabel(X axis); % x 轴的标注, ylabel(function y,z and w); % y

12、,z,w轴的标注, title(Three Function); %图形的标题, grid on, text(6,-0.5,y=sinx) %在点(6,-0.5)处标注, text(2,-0.5,z=cosx), gtext(w=0.25x-0.5), legend(y=sinx,z=cosx,w=0.25x-0.5) %制作图例说明盒,其效果如图5-7所示。,图5-7 坐标网格、标注及图例说明,5-3-5 图形的叠加功能,调用格式1:hold on,调用格式2:hold off,调用格式3:hold,功能:切换hold的on 和off两种状态。,例:演示图形的叠加功能。, x=0:pi/50

13、:4*pi;, y=sin(x);, plot(x,y,r) %绘制一条曲线,其效果如图5-8所示。,使用“hold”命令可以在已有的图形系统中附加新的图形成分。,功能:保留当前图形及坐标的全部属性,使得随后绘制的图形附加到已存在的图形上去。,功能:返回hold的缺省模式,随后的作图命令“plot”将抹去当前已有图形,在绘制新的图形前重新设置坐标轴的属性。,在图5-8的基础上再添加z=sin(x-0.5)和s=sin(x-1)的图形,可继续输入下面的命令:, hold on %等待继续添加图形, z=sin(x-0.5);, s=sin(x-1);, plot(x,z,bo,x,s,-.m*)

14、 %绘制两条曲线, hold off %关闭图形的继续添加功能,其效果如图5-9所示。,图5-8 和图5-9比较示意图:,5-3-6 离散数据点的绘制,例如:设有两个向量x和y,分别为:,x=0:pi/20:6*pi;,y=exp(2*cos(x);,plot(x,y,r*),在MATLAB中,有时需要只绘制表示数据的点,而不将这些离散的点连城完整的线条。,此时,只需在线条特征设置时,忽略线型属性,而仅仅设置其标记符号,就可以只绘制数据点。,调用函数plot时,其字符串的参数只包含颜色和数据标记符号,如 :,这样MATLAB只在每个数据点上绘制一个红色的“*”号,如图5-10所示。,当然,也可

15、以指定线型和标记符号,同时绘制数据点和连接这些数据点的线条。,例如:把上面的“plot”命令稍作修改,首先将数据绘制成红色的实心线,然后在每个数据点上添加带有蓝色边界的圆圈标记符号:,plot(x,y,-r,x,y,ob),其效果如图5-11所示。,我们可以在同一个MATLAB图形窗口中显示多个图形并将这些显示在同一个窗口中的图形打印在同一张纸面上。,要实现此功能,就要利用函数subplot。,调用格式:subplot(m,n,p),功能:将当前图形窗口分割成为mn个绘图子区域,并将第p个子区域作为当前绘图区域。,在图形区域的号码编排中,采用行优先的原则,即:所有的子图沿着第一行从左往右编号,

16、然后是第二行,依次类推。,例:把一个图形窗口分为四个子图,每个子图绘制了不同的图形:, x=-10:0.01:10;, xl1=x.*cos(x);, xl2=-x.*sin(x)+cos(x);, x21=sin(x).*cos(x);,5-4 子图, x22=(sin(x).2).*(cos(x).2);, subplot(2,2,1); % 在左上角绘图, plot(x,xl1);, title(第一个子图), subplot(2,2,2); % 在右上角绘图, plot(x,xl2);, title(第二个子图), subplot(2,2,3); % 在左下角绘图, plot(x,x2

17、1,mo);, title(第三个子图), subplot(2,2,4); % 在右下角绘图, plot(x,x22,g*);, title(第四个子图),其效果如图5-13所示:,图5-13 子图的绘制,在一个图形窗口中,绘制的多个子图之间是互相独立的,用户可以单独对某一个子图进行修改和标注等操作,而不会影响其他的子图。,对子图的操作就是对当前子图进行操作。,如果用户想修改一个图中的子图,必须首先使这个子图成为当前子图。,每个图形窗口中都有一个当前子图。系统默认的当前子图是最后使用的那个子图。,在上面的例子中,当前子图是第四个子图。,如果用户想把图中的第二个子图改为当前子图,方法为:, 用鼠

18、标单击第二个子图,就可以把它改为当前子图。, 利用函数subplot(2,2,2)可以将第二个子图设置为当前子图。,x=linspace(0,2*pi,60); %线性空间矢量,在0和2*pi之 %间产生60个数,形成一维等距向量 y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(2,2,2); plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(2,2,3); plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(2,2,4); plot(x,ct);title(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论