您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第四章matlab4-绘图介绍
第四讲matlab绘图——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。matlab语言的绘图功能MATLAB不但擅长于矩阵相关的数值运算,也擅长于数据的可视化。下面将介绍MATLAB基本二维绘图命令,包含一维曲线及二维曲面的绘制、打印及存档。一、二维绘图(一)plot——是MATLAB二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。它可以生成线段、曲线和参数方程曲线的函数图形。plot的功能:plot命令自动打开一个图形窗口Figure;用直线连接相邻两数据点来绘制图形;根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示;如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形;可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图;可任意设定曲线颜色和线型;可给图形加坐标网线和图形加注功能。plot的调用格式plot(x)—缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图。解:在MATLAB命令窗口中键入x=[1,2,3,4,5,6];plot(x)例4-1单向量绘图。结果:如图4-1。plot的调用格式plot(x,y)—基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x为自变量,作出n条曲线。用命令plot(x,y)绘制函数y=cos(x)在两个周期内的图形。x=0:0.01:2*pi;y=cos(x);plot(x,y)在同一窗口中用命令plot(x,y)绘出正弦余弦函数的图形。x=0:0.01:2*pi;y=[sin(x);cos(x)];plot(x,y)plot(x,y,‘option’)——开关格式,option为选项参数,设定曲线颜色、线型及标示符号,使用颜色字符串的前1~3个字母,如yellow—yel表示等。或plot(x1,y1,‘option1’,x2,y2,‘option2’,…)如果没有option参数,plot将使用缺省设置(实线,前七种颜色顺序着色)绘制曲线;在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标系中已有的图形对象。可以用holdon命令在一个坐标系中增加新的图形对象。注意MATLAB会根据新图形的大小,重新改变坐标系的比例。option的标准设定值如下:字母颜色标点线型y黄色·点线m粉红○圈线c亮蓝××线r大红++字线g绿色-实线b蓝色星形线w白色:虚线k黑色-·(--)点划线1.单窗口单曲线绘图例1:x=[0,0.48,0.84,1,0.91,0.6,0.14][x1,x2,x3,x4,x5,x6,x7,]plot(x)01234567-1-0.8-0.6-0.4-0.200.20.40.60.812.单窗口多曲线绘图例2:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)yy1y2例3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,[y',y1',y2',y3',y4',y5'])01234567-1-0.8-0.6-0.4-0.200.20.40.60.81y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,y3);holdon;plot(t,y4);plot(t,y5);01234567-1-0.8-0.6-0.4-0.200.20.40.60.813.单窗口多曲线分图绘图subplot——子图分割命令调用格式:subplot(m,n,p)——按从左至右,从上至下排列行列绘图序号subplot(1,3,1);plot(t,y)subplot(1,3,2);plot(t,y3)subplot(1,3,3);plot(t,y2)0510-1-0.8-0.6-0.4-0.200.20.40.60.810510-1-0.8-0.6-0.4-0.200.20.40.60.810510-1-0.8-0.6-0.4-0.200.20.40.60.81subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)01234567-10101234567-10101234567-101subplot('position',[leftbottomwidthheight])0123-1-0.500.510123-1-0.500.5100.511.522.53-1-0.500.514.多窗口绘图figure(n)—创建窗口函数,n为窗口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)—自动出现第一个窗口figure(2)plot(t,y1)—在第二窗口绘图figure(3)plot(t,y2)—在第三窗口绘图01234567-1-0.8-0.6-0.4-0.200.20.40.60.8101234567-1-0.8-0.6-0.4-0.200.20.40.60.8101234567-1-0.8-0.6-0.4-0.200.20.40.60.815.可任意设置颜色与线型例4(例2):plot(t,y,'r-',t,y1,'g:',t,y2,'b*')01234567-1-0.8-0.6-0.4-0.200.20.40.60.816.图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:title——给图形加标题xlable——给x轴加标注ylable——给y轴加标注text——在图形指定位置加标注gtext——将标注加到图形任意位置gridon(off)——打开、关闭坐标网格线legend——添加图例axis——控制坐标轴的刻度例:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦')gridonaxissquare0246810-1-0.8-0.6-0.4-0.200.20.40.60.81sin(t)cos(t)正正正正正正正正正t正正正正正正正正正axis的用法还有:axis([xminxmaxyminymax])—用行向量中给出的值设定坐标轴的最大和最小值。如axis([-2205])axis(equal)—将两坐标轴设为相等;axison(off)—显示和关闭坐标轴的标记、标志;axisauto—将坐标轴设置返回自动缺省值;axis([0pi/205])—显示[0pi/205]范围内图形;axisnormal—自动调节轴与数据的外表比例,使其他设置失效;axismanual(或axis(axis))—保持刻度不随数据的大小而变化。(二)fill––––基本二维绘图函数fill的功能:绘制二维多边形并填充颜色例:x=[12345];y=[41514];fill(x,y,'r')(三)特殊二维绘图函数bar——绘制直方图polar——绘制极坐标图hist——绘制统计直方图stairs——绘制阶梯图stem——绘制火柴杆图rose——绘制统计扇形图comet——绘制彗星曲线compass——绘制复数向量图(罗盘图)area——绘制区域图pie—绘制饼图例,绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)01234567-1-0.8-0.6-0.4-0.200.20.40.60.81例:阶梯绘图h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;subplot(8,1,1);stairs(t,h8(1,:));axis('off')subplot(8,1,2);stairs(t,h8(2,:));axis('off')subplot(8,1,3);stairs(t,h8(3,:));axis('off')subplot(8,1,4);stairs(t,h8(4,:));axis('off')subplot(8,1,5);stairs(t,h8(5,:));axis('off')subplot(8,1,6);stairs(t,h8(6,:));axis('off')subplot(8,1,7);stairs(t,h8(7,:));axis('off')subplot(8,1,8);stairs(t,h8(8,:));axis('off')h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;fori=1:8subplot(8,1,i);stairs(t,h8(i,:))axis('off')end例:绘制极坐标图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)0.20.40.60.813021060240902701203001503301800例:绘制火柴杆绘图t=0:0.2:2*pi;y=cos(t);stem(y)05101520253035-1-0.8-0.6-0.4-0.200.20.40.60.81例:绘制直方图t=0:0.2:2*pi;y=cos(t);bar(y)05101520253035-1-0.8-0.6-0.4-0.200.20.40.60.81例:绘制彗星曲线图t=-pi:pi/500:pi;y=tan(sin(t))-sin(tan(t));comet(t,y)-3-2-10123-2.5-2-1.5-1-0.500.511.522.5x=[1234567];y=[0001000];pie(x,y)4%7%11%14%18%21%25%二、三维绘图三维绘图的主要功能:绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图plot3——基本的三维图形指令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,option)——带开关量plot3(x1,y1,z1,‘option1’,x2,y2,z2,‘option2’,…)二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴:大小axis([xminxmaxyminymaxzminzmax])gridon(off)绘制三维网格text(x,y,z,‘string’)三维图形标注子图和多窗口也可以用到三维图形中例:绘制三维螺旋线t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')010203040-1-0.500.51-1-0.500.51(二)三维饼图pie3([43689])27%30%20%13%10%(三)三维多边形fill3=fill——三维多边形的绘制和填色与二维多边形完全相同调用格式:fill3(x,y,z,‘option’)——与二维相同例:用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,'m');holdon;plot3(y1,y2,y3,'yo')(四)三维网格图mesh——三维网线绘图函数
本文标题:第四章matlab4-绘图介绍
链接地址:https://www.777doc.com/doc-4169945 .html