第4章MATLAB绘图第6章MATLAB绘图(1)MATLAB7.X程序设计2/33主要内容:①二维图形的绘制和辅助操作;②三维图形的绘制和辅助操作;③了解特殊图形的绘制函数;④句柄图形;第6章MATLAB绘图(1)MATLAB7.X程序设计3/334.1二维图形4.1.1函数plot1.调用格式为:plot(x)(1)当x为向量时,以其元素序号为横坐标值、其元素值为纵坐标值(2)当x为实矩阵时,以其元素序号为横坐标值,按列绘制每列元素相对于其序号的曲线,当x为m×n矩阵时,就有n条曲线(3)当x为复数向量时,以实部为横坐标值、虚部为纵坐标值第6章MATLAB绘图(1)MATLAB7.X程序设计4/33例4-1绘制x的曲线x=1:2:10;plot(x)第6章MATLAB绘图(1)MATLAB7.X程序设计5/33例4-2绘制矩阵x的曲线x=[279;762;5113]x=2797625113plot(x)第6章MATLAB绘图(1)MATLAB7.X程序设计6/33例4-3绘制复数向量x的曲线t=0:0.01:2*pi;x=exp(i*t);plot(x)第6章MATLAB绘图(1)MATLAB7.X程序设计7/332.调用格式为:plot(x,y)(1)若x、y是同维向量,以x元素为横坐标值、以y元素为纵坐标值绘制曲线(2)若x是向量,y是有一维与x元素数量相等的矩阵,则以x为共同横坐标,按y的另一维绘制曲线,曲线数目为y的另一维数。第6章MATLAB绘图(1)MATLAB7.X程序设计8/33x=1y=14225336第一条(1,1)(2,2)(3,3)第二条(1,4)(2,5)(3,6)第6章MATLAB绘图(1)MATLAB7.X程序设计9/33(3)若x、y是同维矩阵,则以x、y对应列元素为横、纵坐标分别绘制曲线,曲线数目=矩阵的列数x=12y=6534435621第6章MATLAB绘图(1)MATLAB7.X程序设计10/33例4-4x,y为长度相同的向量t=0:0.01:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y)第6章MATLAB绘图(1)MATLAB7.X程序设计11/33例4-5x为向量,y有一维与x元素数量相等的矩阵x=[135];y=[13;45;710];%3×2plot(x,y)第6章MATLAB绘图(1)MATLAB7.X程序设计12/33例4-6x、y是同维矩阵x=[356;487;935];y=[1109;892;7106];plot(x,y)第6章MATLAB绘图(1)MATLAB7.X程序设计13/333.调用格式为:plot(x1,y1,’s1’,x2,y2,’s2’,…)以x1、x2…元素为横坐标值,并以对应的y1、y2…元素为纵坐标值绘制多条曲线s1、s2…(可省略)设定了图形曲线的颜色、线型、标示符号第6章MATLAB绘图(1)MATLAB7.X程序设计14/33例4-7用plot(x1,y1,x2,y2…)绘制图形x1=linspace(0,2*pi,100);x2=linspace(0,4*pi,100);y1=sin(x1);y2=2+sin(x2);plot(x1,y1,x2,y2)第6章MATLAB绘图(1)MATLAB7.X程序设计15/33例4-8用plot(x1,y1,x2,y2…)绘制图形x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y)第6章MATLAB绘图(1)MATLAB7.X程序设计16/33绘图函数的常用的颜色含义类型符号蓝色(默认)b(Blue)黄色y(Yellow)品红色(紫色)m(Magenta)青色c(Cyan)红色r(Red)绿色g(Green)白色w(White)黑色k(Black)第6章MATLAB绘图(1)MATLAB7.X程序设计17/33绘图函数的常用的线形含义类型符号实线(默认)-点线:点划线-.虚线--第6章MATLAB绘图(1)MATLAB7.X程序设计18/33绘图函数的常用的数据点形含义类型符号实点标记(默认).圆圈标记o叉号形×x星号标记**钻石形标记◇d向下的三角形标记v向上的三角形标记^向左的三角形标记向右的三角形标记五角星标记☆p第6章MATLAB绘图(1)MATLAB7.X程序设计19/33例4-9对不同的曲线设定颜色、线型、标示符号x=linspace(0,3*pi,100);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;plot(x,y1,'r--',x,y2,'k:',x,y3,'b-.')第6章MATLAB绘图(1)MATLAB7.X程序设计20/33第6章MATLAB绘图(1)MATLAB7.X程序设计21/33例4-10在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),标记两曲线交叉点。第6章MATLAB绘图(1)MATLAB7.X程序设计22/33x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)1e-2);%查找y1与y2相等点(近似相等)的下标x1=x(k);%取y1与y2相等点的x坐标y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);%求y1与y2值相等点的y坐标plot(x,y1,‘r-’,x,y2,'k:',x1,y3,'bp');第6章MATLAB绘图(1)MATLAB7.X程序设计23/33第6章MATLAB绘图(1)MATLAB7.X程序设计24/334.双y轴绘图函数plotyy格式:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对.第6章MATLAB绘图(1)MATLAB7.X程序设计25/33例4-11用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2)第6章MATLAB绘图(1)MATLAB7.X程序设计26/33第6章MATLAB绘图(1)MATLAB7.X程序设计27/334.2图形标注与控制4.2.1图形标注和坐标控制1.图形标注title('图形名称'):给图形加标题xlabel('x轴说明'):给x轴加标注ylabel(‘y轴说明’):给y轴加标注text(x,y,‘图形说明’):在图形指定的位置加标注legend('图例1','图例2',…):添加图例第6章MATLAB绘图(1)MATLAB7.X程序设计28/33例在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。第6章MATLAB绘图(1)MATLAB7.X程序设计29/33x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('xfrom0to2{\pi}');%加图形标题xlabel('VariableX');%加X轴说明ylabel('VariableY');%加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}');%在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)');legend(‘y1’,‘y2’)%加图例第6章MATLAB绘图(1)MATLAB7.X程序设计30/33第6章MATLAB绘图(1)MATLAB7.X程序设计31/332坐标控制axis([xminxmaxyminymax])设定坐标系统的最大和最小值。axisauto将当前图形的坐标系统恢复到自动缺省状态。axissquare产生正方形坐标系统axisequal纵、横坐标轴采用等长刻度axisoff取消坐标轴axison显示坐标轴Boxon/off是否加边框线gridon/off是否画分格线第6章MATLAB绘图(1)MATLAB7.X程序设计32/33t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)gridon;%加网格线boxon;%加坐标边框axisequal%坐标轴采用等刻度例在同一坐标中,可以绘制3个同心圆,并加坐标控制。第6章MATLAB绘图(1)MATLAB7.X程序设计33/33第6章MATLAB绘图(1)MATLAB7.X程序设计34/334.2.2图形保持函数hold格式:holdon启动图形保持功能holdoff关闭图形保持功能例采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。第6章MATLAB绘图(1)MATLAB7.X程序设计35/33x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)holdony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);holdoff第6章MATLAB绘图(1)MATLAB7.X程序设计36/334.2.4图形窗口的分割函数subplot格式:subplot(m,n,p)将图形窗口分成m×n个子图形窗口,p是绘图序号,排列次序为从左至右,从上至下。subplot(2,2,1)第6章MATLAB绘图(1)MATLAB7.X程序设计37/33例使用窗口分割方法绘制图形t=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi);subplot(2,2,1);plot(t,y1);subplot(2,2,2);plot(t,y2);subplot(2,2,3);plot(t,y3);subplot(2,2,4);plot(t,y4);第6章MATLAB绘图(1)MATLAB7.X程序设计38/33第6章MATLAB绘图(1)MATLAB7.X程序设计39/334.2.5对函数自适应采样的绘图函数fplot(fname,lims,tol,选项)其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。第6章MATLAB绘图(1)MATLAB7.X程序设计40/33例用fplot函数绘制f(x)=cos(tan(πx))的曲线。fplot('cos(tan(pi*x))',[0,1],1e-4)第6章MATLAB绘图(1)MATLAB7.X程序设计41/334.3特殊坐标系4.3.1极坐标系绘图函数polar格式:polar(theta,r,’s’)向量theta为相角,r为对应的半径。第6章MATLAB绘图(1)MATLAB7.X程序设计42/33例绘制r=sin(t)cos(t)的极坐标图并标记数据点t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,