第三章MATLAB绘图(二维)

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

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

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

资源描述

第三章MATLAB绘图(二维)07电本黄国营0712020110——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。matlab语言的绘图功能不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。3.1二维图形3.1.1绘制二维曲线的基本函数一、plot函数曲线的颜色、线型、标记二、图形放大及缩小1.基本绘图函数:plot函数plot(x1,y1,’option1’,x2,y2,’option2’,…)x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,如曲线的颜色、线型及数据点标记符号等以逐点连折线的方式绘制第1个二维图形;同时类似地绘制第2个二维图形,……等。这是plot命令的完全格式*plot的功能用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示如果打开过图形窗口,则在最近打开的图形窗口上绘制图形,且清除当前图形,绘制新图形,如果未打开窗口,则开一个新的图形窗口Figure可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图可任意设定曲线颜色和线型可给图形加坐标网线和图形加注功能2.plot的常用格式(1)plot(x)当x为一向量时,以x元素的值为纵坐标,x的序号为横坐标值绘制曲线。当x为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x为m×n矩阵时,就有n条曲线。(2)plot(x,y)这是最常见的形式。在plot(x,y)中如果x,y是同维向量,该指令以x元素为横坐标值,y元素为纵坐标值绘制曲线。如x是向量,y是有一维与x元素数量相等的矩阵,则以x为共同横坐标,按列绘制y每列元素值,曲线数为y的另一维的元素数。如x,y是同维矩阵,则以x,y对应列元素为横、纵坐标分别绘制曲线,数目等于矩阵的列数。(3)plot(x,y1,x,y2,…)%y写成向量形式以公共的x元素为横坐标值,以y1、y2…元素为纵坐标值绘制多条曲线。当然每条曲线也可以有不同的横坐标(4)plot(x1,y1,x2,y2,…)例3.1绘制出显函数方程在区间内的曲线。在命令窗口输入如下语句x=-pi:pi/10:pi;%以pi/10为步长y=tan(sin(x))-sin(tan(x));%求出各点上的函数值plot(x,y,'--rs','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10)得到的图形如图3.1所示,并标上了线型属性。图3.1以pi/10为步长的曲线tan(sin(x))-sin(tan(x))由于plot()函数只将给定点用直线连接起来,因此步长选得过大,曲线将看似一折线,因此将上述绘图语句步长改为0.05,并在及两个子区间内加密自变量选择点,即将上述语句修改为x=[-pi:0.05:-1.8,-1.801:0.001:-1.2,-1.2:0.05:1.2,1.2:0.001:1.8,1.81:0.05:pi];%以步长方式构造自变量y=tan(sin(x))-sin(tan(x));plot(x,y)得到曲线如图3.2所示。-4-3-2-101234-3-2-10123图3.2细化步长后的曲线tan(sin(x))-sin(tan(x))plot的开关调用格式Plot(x,y,’s’)——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。或plot(x1,y1,’s1’,x2,y2,’s2’,…)表3.1MATLAB绘图命令的各种选项色彩字符色彩字符线型字符线型格式y黄-实线m洋红色:点线c青-.点划线r红--虚线g绿b蓝w白k黑-4-3-2-101234-3-2-10123标记符号数据点形式标记符号数据点形式.点小于号o圆s正方形x叉号d菱形+加号p五角星*星号h六角星v向下的三角形^向上的三角形大于号3.2用不同的线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。MATLAB程序如下:x=[0:pi/100:2*pi]';y1=2*exp(-0.5*x);x=[0:pi/100:2*pi];y1=2*exp(-0.5*x);y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,'k:',x,-y1,'k:',x,y2,'b--')%y1和-y1为包络线程序执行结果如图3.3所示,图中首先用黑色虚线绘出两根包络线,再用蓝色双划线绘出曲线y。图3.3用不同线型和颜色绘制的曲线01234567-2-1.5-1-0.500.511.52square正方形diamon菱形pentagram五角星hexagram六角星说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。2.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)3.1.2设置轴的形式与刻度设置在绘制图形时,用户可以使用函数axis和set对坐标轴的刻度范围进行重新设定,其调用格式如下:(1)函数axisaxis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的用法还有:axisequal纵、横坐标轴采用等长刻度axissquare产生正方形坐标系(缺省为矩形)axisauto使用缺省设置axisoff取消坐标轴axison显示坐标轴例3.3绘制单位圆。MATLAB程序如下:clear;closeall;clct=[0:0.01:2*pi];%定义时间范围x=sin(t);y=cos(t);plot(x,y)axis([-1.51.5-1.51.5])%限定x轴和y轴的显示范围pausegridonaxis('equal')程序运行结果如图3.4所示。图3.4单位圆(2)函数setset(gca,’xtick’,标示向量),set(gca,’ytick’,标示向量),按照标示向量设置x,y轴的刻度标示;set(gca,’xticklabel’,‘字符串|字符串···’),set(gca,’yticklabel’,‘字符串|字符串···’),按照字符串设置x,y轴的刻度标志例3.4给正弦曲线设置刻度标示。MATLAB程序如下:t=0:0.05:7;plot(t,sin(t))set(gca,'xtick',[01.43.1456.28])set(gca,'xticklabel','0|1.4|half|5|one')程序运行结果如图3.5所示。-1.5-1-0.500.511.5-1.5-1-0.500.511.5图3.5设置刻度标示的正弦曲线3.1.3图形的标注、网格及图例说明绘制图形时,可以对图形加上一些说明,添加网格和图例等,基本函数及其调用格式如下:(1)添加图形标题命令titletitle(‘string’),在当前坐标系的顶部加一个文本串string,作为图形的标题。title(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…),设置标题名属性。(2)添加坐标轴标志函数xlabel、ylabel、zlabelxlabel(‘string’),ylabel(‘string’),zlabel(‘string’),给当前X轴或Y轴或Z轴标注文本文注。xlabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)或ylabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)或zlabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)对X轴、Y轴、Z轴分别进行属性设置。(3)文本注释函数text,gtexttext(x,y,‘string’),在二维图形(x,y)位置处标注文本注释‘string’text(x,y,z,‘string’),在三维图形(x,y,z)位置处标注文本注释‘string’gtext(‘string’)-用鼠标拖动来确定标注文字‘string’的位置。输入特定的文字用\表示,见表3.2例3.5绘制分段函数曲线并添加图形标注。01.4half5one-1-0.8-0.6-0.4-0.200.20.40.60.818,186,2/564,240,)(xxxxxxxfMATLAB程序如下:clccloseallclearx=0:0.05:10;y=zeros(1,length(x));forn=1:length(x)ifx(n)=8y(n)=1;elseifx(n)=6y(n)=5-x(n)/2elseifx(n)=4y(n)=2elsey(n)=sqrt(x(n))endendplot(x,y)axis([01002.5])title('分段函数曲线');xlabel('x')ylabel('y')text(2,1.3,'y=x^{1/2}');text(4.5,1.9,'y=2');text(7.3,1.5,'y=5-x/2');text(8.5,0.9,'y=1');程序执行结果如图3.6所示。图3.6绘制分段函数曲线并添加图形标注(4)创建图形窗命令figurefigure,打开不同的图形窗口,以便绘制不同的图形figure('PropertyName',PropertyValue,...),创建具有特定属性值的图形窗口figure(h),创建或显示句柄h定义的图形窗口,如果h不是整数,则返回错误。h=figure(...)(5)设置网格线命令gridgridon(off),对当前做标图加上网格线或撤销网格线。若直接调用grid命令即可设置或撤销网格线(6)保持图形窗口内容命令holdholdon(off)保持当前图形窗口内容命令(解除保持)。若直接调用hold命令即可保持或解除保持当前图形窗口内容。例3.6分别绘制正余弦曲线并绘制标题,添加或去除栅格。MATLAB程序如下:closeallclcclear%定义时间范围t=[0:pi/20:9*pi];figure(1)%建立图形窗口1plot(t,sin(t),'r:*')gridon%在所画出的图形坐标中添加栅格,注意用在plot之后text(pi,0,'\leftarrowsin(\pi)','FontSize',18)title('添加栅格的正弦曲线')01234567891000.511.522.5分段函数曲线xyy=x1/2y=2y=5-x/2y=1xlabel('x')ylabel('sint')figure(2)plot(t,cos(t))gridonpausegridoff%删除栅格text(pi,0,'\leftarrowcos(\pi)','FontSize',18)title('去除栅格的余弦曲线')xlabel

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

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

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

×
保存成功