《MATLAB之图形功能.ppt》由会员分享,可在线阅读,更多相关《MATLAB之图形功能.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 图形功能图形功能 一、一、2 2维图形维图形 1 1 基本形式基本形式 二二维维图图形形的的基基本本命命令令为为plot,它它的的基基本本用用法法是是plot(x,y)。若若x,y是是两两个个维维数数相相同同的的向向量量,这这一一命命令令实实现现将将个个向向量量的的对对应应元元素素作作为为xy平平面面直直角角坐坐标标系系下下的的点点的的坐坐标标,依依次次将将相相邻邻点点用用直直线线连连接接得得到到的的折折线线图图,系系统统自自动动为为图图形形添加有刻度的边框。添加有刻度的边框。若若x,y是是两两个个行行、列列分分别别相相同同的的矩矩阵阵,则则将将它它们们各各对对应应列列作作为为一一对对向向量
2、量画画出出一一条条折折线线,从从而而得得到到多多条条折折线线图图。当当构构成成折折线线的的直直线线段段数数增增加加,线线段段很很短短时时,视视觉觉中中折折线线就就成为曲线。成为曲线。y=0,0.58,0.7,0.95,0.83,0.25,plot(y)x=0:pi/15:2*pi;y=sin(x);plot(x,y)A=1,2,0,4;5,8,7,8;9,0,11,12;2,3,5,1;3,5,7,8;1,4,2,6;plot(A)2多重图多重图 可用多个向量对在同一幅图上画多条线,使用命令可用多个向量对在同一幅图上画多条线,使用命令plot(x1,y1,x2,y2,xn,yn):x=0:pi
3、/15:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)或用矩阵形式:或用矩阵形式:x=0:pi/15:2*pi;Y=sin(x);cos(x);plot(x,Y)多重图的另一种画法是利用多重图的另一种画法是利用hold命令,在已画好的图命令,在已画好的图形上,若设置形上,若设置hold on,MATLAB将把新的将把新的plot命令产生的命令产生的图形画在原来的图形上,而命令图形画在原来的图形上,而命令pold off将结束这个过程将结束这个过程 x=0:pi/15:2*pi;y=sin(x);plot(x,y)hold on,z=cos(x);plot(x,
4、z)w=sin(2*x);plot(x,w),hold off 3线型和颜色线型和颜色 MATLAB对曲线的线形和颜色有许多选择,标注的方法对曲线的线形和颜色有许多选择,标注的方法是在每一对数组后加一个字符参数,说明如下:是在每一对数组后加一个字符参数,说明如下:“-”实线;实线;“:”虚线;虚线;“-.”点划线;点划线;“-”波折线;波折线;“.”圆点;圆点;“+”加号;加号;“x”打叉;打叉;“*”星号;星号;“o”圆。圆。线型线型方式:方式:颜色:颜色:“y”黄色;黄色;“r”红色;红色;“g”绿色;绿色;“b”蓝色;蓝色;“w”白色;白色;“k”黑色;黑色;“m”紫色;紫色;“c”青色
5、。青色。x=0:pi/15:2*pi;y1=sin(x);y2=cos(x);y3=sin(2*x);y4=2*cos(x);plot(x,y1,r+-,x,y2,y*:,x,y3,b-.o,x,y4,k-.)4 多幅图形多幅图形 可以在同一画面上建立几个坐标系,用可以在同一画面上建立几个坐标系,用subplot(m,n,p)命命令把一个平面分成令把一个平面分成 mn个图形区域,个图形区域,p代表当前区域号,代表当前区域号,在每个区域中画一个图,如:在每个区域中画一个图,如:clear;x=-pi/2:pi/20:pi/2;subplot(2,2,1);y=sin(x);plot(x,y,r-
6、*);subplot(2,2,2);z=cos(x);plot(x,z,b:)subplot(2,2,3);y1=sinh(x);plot(x,y1,k+)subplot(2,2,4);z1=cosh(x);plot(x,z1,mo)5 一些特殊的二维图形函数一些特殊的二维图形函数特殊坐标系下的二维图形函数特殊坐标系下的二维图形函数名称名称说明说明Semilogx semilogy以以x,y坐标为对数坐标坐标为对数坐标polar极坐标极坐标常见常见的特的特殊二殊二维图维图形函形函数数名称名称说明说明bar条形图条形图feathar矢量图矢量图fplot函数绘图函数绘图pie柄状图柄状图stai
7、rs阶梯图阶梯图对数坐标系下函数图形对数坐标系下函数图形x=1:0.1*pi:2*pi;y=sin(x);semilogx(x,y,-*)极坐标系下函数图形极坐标系下函数图形x=0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x,y,-)t=0:0.01:2*pi;y=abs(sin(2*t).*cos(2*t);polar(t,y);条形图条形图x=1:10;y=rand(10,1);bar(x,y)x=-2.9:0.2:2.9;y=exp(-x.*x);bar(x,y);矢量图矢量图x=0:0.1*pi:2*pi;y=x.*sin(x);feather(x,y)函数图形
8、绘制函数图形绘制lim=0,2*pi,-1,1;fplot(sin(x),cos(x),lim)柄状图柄状图x=2,4,6,8;pie(x)阶梯图阶梯图x=0:0.1*pi:2*pi;y=sin(x);stairs(x,y)x=0:0.1*pi:2*pi;y=sin(x);stairs(x,y);hold on,;plot(x,y);hold off1带网格的曲面带网格的曲面 二、二、3维图形维图形 直角坐标系下曲面可以表示为直角坐标系下曲面可以表示为z=f(x,y),为了表示它的三,为了表示它的三维图形,首先在维图形,首先在x-y平面上将它的定义域分成矩形网格,平面上将它的定义域分成矩形网格
9、,并计算对应网格处的函数值,并计算对应网格处的函数值,mesh(z)语句可以给出三维语句可以给出三维图形。图形。例如:我们在例如:我们在-8x,y8的范围内画出的范围内画出sinr/r函数的三维图函数的三维图形,其中形,其中 。x=-8:0.5:8;y=x;X=ones(size(y)*x;Y=y*ones(size(x);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;mesh(Z)生成网格矩阵可用函数生成网格矩阵可用函数meshdom或或meshgrid实现实现 设剖分范围是设剖分范围是xxmix,xmax,yymin,ymax,x、y方向方向的网格宽度分别为的网格宽度分别
10、为dx和和dy,可使用命令:,可使用命令:x,y=meshdom(xmin:dx:xmax,ymin:dy:ymax)还可以使用命令:还可以使用命令:x,y=meshgrid(x,y)产生三维绘图数产生三维绘图数据据 x,y=meshdom(-8:0.5:8,-8:0.5:8);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;mesh(z)x=-8:.5:8;y=x;x,y=meshgrid(x,y);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;mesh(z)x,y=meshgrid(-8:0.5:8,-8:0.5:8);r=sqrt(x.2+y.2)+ep
11、s;z=sin(r)./r;mesh(z)x=-8:.5:8;y=x;x,y=meshdom(x,y);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;mesh(z)又如:又如:clear;z=peaks(50);h=mesh(z)2等高线和向量场等高线和向量场 有了网格矩阵和函数值矩阵有了网格矩阵和函数值矩阵x,y,z,命令,命令contour(z)给出函给出函数数z=f(x,y)的等高线,的等高线,quiver(z)给出在函数给出在函数z=f(x,y)的等高的等高线上画出方向或速度箭头。线上画出方向或速度箭头。x,y=meshgrid(-2:0.2:2,-2:0.2:2);
12、z=x.*exp(-x.2-y.2);subplot(1,2,1);mesh(z);subplot(1,2,2);contour(z)x,y=meshgrid(-2:0.2:2,-2:0.2:2);z=x.*exp(-x.2-y.2);dx,dy=gradient(z,5,5);contour(x,y,z,20);hold on;quiver(x,y,dx,dy);hold off 3空间曲线空间曲线 plot3命令可画出空间曲线命令可画出空间曲线 t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)4 其他三维曲面图其他三维曲面图名称名称说明说明meshc带等高线的曲
13、面图带等高线的曲面图meshz屏蔽的网格图屏蔽的网格图surf着色图着色图surfc带等高线的着色图带等高线的着色图pie3三维饼状图三维饼状图bar三维条形图三维条形图sphere球面图球面图cylinder柱面、旋转曲面柱面、旋转曲面带等高线的曲面图带等高线的曲面图meshcX,Y=meshgrid(-4:0.5:4);z=sqrt(X.2+Y.2);meshc(z)屏蔽的网格图屏蔽的网格图meshzX,Y=meshgrid(-4:0.5:4);z=sqrt(X.2+Y.2);meshz(z)着色图着色图X,Y=meshgrid(-4:0.5:4);z=sqrt(X.2+Y.2);surf
14、(z)X,Y=meshgrid(-4:0.5:4);z=sqrt(X.2+Y.2);surfc(z)三维饼状图三维饼状图x=2,4,6,8;pie3(x,0,0,1,0)X,Y=meshgrid(-4:0.5:4);z=sqrt(X.2+Y.2);bar3(z)三维条形图三维条形图球面图球面图x,y,z=sphere(40);t=abs(z);surf(x,y,z,t)x,y,z=sphere(400);t=abs(z);mesh(x,y,z,t)柱面、旋转曲面柱面、旋转曲面x=0:0.05*pi:3*pi;r=5+cos(x);a,b,c=cylinder(r,30);mesh(a,b,c)
15、x=-2:0.05:2;r=2*sqrt(1+x.2);a,b,c=cylinder(r,30);mesh(a,b,c)x=-1:.05:1;y=x;x,y=meshgrid(x,y);z=sqrt(2-x.2-y.2);mesh(z);hold on;r=x.2+y.2;mesh(r);hold off;x=-1:.05:1;y=x;x,y=meshgrid(x,y);z=sqrt(2-x.2-y.2);mesh(z);hold on;r=sqrt(x.2+y.2);mesh(r);hold off;x=-1:.05:1;y=x;x,y=meshgrid(x,y);z=-x.2+y.2;me
16、sh(z);3.图形处理图形处理 1坐标轴的控制坐标轴的控制 axis命令可用于控制坐标轴的显示、刻度、长度等特征,命令可用于控制坐标轴的显示、刻度、长度等特征,其使用格式为:其使用格式为:axis(xmin xmax ymin ymax)axis(xmin xmax ymin ymax zmin zmax)x=-2*pi:pi/100:2*pi;y1=sin(x);y2=zeros(length(x);Axis(-2*pi 2*pi-1 1);plot(x,y1,x,y2)2平面的坐标网格线的控制平面的坐标网格线的控制 grid命令控制平面图形中的坐标网格线,其使用格式为:命令控制平面图形中
17、的坐标网格线,其使用格式为:grid on/off 例如例如 x=0:0.1*pi:2*pi;y=sin(x);plot(x,y)grid on x=0:0.1*pi:2*pi;y=sin(x);plot(x,y,k)grid off3坐标轴封闭坐标轴封闭 box命令控制图形四周能否显示坐标,其使用格式为:命令控制图形四周能否显示坐标,其使用格式为:box on/off 例如例如 x=-2:0.1:2;y=exp(-x.2);plot(x,y)box onx=-2:0.1:2;y=exp(-x.2);plot(x,y)box off4图形的标注图形的标注 坐标轴的标注坐标轴的标注 xlabel
18、,ylabel,zlabel分别是对分别是对x,y,z轴进行标注的命令,轴进行标注的命令,其使用格式为:其使用格式为:xlabel(标注标注,属性属性1,属性值,属性值1,属性属性2,属性,属性值值2,)x=0:0.1*pi:2*pi;y=sin(x);plot(x,y)xlabel(x(0-2pi)ylabel(y=sin(x)title(正弦函数正弦函数)图形标注图形标注 legend能为图形中的曲线进行标注,其使用格式为:能为图形中的曲线进行标注,其使用格式为:legend(标注标注1,标注标注2,)x=0:0.1:2*pi;y=sin(x);z=cos(x);plot(x,y,x,z);legend(sin(x),cos(x);5外部图形的输入及显示外部图形的输入及显示 imread命令可将外部图形转化为命令可将外部图形转化为MATLAB可识别的类型,可识别的类型,其使用形式为:其使用形式为:imread(函数函数,类型类型),例如),例如 A=imread(A1,jpg);在在MATLAB环境下显示外环境下显示外部图形的函数为部图形的函数为image,其使用格式为:其使用格式为:image(A)