资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,电气工程系 李颖琼,第,5,讲,MATLAB,绘图,6.1,二维图形,1.plot,函数的基本用法,plot,函数的基本调用格式为:,plot(x,y),其中,x,和,y,为长度相同的向量,分别用于存储,x,坐标和,y,坐标数据。,第,6,讲,MATLAB,绘图,6.1.1,绘制二维曲线的最基本函数,例6.1 在0X2,区间内,绘制曲线,y=2e,-0.5x,sin(2x)。,程序如下:,x=0:pi/100:2*pi;,y=2*exp(-0.5*x).,*sin(2*pi*x);,plot(x,y),说明:,(,1,)当,x,y,是同维矩阵时,则以,x,y,对应列元素为横、纵坐标分别绘制曲线。,(,2,)当,x,是向量,,y,是有一维与,x,同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于,y,矩阵的另一维数,,x,被作为这些曲线共同的横坐标。,(,3,),plot,函数最简单的调用格式是只包含一个输入参数:,plot(x),。,例6.2 某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。,程序如下:,p=22,60,88,95,56,23,9,10,14,81,56,23;,plot(p),2,含多个输入参数的,plot,函数,含多个输入参数的,plot,函数调用格式为:,plot(x1,y1,x2,y2,xn,yn),3,含选项的,plot,函数,含选项的,plot,函数调用格式为:,plot(x1,y1,选项,1,x2,y2,选项,2,xn,yn,选项,n),曲线线型,曲线颜色,标记符号,选项,意义,选项,意义,选项,意义,选项,意义,选项,意义,-,实线,b,蓝色,k,黑色,*,星号,pentagram,五角星,-,虚线,g,绿色,r,红色,.,点号,o,圆圈,:,点线,m,紫色,y,黄色,x,叉号,square,-.,点划线,w,白色,c,青色,v,diamond,none,无线,hexagram,六角星,绘图指令选项参数表,例6.3 用不同线型和颜色在同一坐标内绘制曲线,y=2e,-0.5x,sin(2x)及其包络线。,程序如下:,x=(0:pi/100:2*pi);,y1=2*exp(-0.5*x)*1,-1;,y2=2*exp(-0.5*x).*sin(2*pi*x);,x1=(0:12)/2;,y3=2*exp(-0.5*x1).*sin(2*pi*x1);,plot(x,y1,g:,x,y2,b-,x1,y3,rp);,4,双纵坐标函数,plotyy,plotyy,函数是,MATLAB 5.X,新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:,plotyy(x1,y1,x2,y2),其中,x1y1,对应一条曲线,,x2y2,对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于,x1y1,数据对,右纵坐标用于,x2y2,数据对。,例,6.4,用不同标度在同一坐标内绘制曲线,y1=e,-0.5x,sin(2x),及曲线,y2=1.5e,-0.1x,sin(x),。,程序如下:,x1=0:pi/100:2*pi;,x2=0:pi/100:3*pi;,y1=exp(-0.5*x1).*sin(2*pi*x1);,y2=1.5*exp(-0.1*x2).*sin(x2);,plotyy(x1,y1,x2,y2);,1.,图形标注,有关图形标注函数的调用格式为:,title(,图形名称,),xlabel(x,轴说明,),ylabel(y,轴说明,),text(x,y,图形说明,),legend(,图例,1,图例,2,),6.1.2,绘制图形的辅助操作,例,6.5,给图形添加图形标注。,程序如下:,x=(0:pi/100:2*pi);,y1=2*exp(-0.5*x)*1,-1;,y2=2*exp(-0.5*x).*sin(2*pi*x);,x1=(0:12)/2;,y3=2*exp(-0.5*x1).*sin(2*pi*x1);,plot(x,y1,g:,x,y2,b-,x1,y3,rp,);,title(,曲线及其包络线,);%,加图形标题,xlabel(independent variable X);%,加,X,轴说明,ylabel(independent variable Y);%,加,Y,轴说明,text(2.8,0.5,包络线,);%,在指定位置添加图形说明,text(0.5,0.5,曲线,y);,text(1.4,0.1,离散数据点,);,legend(,包络线,包络线,曲线,y,离散数据点,)%,加图例,2.,坐标控制,函数的调用格式为:,axis(xmin xmax ymin ymax zmin zmax),axis,函数功能丰富,常用的用法还有:,axis equal,纵、横坐标轴采用等长刻度,axis square,产生正方形坐标系,(,缺省为矩形,),axis auto,使用缺省设置,axis off,取消坐标轴,axis on,显示坐标轴,grid on/off,命令控制是画还是不画网格线,不带参数的,grid,命令在两种状态之间进行切换。,box on/off,命令控制是加还是不加边框线,不带参数的,box,命令在两种状态之间进行切换。,例,6.6,用图形保持功能在同一坐标内绘制曲线,y=2e,-0.5x,sin(2x),及其包络线,并加网格线。,程序如下:,x=(0:pi/100:2*pi);,y1=2*exp(-0.5*x)*1,-1;y2=2*exp(-0.5*x).*sin(2*pi*x);,plot(x,y1,b:);,axis(0,2*pi,-2,2);%,设置坐标,hold on;%,设置图形保持状态,plot(x,y2,k);,grid on;%,加网格线,box off;%,不加坐标边框,hold off;%,关闭图形保持,3.,图形窗口的分割,subplot,函数的调用格式为:,subplot(m,n,p),例,6.7,在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。,程序如下:,x=linspace(0,2*pi,60);,y=sin(x);z=cos(x);,t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);,subplot(2,2,1);,plot(x,y);title(sin(x);axis(0,2*pi,-1,1);,subplot(2,2,2);,plot(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);,对图形窗口灵活分割。请看下面的程序。,x=linspace(0,2*pi,60);,y=sin(x);z=cos(x);,t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);,subplot(2,2,1);%,选择,22,个区中的,1,号区,stairs(x,y);title(sin(x)-1);axis(0,2*pi,-1,1);,subplot(2,1,2);%,选择,21,个区中的,2,号区,stem(x,y);title(sin(x)-2);axis(0,2*pi,-1,1);,subplot(4,4,3);%,选择,44,个区中的,3,号区,plot(x,y);title(sin(x);axis(0,2*pi,-1,1);,subplot(4,4,4);%,选择,44,个区中的,4,号区,plot(x,z);title(cos(x);axis(0,2*pi,-1,1);,subplot(4,4,7);%,选择,44,个区中的,7,号区,plot(x,t);title(tangent(x);axis(0,2*pi,-40,40);,subplot(4,4,8);%,选择,44,个区中的,8,号区,plot(x,ct);title(cotangent(x);axis(0,2*pi,-40,40);,1.,其他形式的线性直角坐标图,在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:,bar(x,y,选项,),stairs(x,y,选项,),stem(x,y,选项,),fill(x1,y1,选项,1,x2,y2,选项,2,),6.1.3,绘制二维图形的其他函数,例,6.8,分别以条形图、填充图、阶梯图和杆图形式绘制曲线,y=2e,-0.5x,。,程序如下:,x=0:0.35:7;,y=2*exp(-0.5*x);,subplot(2,2,1);bar(x,y,g);,title(bar(x,y,g);axis(0,7,0,2);,subplot(2,2,2);fill(x,y,r);,title(fill(x,y,r);axis(0,7,0,2);,subplot(2,2,3);stairs(x,y,b);,title(stairs(x,y,b);axis(0,7,0,2);,subplot(2,2,4);stem(x,y,k);,title(stem(x,y,k);axis(0,7,0,2);,2,极坐标图,polar,函数用来绘制极坐标图,其调用格式为:,polar(theta,rho,选项,),其中,theta,为极坐标极角,,rho,为极坐标矢径,选项的内容与,plot,函数相似。,例,6.9,绘制,=sin(2)cos(2),的极坐标图。,程序如下:,theta=0:0.01:2*pi;,rho=sin(2*theta).*cos(2*theta);,polar(theta,rho,k);,3,对数坐标图形,MATLAB,提供了绘制对数和半对数坐标曲线的函数,调用格式为:,semilogx(x1,y1,选项,1,x2,y2,选项,2,),semilogy(x1,y1,选项,1,x2,y2,选项,2,),loglog(x1,y1,选项,1,x2,y2,选项,2,),例,6.10,绘制,y=10 x,2,的对数坐标图并与直角线性坐标图进行比较。,程序如下:,x=0:0.1:10;,y=10*x.*x;,subplot(2,2,1);plot(x,y);title(plot(x,y);grid on;,subplot(2,2,2);semilogx(x,y);title(semilogx(x,y);grid on;,subplot(2,2,3);semilogy(x,y);title(semilogy(x,y);grid on;,subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on;,4.,对函数自适应采样的绘图函数,fplot,函数的调用格式为:,fplot(fname,lims,tol,选项,),例,6.11,用,fplot,函数绘制,f(x)=cos(tan(x),的曲线。,先建立函数文件,myf.m,:,function y=myf(x),y=cos(tan(pi*x);,再用,fplot,函数绘制,myf.m,函数的曲线:,fplot(myf,-0.4,1.4,1e-4),5.,其他形式的图形,MATLAB,提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。,例,4.12,绘制图形:,(1),某次考试优秀、良好、中等、及格、不及格的人数分别为:,7,17,23,19,5,,试用饼图作成绩统计分析。,(2),绘制复数的相量图:,3+2i,、,4.5-i,和,-1.5+5i,。,程序如下:,subplot(1,2,1);,pie(7,17,23,19,5);,title(,饼图,);legend(,优秀,良好,中等,及格,不及格,);,subplot(1,2,2);,compass(3+2i,4.5-i,-1.5+5i);title(,相量图,);,
展开阅读全文