《MATLAB绘图基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB绘图基础.ppt(45页珍藏版)》请在三一办公上搜索。
1、第五讲 MATLAB绘图,MATLAB语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,内容,一、MATLAB的绘图功能二、二维绘图三、不同情况下的二维绘图演示四、二维的其它图形函数五、三维绘图,教学目的,学习基本的二维和三维绘图函数:plot,plot3,mesh,surf掌握以上绘图函数的用法;掌握简单图形标注、坐标控制和颜色设定方法;熟练掌握基本的二维绘图命令。,一、MATLAB的绘图功能,MATLAB具有很强的图形处理功能和丰富的图形表现方法。它提供了大量的二维、三维图形函数,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语
2、言所不能比拟的。MATLAB不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。MATLAB不仅具有高层绘图能力,而且还具有底层绘图能力句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。,help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,二、二维绘图,2.1、plot 最基本的二维图形指令plot的功能:plot命令自动打开一个图形窗口Figure plot用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y 轴用对数坐标表示
3、。,如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图可任意设定曲线颜色和线型可给图形加坐标网线和图形加注功能,2.2、plot的调用格式,plot(x)缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图;plot(x,y)基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x为自变量,作出m条曲线;plot(x1,y1,x2,y2,xn,yn)多条曲线绘图格式,当输入参数都为向量时,x1和y1,x2和y2,xn和yn分别组成一组向量对,每一组向量对的长度可以不
4、同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。特殊形式:plot(x,y1,x,y2,x,y3,)以公共向量x为X轴,分别以y1,y2,y3,为Y轴,在同一幅图内绘制出多条曲线。,plot(x,y,cs)开关格式,开关量字符串cs设定曲线颜色和绘图方式,其中c表示颜色,s表示线型。,2.3、颜色与线型,字母 颜色 标点 线型 y 黄色 点线 m 粉红 圈线 c 亮蓝 线 r 大红 字线 g 绿色 实线 b 蓝色 星形线 w 白色:虚线 k 黑色(-)点划线,补充:其它线型|v 上|下三角 左|右三角 square 正方形 diamond 菱形 pentagram 五角星
5、 hexagram 六角星,2.4、subplot子图分割命令,调用格式:subplot(m,n,p)按从左至右,从上至下排列 该命令将当前图形窗口分成mn个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。,行,列,绘图序号,2.5、图形标记,在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。title(加图形标题);%给图形加标题 xlabel(加X轴标记);%给x轴加标注 ylabel(加Y轴标记);%给y轴加标注 text(X,Y,添加文本);%在图形指定位置加标注 gtext%将标注加到图形任意位
6、 置,2.6、坐标轴控制,用户若对坐标系统不满意,可利用axis命令对其重新设定。axis(xmin xmax ymin ymax)%设定最大和最小值 axis(auto)%将坐标系统返回到自动缺省状态 axis(square)%将当前图形设置为方形 axis(equal)%两个坐标因子设成相等 axis(off)%关闭坐标系统 axis(on)%显示坐标系统,2.7、图例加注,给图形加图例命令为legend。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。调用格式:legend(图例说明,图例说明);,2.8、figure创立多图形窗口,需要建立多个图形窗口,绘
7、制并保持每一个窗口的图形,可以使用figure命令。调用格式:figure(n)创建窗口函数,n为窗 口顺序号。每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。,2.9、图形保持,若在已存在图形窗口中用plot命令继续添加新的图形内容,可使用图形保持命令hold。发出命令hold on后,再执行plot命令,在保持原有图形或曲线以及确定的轴的性质的基础上,添加新绘制的图形到
8、已经存在的图形中。hold off在画出新图形之前将轴的性质重新设置为默认。,三、不同情况下的二维绘图演示,3.1、单窗口单曲线绘图例3-1、在区间0 x2内,绘制正弦曲线y=sin(x)。其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y),3.2、单窗口多曲线绘图例3-2、在同一窗口同时绘制正、余弦两条曲线y1=sin(x)和y2=cos(x)在区间0 x2内的图形。其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2),3.3、设定颜色与线型例3-3、用不同线型和颜色重新绘制例3-2的图形。其程序为:x=
9、0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,go,x,y2,b-.)注:其中参数go和b-.表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。,3.4、图形标注与坐标控制例3-4、在坐标范围0 x2,-2y2内重新绘制正弦曲线并标注。其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y);title(sin(x);%标注图形 axis(0 2*pi-2 2);%设定坐标轴范围,3.5、图例加注例3-5、为例3-2的正弦、余弦曲线增加图例。其程序为:x=0:pi/100:2*pi;y1
10、=sin(x);y2=cos(x);plot(x,y1,x,y2);legend(sin(x),cos(x);,3.6、单窗口多曲线分图绘图例3-6、在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线在区间0 x2内的图形。其程序为:x=0:pi/100:2*pi;y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);%eps为系统内部常数ct=cos(x)./(sin(x)+eps);subplot(2,2,1);%分成22区域且指定1号%为活动区plot(x,y);title(sin(x);axis(0 2*pi-1 1);subplot(2,2,2);,plo
11、t(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(cotangent(x);axis(0 2*pi-40 40);,3.7、多窗口绘图例3-7、采用多窗口重新绘制例3-6的4个图形。程序变动后如下:x=0:pi/100:2*pi;y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);H1=figure;%创建新窗
12、口并返回句柄到变量H1plot(x,y);%绘制图形并设置有关属性title(sin(x);axis(0 2*pi-1 1);H2=figure;%创建第二个窗口并返回句柄到变量H2plot(x,z);%绘制图形并设置有关属性title(cos(x);,axis(0 2*pi-1 1);H3=figure;%同上plot(x,t);title(tangent(x);axis(0 2*pi-40 40);H4=figure;%同上plot(x,ct);title(cotangent(x);axis(0 2*pi-40 40);,3.8、hold命令例3.8、体会hold命令。首先键入如下程序,得
13、左图3.8.1:x=0:pi/100:2*pi;y=sin(x);z=cos(x);plot(x,y,b);%绘制正弦曲线hold on;%设置图形保持状态接着键入如下程序,得到右图:plot(x,z,g);%保持正弦曲线同时绘制余弦曲线axis(0 2*pi-1 1);legend(cos,sin);hold off%关闭图形保持,图3.8.1 图,四、二维的其它图形函数,除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统matlabtoolboxmatlab目录下。,4.1、阶
14、梯图形函数stairs(x,y)可以绘制阶梯图形,如下列程序段:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y);%绘制阶梯 图形命令title(stairs plot);,4.2、条形图形函数bar(x,y)可以绘制条形图形,如下列程序段将绘制4.1小节中程序对应的条形图形:x=-2.5:0.25:2.5;y=exp(-x.*x);bar(x,y);%绘制条形图命令,4.3、填充图形fill(x,y,c)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符 c 规定填充颜色,其取值前已叙述。下述程序段将绘制4.1小节中程序对应的填充图:x=-2
15、.5:0.25:2.5;y=exp(-x.*x);fill(x,y,y);%绘制并以黄色 填充图形,二维绘图函数小结,plot 二维图形基本函数subplot 创建子图figure 创建图形窗口title 放置图形标题xlabel 放置X轴坐标标记ylabel 放置Y轴坐标标记text 放置文本,axis 设置坐标轴legend 给图形加图例命令hold 保持当前图形窗口内容stairs 阶梯形图bar 条形图fill 填充二维多边图形,五、三维绘图,5.1、plot3函数最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。二维图形的所有基本特性
16、对三维图形全都适用。函数格式:plot3(x1,y1,z1,cs1,x2,y2,z2,cs2,)其中x1,y1,z1表示三维坐标向量,cs1,cs2表示颜色和线形。函数功能:以向量x,y,z为坐标,绘制三维曲线。,例5-1、绘制三维螺旋曲线,其程序为:t=0:pi/50:10*pi;y1=sin(t);y2=cos(t);plot3(y1,y2,t,r*);title(helix);text(0,0,0,origin);xlabel(sin(t);ylabel(cos(t);zlabel(t);,5.2、mesh函数mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通
17、过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。函数格式:mesh(x,y,z,c)其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。,例5-2、下列程序绘制三维网格曲面图x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩阵相乘mesh(x,y,z);xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(3-D mesh);,5.3、surf函数surf用于绘制三维曲面图
18、,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。函数格式:surf(x,y,z)其中x,y控制X和Y轴坐标,z是由x,y求得的曲面上Z轴坐标。三维曲面图与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化,例5-3、下列程序绘制例5-2对应的三维曲面图形x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩阵相乘surf(x,y,z);xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(3-D
19、 surf);,5.4、视点修饰视点位置可由方位角和仰角表示。方位角又称旋转角为视点位置在XY平面上的投影与X轴形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角为XY平面的上仰或下俯角,正值表示视点在XY平面上方,负值表示视点在XY平面下方。从不同视点绘制三维图形的函数为view。调用格式:view(az,el)其中az为方位角,el为仰角。系统缺省的视点定义为方位角-37.5,仰角30。通过系统提供的多峰函数peaks的绘制例子,可进一步说明视点对图形的影响,以及view(az,el)函数的使用。,例5-4、下列程序绘制例5-3中的三维曲面在不同视点下的图形:,x=0:0.15:2*
20、pi;y=0:0.15:2*pi;z=sin(y)*cos(x);%矩阵相乘subplot(2,2,1);surf(x,y,z);view(-60,30);%指定子图1的视点xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(az=-60,el=30);subplot(2,2,2);surf(x,y,z);view(-30,60);%指定子图2的视点xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(az=-30,el=60);,subplot(2,2,3);surf(x,y,z);view
21、(0,90);%指定子图3的视点xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(az=0,el=90);subplot(2,2,4);surf(x,y,z);view(30,120);%指定子图4的视点xlabel(x-axis);ylabel(y-axis);zlabel(z-label);title(az=30,el=120);,上机练习,1、将讲授过的例子中的命令输入MATLAB命令窗口,执行命令,观察输出结果并体会MATLAB在该方面的功能。2、在0 x2区间内,绘制曲线 y=2e-0.5xcos(4x)3、采用图形保持,在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4x)和y2=2e-0.5xcos(x)。4、分别以条形图、阶梯图和填充图形式绘制曲线y=2sin(x)。5、绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为 0 2。,6、在0 x2区间内,绘制曲线y1=2e-0.5x和y2=cos(4x),并给图形添加图形标注,得到如下所示的图。(注意:图中的两个图形说明的位置坐标为:曲线y1(0.8,1.5);曲线y1(2.5,1.1)。,谢 谢!,
链接地址:https://www.31ppt.com/p-6512096.html