您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > matlab图形指令
matlab绘图函数(1):2D绘图先举一个简单的例子x=0:0.01:2*pi;y=sin(x);plot(x,y);图1pic02.jpg(1)直角坐标系2D绘图:plot函数plot()是最基本的二维绘图函数。功能:①自动打开一个图形窗口(Figure),如果已经存在一个图形窗口,则清除当前图形,绘制新图形;②用直线连接相邻两数据点来绘制图形;③可以一次绘制一条曲线,也可以一次绘制多条曲线;④可以设定绘图颜色、点型、线型、线宽等特性。语法:→plot(Y)——当Y是实数一维数组时,等价于:x=1:length(Y);plot(x,Y);当Y是实数二维数组时,等价于:x=1:size(Y,1);plot(x,Y);当Y为复数数组时,等价于:plot(real(Y),imag(Y));→plot(X,Y)当X,Y都是实数一维数组,以X中元素为横坐标,Y中元素为纵坐标作平面曲线。此时X,Y必须具有相同长度。当X,Y都是实数二维数组,将X的列和Y相应的列相组合,绘制多条平面曲线。此时X,Y必须具有相同的维数。当X,Y是复数数组时,忽略虚部,等效于:plot(real(X),real(Y));→plot(X1,Y1,...,Xn,Yn);%%在同一个坐标系中绘制曲线X1Y1,X2Y2,X3Y3,XnYn。→plot(x,Y)x是一维数组,Y是二维数组若x的长度与Y的行数相等,则将x与Y中的各列相对应,绘制多条平面曲线;若x的长度与Y的列数相等,则将x与Y中的各行相对应,绘制多条平面曲线。→plot(X,y)X是二维数组,y是一维数组若y的长度与X的行数相等,则将X中的各列与y相对应,绘制多条平面曲线;若y的长度与X的列数相等,则将X中的各行与y相对应,绘制多条平面曲线。→plot(X1,Y1,LineSpec,...,Xn,Yn,LineSpec);%%以下将详细叙述。按照三个参数Xn,Yn,LineSpec画线,其中LineSpec指定了线型,点标记和画线的颜色,也可以混合使用三参数Xn,Yn,LineSpec和二参数Xn,Yn:plot(X1,Y1,X2,Y2,LineSpec,X3,Y3);LineSpec的三种属性可以全部指定,也可以只指定其中某一个或两个,排列顺序任意。表1LineSpec的LineStyle属性,Marker属性,Color属性线型(LineStyle)点标记(Marker)颜色(Color)-实线.点v下三角b蓝色m棕色:点线o小圆圈^上三角g绿色y黄色-.点划线x叉号左三角r红色k黑色--虚线+加号右三角c青色w白色*星号p五角星s方格h六角星d菱形none无标记(默认)→plot(...,'PropertyName',PropertyValue,...);%%对plot生成的图形对象,用指定的properties进行设置。PropertyNameColor非标准颜色可用[r,g,b]指定,r,g,b取0和1之间的数值,默认值为[0,0,0](黑色),亦可按照表1中进行设置。LineWidth线宽,默认值为0.5LineStyle线型,亦可按照表1中进行设置。Marker点标记,亦可按照表1中进行设置。MarkerEdgeColormarker的颜色(或filledmarkers边的颜色)MarkerFaceColorthefaceoffilledmarkers的颜色MarkerSize点标记的大小→plot(axes_handle,...);%%将图形绘制在由axes_handle指定的坐标系中。e.g.x=0:0.2:2*pi;h1=axes('position',[0.05,0.1,0.4,0.4]);h2=axes('position',[0.5,0.5,0.4,0.4]);plot(h1,x,x);plot(h2,x,sin(2*x));图2pic02.jpg→h=plot(...);h=plot(...)返回图形对象的句柄。图形中的每条曲线都返回自己的句柄(是一个双精度数)。如有多条曲线,则有多个句柄,以列向量的形式返回至h。句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息,可用get()函数获取这些属性,用set()函数设置(修改)属性。e.g.x=0:0.2:2*pi;Y=[sin(x);2*sin(2*x)];h=plot(x,Y);get(h(1));set(h(1),'Color','r','LineWidth',1,'Marker','+');set(h(2),'Color','g','LineWidth',2,'Marker','s');图3pic03.jpg(2)对数坐标绘图→semilogx()x轴:常用对数刻度,y轴:线性刻度→semilogy()x轴:线性刻度,y轴:常用对数刻度→loglog():作图时,x轴、y轴都使用常用对数刻度→loglog(Y)→loglog(X1,Y1,...)→loglog(X1,Y1,LineSpec,...)→loglog(...,'PropertyName',PropertyValue,...)→h=loglog(...)用法与plot()函数完全相同(3)双y轴绘图:plotyy()如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy()绘图函数。→plotyy(X1,Y1,X2,Y2):其中X1,Y1对应一条曲线,X2,Y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。→plotyy(X1,Y1,X2,Y2,'function')使用由function指定的函数绘图,function可以是:plot,semilogx,semilogy,loglog,stem……→plotyy(X1,Y1,X2,Y2,'function1','function2')使用由function1指定的函数作X1,Y1的图使用由function2指定的函数作X2,Y2的图→[AX,H1,H2]=plotyy(...)AX:存储两个Y轴的句柄,AX(1)为左Y轴的句柄,AX(2)为右Y轴的句柄。H1和H2分别为两个图形对象的句柄。(4)极坐标系绘图:polar()polar()接受极坐标形式的函数rho=f(theta),在笛卡尔坐标系平面上画出该函数,且在平面上画出极坐标形式的栅格。→polar(theta,rho)用极角theta和极径rho画出极坐标图形。theta是从x轴到指定矢量半径的夹角,单位为弧度,rho是数据空间单位指定的矢量半径的单位。→polar(theta,rho,LineSpec)参数LineSpec指定极坐标图中线条的线型、标记符号和颜色。→polar(axes_handle,...)用坐标系axes_handle中绘图。→h=polar(...)在h中返回图形对象的句柄。二维/三维绘图函数汇总:绘图函数(2):图形属性控制1、Matlab图形系统简介Matlab的图形系统是面向对象的,图形对象之间的关系为父代与子代的关系。图4pic04.jpg每个图形对象都拥有自己的句柄(handle)。所有能创建图形对象的matlab函数都可给出所创建图形对象的句柄。根(Root):只有一个,对应于计算机屏幕,其句柄为0。其它图形对象都是root的子对象。图形窗口(Figure):数目不限,句柄为正整数。除根之外,其它对象都是figure的子对象。其它图形对象(如坐标轴axis)的句柄为浮点数。图形对象是由其属性来描述的。高层绘图函数对图形对象的描述一般是缺省的或由高层绘图函数自动设置。底层绘图函数用句柄设置图形对象的属性。句柄属性的设置与修改get获得句柄图形对象的属性和返回某些对象的句柄值set改变图形对象的属性delete(h)删除句柄为h的图形对象专用函数gcf返回当前窗口对象的句柄GetCurrentFiguregca返回当前轴对象的句柄GetCurrentAxesgco返回当前图形对象的句柄GetCurrentObject若一个对象的句柄已知,可以获取其父或子的句柄f=get(h,'parent');l=get(h,'children');2、根对象(Root)Root是关联计算机屏幕的一个图形对象。Matlab系统只有一个Root对象,它没有父对象,子对象是Figure。当启动Matlab时,Root对象就创建,用户无法再创建一个Root,也无法删除这个对象,Root的句柄值为0。root的属性属性名称意义取值CurrentFigure当前图形窗口的句柄figure的句柄children所有子对象的句柄句柄数组Units度量单位pixel,inches等ScreenSize屏幕的大小[left,bottom,width,height]docsearch'rootproperties':在帮助中查询root的所有属性root的ScreenSize属性:只读属性,默认单位为像素(pixel),由屏幕的左下角坐标、宽度、高度四个参数确定。ss=get(0,'ScreenSize'),返回行向量ss=[left,bottom,width,height]图5pic05.jpg3、图形窗口(Figure)Figure对象是Matlab系统中显示的图形窗口。用户可建立任意多个Figure窗。所有Figure对象的父对象都是Root对象,而其他所有Matlab图形对象都是Figure的子对象。figure():创建图形窗口close():删除图形窗口clf():图形图形窗口中的子对象gcf:返回当前窗口对象的句柄创建图形窗口:figure→figure利用缺省属性值来创建新的图形窗口对象。→figure('PropertyName',propertyvalue,...)利用指定的属性值来创建图形窗口对象。对于用户没有显式地定义的属性值,将其设置为默认的属性值。→figure(h)如果句柄h所指示的图形窗口对象存在,则将其设置为当前窗口,并将其移动到屏幕的最前方。如果h所指示的图形窗口不存在且h是个整数(h=1),则创建一个图形窗口,并将窗口的句柄设置为h;如果h不是整数,则返回错误信息。→h=figure(...)返回图形窗口对象的句柄。备注:为了在一个已有的图形窗口中绘制图形,这个窗口必须是激活的,或者是当前的图形窗口。删除图形窗口:close→close删除当前figure,相当于close(gcf)→close(h)删除由h确定的figure。如果h是一个向量或矩阵,就删除由h指定的所有图像→closename删除指定名称的figure→closeall删除所有句柄没有隐藏的figure→closeallhidden删除所有figure,包括句柄隐藏的。→status=close(...)如果指定的figure已经被删除则返回1,否则为0。清除图形窗口中的子对象:clf→clf删除当前图形窗口中、句柄未被隐藏(即它们的HandleVisibility属性为on)的图形对象。→clf('reset')或clfreset删除当前图形窗口中的所有图形对象,无论其句柄是否被隐藏,同时将图形窗口的属性(除Position,Units,PaperPosition,PaperUnits外)恢复为默认值。→clf(fig)或clf(fig,'reset')清除由句柄为fig的图形窗口中的内容。→figure_handle=clf(...)返回图形窗口的句柄,Figure的一些属性属性名称意义取值Color背景色颜色字符串或[rgb]CurrentAxes当前坐标轴句柄坐标轴句柄Curr
本文标题:matlab图形指令
链接地址:https://www.777doc.com/doc-4665938 .html