3MATLAB作图简介MATLAB不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。3MATLAB作图简介MATLAB作图简介二维绘图三维绘图图形修饰数据点绘图函数绘图三维线图三维曲面图处理图形定制坐标特殊二维绘图函数特殊的三维图形函数多图处理缩放图形动画3.1二维绘图3.1.1数据点绘图3.1.2函数绘图3.1.3特殊二维绘图函数3.1.1数据点绘图1.plot的功能plot命令自动打开一个图形窗口Figure,用直线连接相邻两数据点来绘制图形。如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形plot根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上数据点绘图1.plot的功能2.plot的调用格式3.plot绘图2.plot的调用格式plot(x):缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图plot(x,y):基本格式,以y(x)的函数关系作出图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线plot(x1,y1,x2,y2):多条曲线绘图格式plot(x,y,’选项’)或plot(x1,y1,’选项1’,x2,y2,’选项2’,…):开关格式,其中“选项”是由颜色、线形和点标记3部分组成的字符串,所使用的符号及说明见表。颜色符号说明数据点标记说明线型符号说明y黄色yellow·点-实线m粉红magentao圆圈标记--虚线c青色cyanx×标记:点连线r大红red+加号标记-.点划线g绿色green*星号标记b蓝色blues正方形标记w白色whited菱形标记k黑色blackp五星标记h六角星标记^朝上的三角标记v朝下的三角标记朝右的三角标记朝左的三角标记选项的标准设定值其中设定曲线颜色可以使用颜色字符串的前1~3个字母,如yellow—yel表示等。3.plot绘图例1:单曲线绘图x=[0,0.48,0.84,1,0.91,0.6,0.14]plot(x)x=peaks;plot(x)x=1:length(peaks);y=peaks;plot(x,y)plot1.m123456700.10.20.30.40.50.60.70.80.9101020304050-8-6-4-202468103.plot绘图例2:多曲线绘图,在[0,2π]用红线画sin(x),用绿圈画cos(x).解:x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,'r',x,z,'go')plot2.m01234567-1-0.8-0.6-0.4-0.200.20.40.60.813.1.2函数绘图函数绘图ezplot符号函数绘图fplot绘制函数图1.ezplot——符号函数(显函数、隐函数和参数方程)绘图ezplot的调用格式:ezplot('f(x)')—在默认范围[-2*pi2*pi]内绘制f(x)的图形ezplot('f(x)',[a,b])—在axb绘制显函数f=f(x)的图形ezplot('f(x,y)',[xmin,xmax,ymin,ymax])—在区间xminxxmax和yminyymax绘制隐函数f(x,y)=0的图形ezplot('x(t)','y(t)',[tmin,tmax])—在区间tminttmax绘制参数方程x=x(t),y=y(t)的图形例3:在[0,π]上画y=cos(x)的图形解:输入命令ezplot('cos(x)',[0,pi])例4:参数方程作图,在[0,2π]上画星形图:x=cos3t,x=sin3t解:输入命令ezplot('cos(t)^3','sin(t)^3',[0,2*pi])ezplot1.mezplot2.m00.511.522.53-1-0.500.51xcos(x)-1-0.500.51-0.8-0.6-0.4-0.200.20.40.60.8xyx=cos(t)3,y=sin(t)3例5:隐函数作图,在[-3,0],[0,4]上画方程ex+sin(xy)的图形解:输入命令ezplot('exp(x)+sin(x*y)',[-3,0,0,4])ezplot3.mxyexp(x)+sin(xy)=0-3-2.5-2-1.5-1-0.5000.511.522.533.542.fplot——绘制函数图fplot的调用格式:fplot('fun',[xminxmax])—绘制函数fun在x区间[xminxmax]的函数图。fplot('fun',[xminxmax],'corline')—以指定线形绘图。[x,y]=fplot('fun',[xminxmax])—只返回绘图点的值,而不绘图。注意:(1)fun必须是M文件的函数名或是独立变量为x的字符串.(2)fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。例6:在[-2,2]范围内绘制函数tanh的图形.解:fplot('tanh',[-2,2])例7:在[-1,2]上画y=e2x+sin(3x2)的图形解:先建M文件myfun1.m:functionY=myfun1(x)Y=exp(2*x)+sin(3*x.^2)再输入命令:fplot('myfun1',[-1,2])fplot1.mmyfun1.m-2-1.5-1-0.500.511.52-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.500.511.520102030405060例8:x的取值范围在[-2π,2π],y的取值范围在[-2,2],画出tanh(x),sin(x),cos(x)的图形解:输入命令fplot('[tanh(x),sin(x),cos(x)]',[-2*pi2*pi-22])fplot2.m-6-4-20246-2-1.5-1-0.500.511.523.1.3特殊二维绘图函数1.scatter——散点图调用格式:scatter(X,Y,S,C,'s')在向量X和Y的指定位置显示散点,S为散点的大小,C为散点的颜色,'s'为散点的点型,X、Y和C必须大小相同,S可以是同维数的向量或常量。例9:绘制20个五角星型的散点图解:输入命令:a=rand(20,1);b=rand(20,1);c=rand(20,1);scatter(a,b,100,c,'p')scatter.m00.20.40.60.8100.10.20.30.40.50.60.70.80.912.polar——绘制极坐标图调用格式:polar(theta,rho,s)用角度theta(弧度)和极半径rho作极坐标图,用s指定线型。例10:画出r=sin2θcos2θ的极坐标图形解:输入命令:theta=linspace(0,2*pi)rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'g')title('sin2θ*cos2θ的极坐标图');polar1.m2.polar——绘制极坐标图调用格式:polar(theta,rho,s)用角度theta(弧度)和极半径rho作极坐标图,用s指定线型。例11:绘制y=cos(4*t)的极坐标图解:输入命令:t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)polar2.m3.bar——绘制直方图调用格式:bar(x,Y,h,'s')其简易格式为:bar(Y)例12:绘制直方图解:输入命令t=0:0.2:2*pi;y=cos(t);bar(t,y,0.8,'r')bar.m4.stairs——绘制阶梯图调用格式:stairs(x,y,'s')其中s为线形。例13:绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)stairs.m例14:阶梯绘图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')例14:阶梯绘图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')end5.pie––––饼图例15:绘制饼图x=[1234567];y=[0001000];pie(x,y)pie(x,y,{'North','South','East','West','middle','fa','white'})6.fill——绘制二维多边形并填充颜色例16:x=[12345];y=[41514];fill(x,y,'r')3.2三维绘图三维绘图的主要功能:3.2.1三维线图3.2.2三维曲面图3.2.3特殊的三维图形函数3.2.1三维线图plot3——基本的三维图形指令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵,其对应的每一列表示一条曲线.plot3(x,y,z,'选项')——'选项'如前所述plot3(x1,y1,z1,'选项1',x2,y2,z2,'选项2',…)二维图形的所有基本特性对三维图形全都适用。3.2.1三维线图调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵,其对应的每一列表示一条曲线.plot3(x,y,z,'选项')——'选项'如前所述plot3(x1,y1,z1,'选项1',x2,y2,z2,'选项2',…)3.2.1三维线图plot3(x,y,z,'选项')——'选项'如前所述例17:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')3.2.1三维线图例空间曲线和运动方向的表现一条空间曲线可以用矢量函数表示为它的速度矢量表现为曲线的切矢量:观察:一架飞机沿某空间曲线飞行,飞行速度为设飞机的初始位置在坐标原点,绘制飞机飞行的轨迹,并标明速度矢量。],[,))(),(),({)(:ttztytxtr))(,)(,)(()(dttdzdttdydttdxdtdrtv2326,2,2ttdtdztdtdytdtdx3.2.1三维线图例空间曲线和运动方向的表现观察:一架飞机沿某空间曲线飞行,飞行速度为设飞机的初始位置在坐标原点,绘制飞机飞行的轨迹,并标明速度矢量。2326,2,2ttdtdztdtdytdtdx))3/1(3,)3/2(,()6,2,2()(34320232ttttdttttttrt例空间曲线和运动方向的表现设飞机的初始位置在坐标原点,绘制飞机飞行的轨迹,并标明速度矢量。%exp2_3.mclf,t=linspace(0,1.5,20);x=t.^2;y=(2/3)*t.^3;z=(6/4)*t.^4-(1/3)*t.^3;plot3(x,y,z,'r.-','linewidth',1,'markersize',10),holdonVx=gradient