MATLAB的可视化功能

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第4章MATLAB的可视化功能4.1绘制二维图形4.2绘制三维图形4.3符号函数图形的绘制4.4图形用户界面24.1绘制二维图形4.1.1基本绘图命令4.1.2多个图形绘制的方法4.1.6特殊二维图形4.1.3曲线的线型、颜色和数据点形4.1.4设置坐标轴和文字标注4.1.5特殊坐标二维图形3第4章MATLAB的可视化功能4.1绘制二维图形4.1.1基本绘图命令plot命令是MATLAB中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。该命令将各个数据点用直线连接来绘制图形。MATLAB的其它二维绘图命令中的绝大多数是以plot为基础构造的。plot命令打开一个默认的图形窗口,如果已经存在一个图形窗口,plot命令将刷新当前窗口的图形。4plot(x):绘制以x为纵坐标的二维曲线。plot(x,y):绘制以x为横坐标、y为纵坐标的二维曲线。说明:x和y可以是向量或矩阵plot命令的基本调用格式(1).用plot(x)命令绘制x向量曲线当x是长度为n的数值向量,则坐标系的纵坐标为向量x,横坐标为MATLAB系统根据x向量的元素序号自动生成从1开始的向量。567(2).用plot(x,y)命令绘制向量x和y的曲线当参数x和y都是长度为n的向量时,x,y的长度必须相等,用plot(x,y)命令绘制纵坐标为向量y,横坐标为向量x的曲线。(3).用plot(x)命令绘制矩阵x的曲线当x是一个m×n的矩阵,plot(x)命令为矩阵的每列画出一条线,共n条曲线,各曲线自动用不同颜色表示;每条线的横坐标为向量1:m,m是矩阵的行数,绘制方法与向量相同。89(4).用plot(x,y)命令绘制混合式曲线如果x是向量,而y是矩阵,则x的长度与矩阵y的行数或列数必须相等,如果x的长度与y的行数相等,则向量x与矩阵y的每列向量对应一条曲线;如果x的长度与y的列数相等,向量x与矩阵y的每行向量对应一条曲线;如果y是方阵,则x和y的行数、列数都相等,将向量x与矩阵y的每列向量画一条曲线。如果x是矩阵,而y是向量,则y的长度必须等于x的行数或列数,绘制方法与前一种相似。如果x和y都是矩阵,则大小必须相同,矩阵x的每列和y的每列画一条曲线。10111213(5).用plot(z)命令绘制复向量曲线plot(z)中的参数z为复向量时,plot(z)和plot(real(z),imag(z))是等效的,以实部为横坐标,虚部为纵坐标。(6).用plot(x1,y1,x2,y2,…)命令绘制多条曲线plot命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB自动以不同的颜色绘制不同曲线。每一对矩阵(xi,yi)均按照前面的方式解释,不同的矩阵对之间,其维数可以不同。14154.1.2多个图形绘制的方法(1).指定图形窗口使用figure语句可以同时打开多个图形窗口,其调用格式为:figure(n):产生新图形窗口。说明:如果该窗口不存在,则产生新图形窗口并设置为当前图形窗口,该窗口名为“FigureNo.n”,而不关闭其他窗口。16自动出现第一个窗口在第二个窗口绘图在第三个窗口绘图17(2).同一窗口多个子图subplot命令可将一个图形窗口划分为多个区域,每个区域一幅子图。其调用格式为:subplot(m,n,k):使幅子图中的第k幅成为当前图。说明:将图形窗口划分为m×n幅子图,k是当前子图的编号,“,”可以省略。子图的序号编排原则是:左上方为第1幅,先向右后向下依次排列,子图彼此之间独立。1819如果在使用绘图命令之后,想清除图形窗口画其他图形,应使用“clf”命令清图形窗。该命令的执行结果是原图形窗口还在,但窗口中的图形被清除了。20(3).同一窗口多次叠绘为了在一个坐标系中增加新的图形对象,可以用“hold”命令来保留原图形对象。其调用格式为:holdon使当前坐标系和图形保留holdoff使当前坐标系和图形不保留hold在以上两个命令间切换说明:在设置了“holdon”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中存在的图形对象,MATLAB会根据新图形的大小,重新改变坐标系的比例。2122(4).双纵坐标图MATLAB使用plotyy命令可以实现在同一图形中使用左、右双纵轴来绘制曲线。其调用格式为:plotyy(x1,y1,x2,y2)以左、右不同纵轴绘制两条曲线说明:左纵轴用于(x1,y1)数据,右纵轴用(x2,y2)数据来绘制两条曲线。坐标轴的范围、刻度都自动产生。23244.1.3曲线的线型、颜色和数据点形表4-1颜色控制符控制符颜色控制符颜色b蓝色m紫色c青色r红色g绿色w白色k黑色y黄色25表4-2线型控制符控制符线型控制符线型-实线(默认):点连线-.点划线--虚线表4-3数据点形控制符控制符数据点形控制符数据点形控制符数据点形.点d菱形右三角o圆圈h六角形左三角*星号p五角星+加号x叉号v下三角s正方形^上三角26在plot命令中可以使用上面三个表中的符号组成的字符串来控制所画线的线型、颜色和数据点型。其调用格式如下:plot(x,y,’s’)说明:x为横坐标矩阵,y为纵坐标矩阵,s为类型说明字符串参数;s字符串可以是线型、颜色和数据点形3种类型的符号之一,也可以是3种类型符号的组合。27表明图形的横纵坐标为t,x,曲线颜色为黑色,线型为点连线,数据点用圆圈标出。28294.1.4设置坐标轴和文字标注(1).坐标轴的控制坐标控制命令axis可用来控制坐标的特性,表4-4列出其常用控制命令。表中最常用的命令是:axis([xmin,xmax,ymin,ymax])该命令在使用时应注意,必须满足xminxmax,yminymax,这四个数值可以取inf或–inf。3031(2).网格线控制设置或取消网络线需要使用网格线控制命令grid。其调用格式如下:gridon显示网格线gridoff不显示网格线grid在以上两个命令间切换说明:不显示网格线是MATLAB的默认设置。网格线的疏密取决于坐标刻度,如果要改变网格线的疏密,必须先定义坐标刻度。3233(3).文字标注添加图名title(’字符串’)书写图名,字符串可以是英文或中文。添加坐标轴名xlabel(’字符串’)横坐标轴名ylabel(’字符串’)纵坐标轴名3435设置坐标刻度标示set(gca,’xtick’,标示向量)set(gca,’ytick’,标示向量)set(gca,’xticklabel’,’字符串|字符串…’)set(gca,’yticklabel’,’字符串|字符串…’)说明:前两种格式是按照标示向量设置x,y轴的刻度标示,后两种格式是按照字符串设置x,y轴的刻度标示。Gca:Getcurrentaxeshandle3637添加图例legend(s,pos)在指定位置建立图例legendoff擦除当前图中的图例说明:参数s是图例中的文字注释,为字符串。如果多个注释,则可以用s1,s2,…的方式;参数pos是图例在图上位置的指定符,它的取值如P99表4-5所示。38pos取值图例位置0尽量不与数据冲突,自动放置在最佳位置1放置在图形的右上角(默认)2放置在图形的左上角3放置在图形的左下角4放置在图形的右下角-1放置在图形视窗外右边表4-5pos取值所对应的图例位置legend(s,pos)在指定位置建立图例legendoff擦除当前图中的图例用legend命令在图形窗口中产生图例后,还可以用鼠标对其进行拖拉操作,将图例拖到满意的位置。394041添加文字注释text(xt,yt,s)在图形的(xt,yt)坐标处书写文字注释gtext(s)用鼠标在特定处标注文字注释说明:s表示文字注释,为字符串。输入特定的文字(如希腊字符、数学符号等)需要用反斜杠(\)开头,用法如表4-6所示。42表4-6常用特殊字符输入字符显示字符输入字符显示字符输入字符显示字符\piπ\deltaδ\bullet·\alphaα\infty∞\pm±\betaβ\leftarrow\times×\thetaθ\rightarrow\div÷\gammaγ\geq≥\approx≈\omegaω\leq≤\neq≠4344454.1.5特殊坐标二维图形(1).对数坐标图形semilogx(x,y,’参数’)绘制半对数坐标图形,其x轴取以10为底的对数坐标,y轴为线性坐标。semilogy(x,y,’参数’)绘制半对数坐标图形,其y轴取以10为底的对数坐标,x轴为线性坐标。loglog(x,y,’参数’)绘制x,y轴都取以10为底的对数坐标图形。4647(2).极坐标图形polar(theta,radius,’参数’):绘制相角为theta,半径为radius的极坐标图形。484.1.6特殊二维图形(1).条形图bar(x,y,width,’参数’):绘制垂直方向的条形图barh(x,y,width,’参数’):绘制水平方向的条形图说明:x是横坐标向量,省略时默认值是1:m,m为y的向量长度;y是纵坐标,可以是向量或矩阵,当是向量时每个元素对应一个竖条,当是m×n的矩阵时,将画出m组竖条,每组包含n条;width是竖条的宽度,省略时默认宽度是0.8,如果宽度大于1,则条与条之间将重叠;’参数’有grouped或group(分组式)和stacked或stack(累加式),省略时默认为grouped或group。4950(2).直方图hist(y,m)统计每段的元素个数,并画出直方图hist(y,x)说明:m是分段的个数,省略时默认为10;x是向量,用于指定所分每个数据段的中间值;y可以是向量或矩阵,如果是矩阵则按列分段。515253(3).饼图pie(x,explode,{label})说明:x是向量;explode是与x同长度的向量,用来表示某元素对应的扇形图是否从整个饼图中分离出来,非0元素表示该部分需要分离;{label}是用来标注饼图的字符串数组,若该数组省略则默认显示各部分所占总体的百分比。5455(4).阶梯图stairs(x,y)说明:x和y均为向量,该命令绘制以向量x的各个对应元素为横坐标,以y向量的各个对应元素为纵坐标的阶梯图;若两个向量中的一个省略即只有一个向量,则表示绘制以该向量的序号为横坐标,以该向量的各个元素为纵坐标的阶梯图565758594.2绘制三维图形4.2.1基本三维图形plot3(x,y,z,’s’)绘制三维曲线plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,…)绘制多条三维曲线说明:当x,y,z是同维向量时,则绘制以x,y,z元素为坐标的三维曲线;当x,y,z是同维矩阵时,则绘制三维曲线的条数等于矩阵的列数。s是指定线型、颜色、数据点型的字符串。其功能和使用方法类似于绘制二维图形的plot命令。60614.2.2三维图形的修饰与控制624.2.3绘制三维网线图和曲面图三维网线图和曲面图是三维立体图形,MATLAB提供了mesh命令绘制三维网线图,surf命令绘制三维曲面图,这两个命令都能用不同的颜色表示不同的高度。三维立体图形的绘制比plot3命令稍微复杂,在数据准备上需要使用meshgrid命令构成x~y平面上的自变量栅格点阵。63(1).meshgrid命令meshgrid命令是以x,y向量为基准,来产生在x~y平面的栅格点坐标值的矩阵。[X,Y]=meshgrid(x,y)说明:X,Y是栅格点的坐标,为矩阵;x,y为向量。当两向量取值相同时,可省略一个参数。6465(2).三维网线图mesh(z)mesh(x,y,z,c)说明:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当做y坐标轴;x,y分别为x,y坐标轴的自变量;当有x,y,z参数时,c是指定各点的用色矩阵,当c省略时默认用色矩阵是z的数据。如果x,y,z,c四个参数都有,则应该都是维数相同的矩阵。6667(3).三维曲面图surf(z)或surf(x,y,z,c)684.3符号函数图形的绘制4.3.1f

1 / 91
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功