110 likes | 360 Views
第三章 MATLAB 的绘图功能. MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能。本章主要介绍 2 维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制 MATLAB 各种图形对象的方法。. 本章重点:. 图形窗口与坐标系的概念 二维图形的绘制 plot() 对数坐标图 极坐标图 子图 图形的修饰与标注 MATLAB 下图形对象的修改. 一、 图形窗口与坐标系的概念.
E N D
第三章 MATLAB的绘图功能 MATLAB受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能。本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法。 本章重点: • 图形窗口与坐标系的概念 • 二维图形的绘制 • plot() 对数坐标图 极坐标图 子图 • 图形的修饰与标注 • MATLAB下图形对象的修改
一、图形窗口与坐标系的概念 MATLAB下,每个图形窗口有唯一的一个序号h,称为该图形窗口的句柄。MATLAB通过管理图形窗口的句柄来管理图形窗口;任何时刻,只有唯一的一个窗口是当前的图形窗口 。 打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭。 可以在图形窗口中设置图形对象的参数。具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性。
坐标系的概念 一个图形必须有其定位系统,即坐标系;在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;每个坐标系都有唯一的标识符,即句柄值;当前坐标系句柄可以由MATLAB函数gca获得;使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值。 axis([Xmin,Xmax,Ymin,Ymax]) 设定坐标范围 axis off;axis on 控制坐标轴的显示
二、 二维图形的绘制 plot函数是最基本的绘图函数,其基本的调用格式为: plot(y)------绘制向量y对应于其元素序数的二维曲线图,如 果y为复数向量,则绘制虚部对于实部的二维曲线图。 plot(x,y)------绘制由x,y所确定的曲线 根据x y的维数有多种形式 plot(x1, y1, 选项1, x2, y2, 选项2, ……)----多组变量绘图 选项是指为了区分多条曲线的颜色、线型及标记点而设定的曲线的属性 。 例1 例2 plotyy(x1,y1,x2,y2)------绘制由x1,y1和x2,y2确定的两组曲线,其中x1,y1的坐标轴在图形窗口的左侧,x2,y2的坐标轴在图形窗口的右侧。
对数坐标图绘制函数 在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy和loglog函数。 semilogx( )------绘制以X轴为对数坐标轴的对数坐标图。 调用格式为:semilogx(x,y,‘选项’) 其中选项同plot函数。该函数只对横坐标进行对数变换,纵坐标仍为线性坐标。 semilogy( )------绘制以Y轴为对数坐标轴的对数坐标图。 调用格式为:semilogy(x,y,‘属性选项’) 该函数只对纵坐标进行对数变换,横坐标仍为线性坐标。 loglog( )------ 绘制X、Y轴均为对数坐标轴的图形。 调用格式为:loglog(x,y,‘选项’) 该函数分别对横、纵坐标都进行对数变换。
等间距向量生成 logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n) 这里,x1表示向量的起点;x2表示向量的终点;n表示需要产生向量点的个数 linspace( )函数,可按线性等间距地分布来产生一个向量
极坐标图的绘制函数 绘极坐标图可用polar( )函数。其调用格式如下: polar(theta, rho,‘选项’)------theta:角度向量,rho:幅值向量,选项与plot函数基本一致。 例如:极坐标模型为: 则绘出极坐标图的程序为: theta=0:0.1:8*pi; p=cos((5*theta)/4)+1/3; polar(theta,p)
多个子图的绘制 MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm个部分。 分割图形窗口用subplot函数来实现,其调用格式为: subplot(n,m,k)或subplot(nmk)------n,m分别表示将窗口分割的行数和列数,k表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用符号分开。 例如:将窗口分成2x2=4个部分 subplot(2,2,1),plot(……) subplot(2,2,2),…… subplot(2,2,3),…… subplot(2,2,4),……
三、图形的修饰与标注 MATLAB提供了一些特殊的函数修饰图形,这些函数如下 1)坐标轴的标题:title函数,其调用格式为: title(‘字符串’)------字符串可以写中文 2)坐标轴的说明:xlabel和ylabel函数 格式:xlabel(‘字符串’) ylabel(‘字符串’) 3)图形说明文字:text和gtext函数 text函数:按指定位置在坐标系中写出说明文字 text(x1, y1, ‘字符串’, ‘选项’) gtext函数:按照鼠标点按位置写出说明文字
图形的修饰与标注(二) • 给图形加网格:grid函数 在调用时直接写grid即可 • 在图形中添加图例框:legend函数,其调用格式为: • legend(‘字符串1’, ‘字符串2’, ……) • legend(‘字符串1’, ‘字符串2’, ……, pos) • ------pos指定图例框显示的位置 • 用鼠标点选屏幕上的点:ginput函数 • 格式为:[x, y, button]=ginput(n) • 其中:n为所选择点的个数;x,y均为向量,x为所选n个点的横坐标;y为所选n个点的纵坐标 举例
四、MATLAB下图形对象的修改 MATLAB图形对象是指图形系统中最基本、最底层的单元,这些对象包括:屏幕(Root)、图形窗口(Figures)、坐标轴(Axes)、控件(Uicontrol)、菜单(Uimenu)、线(Lines)、块(Patches)、面(Surface)、图像(Images)、文本(Text)等等。 对图形对象的修改可以用下面函数: set函数:用于设置句柄所指的图形对象的属性 get函数:获取指定句柄的图形对象指定属性的当前值 gcf:获得当前图形窗口的句柄; gca:获得当前坐标轴对象的句柄; gco:获得当前对象的句柄