第2章MATLAB作图方法详解.docx
- 文档编号:10653182
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:24
- 大小:365.09KB
第2章MATLAB作图方法详解.docx
《第2章MATLAB作图方法详解.docx》由会员分享,可在线阅读,更多相关《第2章MATLAB作图方法详解.docx(24页珍藏版)》请在冰豆网上搜索。
第2章MATLAB作图方法详解
第2章MATLAB作图
本章将介绍MATLAB的作图功能并对MATLAB的图形特性进行阐述。
这里所阐述的很多功能都是既可以用命令窗口函数来自动实现,也可以使用图形窗口中的工具栏或菜单来实现。
2.1平面图
2.1.1曲线图
Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.
命令为:
plot(X,Y,S)
X,Y是向量,分别表示点集的横坐标和纵坐标,s-为指定颜色、线型等。
如表1所示
表2.1图形元素设定
plot(X,Y)--画实线.
plot(X,Y1,S1,X,Y2,S2,…,X,Yn,Sn)--将多条线画在一起。
例在[0,2*pi]用红线画sin(x),用绿圈画cos(x)。
解程序:
x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,'r',x,z,'go')
结果:
2.1.2符号函数(显函数、隐函数和参数方程)画图
(1)ezplot
ezplot('f(x)',[a,b])
表示在a ezplot('f(x,y)',[xmin,xmax,ymin,ymax]) 表示在区间xmin ezplot('x(t)','y(t)',[tmin,tmax]) 表示在区间tmin 例在[0,pi]上画y=sin(x)的图形 解输入命令 ezplot('sin(x)',[0 例在[0,2*pi]上画 , 星形图。 解输入命令 ezplot('cos(t)^3','sin(t)^3',[0,2*pi]) 例在[-2,0.5],[0,2]上画隐函数 的图像。 解输入命令 ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2]) (2)fplot fplot('fun',lims) 表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形。 注意: [1]fun必须是M文件的函数名或是独立变量为x的字符串。 [2]fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。 例在[-1,2]上画 的图形。 解先建M文件myfun1.m: functiony=myfun1(x) y=exp(2*x)+sin(3*x.^2); 再输入命令: fplot('myfun1',[-1,2]) 例在[-2,2]范围内绘制函数tanh的图形。 解fplot('tanh',[-2,2]) 例x、y的取值范围都在[- , ],画函数tanh(x),sin(x),cos(x)的图形。 解输入命令: fplot('[tanh(x),sin(x),cos(x)]',2*pi*[-11]) 2.2三维图 2.2.1空间曲线 (1)一条曲线 plot3(x,y,z,s) 其中x,y,z为n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值。 S-指定颜色、线形等。 例在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t),z=t。 解close;t=0: pi/50: 10*pi; plot3(sin(t),cos(t),t) rotate3d%旋转 结果: (2)多条曲线 plot3(x,y,z) 其中x,y,z是都是m×n矩阵,其对应的每一列表示一条曲线。 例画多条曲线观察函数Z=(X+Y).^2。 解close;x=-3: 0.1: 3;y=1: 0.1: 5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z) (这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵) 2.2.2空间曲面 (1)surf(x,y,z) 画出数据点(x,y,z)表示的曲面,其中x,y,z为数据矩阵,分别表示数据点的横坐标、纵坐标、函数值。 例画函数Z=(X+Y).^2的图形。 解x=-3: 0.1: 3; y=1: 0.1: 5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z) shadingflat%将当前图形变得平滑 (2)mesh(x,y,z) 画网格曲面,其中x,y,z为数据矩阵。 分别表示数据点的横坐标、纵坐标、函数值。 例画出曲面Z=(X+Y).^2在不同视角的网格图。 解close; x=-3: 0.1: 3;y=1: 0.1: 5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z) 2.3图形处理 2.3.1在图形上加格栅、图例和标注 (1)gridon加格栅在当前图上; gridoff删除格栅。 (2)hh=xlabel(string): 在当前图形的x轴上加图例string hh=ylabel(string): 在当前图形的y轴上加图例string hh=zlabel(string): 在当前图形的z轴上加图例string hh=title(string): 在当前图形的顶端上加图例string 例在区间[0,2*pi]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并加格栅. 解x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel('自变量X') ylabel('函数Y') title('示意图') gridon (3)h=gtext(‘string’) 命令gtext(‘string’)用鼠标放置标注在现有的图上.运行命令gtext (‘string’)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置. 例在区间[0,2*pi]画sin(x),并分别标注“sin(x)”、”cos(x)”。 解x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext('sin(x)');gtext('cos(x)') 2.3.2定制坐标 Axis([xminxmaxyminymaxzminzmax]) 定制图形坐标。 其中xminxmaxyminymaxzminzmax分别是x、y、z的最大、最小值。 Axisauto将坐标轴返回到自动缺省值。 例在区间[0.005,0.01]显示sin(1/x)的图形。 解x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis([0.0050.01-11]) 2.3.3图形保持 (1)holdon保持当前图形,以便继续画图到当前图上; holdof释放当前图形窗口。 例将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。 解x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,z,': ') holdon plot(x,y) (2)figure(h)新建h窗口,激活图形使其可见,并把它置于其它图形之上。 例在区间[0,2*pi]新建两个窗口分别画出y=sin(x);z=cos(x)。 解请运行如下程序: x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title('sin(x)'); figure (2); plot(x,z); title('cos(x)'); 2.3.4分割窗口 h=subplot(mrows,ncols,thisplot) 划分整个作图区域为mrows×ncols块(逐行对块访问)并激活第thisplot块,其后的作图语句将图形画在该块上。 subplot(mrows,ncols,thisplot) 激活已划分为mrows×ncols块的屏幕中的第thisplot块,其后的作图语句将图形画在该块上。 subplot(1,1,1) 命令Subplot(1,1,1)返回非分割状态。 例将屏幕分割为四块,并分别画出y=sin(x),z=cos(x);a=sin(x)*cos(x), b=sin(x)/cos(x)。 解x=linspace(0,2*pi,100); y=sin(x);z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps); subplot(2,2,1);plot(x,y),title('sin(x)') subplot(2,2,2);plot(x,z),title('cos(x)') subplot(2,2,3);plot(x,a),title('sin(x)cos(x)') subplot(2,2,4);plot(x,b),title('sin(x)/cos(x)') 2.3.5缩放图形 zoomon为当前图形打开缩放模式。 单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍。 zoomoff: 关闭缩放模式。 例缩放y=sin(x)的图形 解x=linspace(0,2*pi,30); y=sin(x); plot(x,y) zoomon 请在图形窗口演示 2.3.6改变视角view (1)view(a,b) 命令view(a,b)改变视角到(a,b),a是方位角,b为仰角。 缺省视角为(-37.5,30)。 view用空间矢量表示的,三个量只关心它们的比例, 与数值的大小无关,x轴view([1,0,0]),y轴view([0,1,0]),z轴 view([0,0,1])。 例画出曲面Z=(X+Y).^2在不同视角的网格图. 解x=-3: 0.1: 3;y=1: 0.1: 5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; subplot(2,2,1);mesh(X,Y,Z) subplot(2,2,2);mesh(X,Y,Z);view(50,-34) subplot(2,2,3);mesh(X,Y,Z);view(-60,70) subplot(2,2,4);mesh(X,Y,Z);view(0,1) 可以直接在图形窗口操作(示范)。 2.3.7动画 Moviein(),getframe,movie() 函数Moviein()产生一个帧矩阵来存放动画中的帧;函数getframe对当前的图象进行快照;函数movie()按顺序回放各帧。 例将曲面peaks做成动画。 解[x,y,z]=peaks(30); surf(x,y,z) axis([-33-33-1010]) m=moviein(15); fori=1: 15 view(-37.5+24*(i-1),30) m(: i)=getframe; end movie(m) 请演示 2.4特殊的二维图形函数 2.4.1极坐标图: polar(theta,rho,s) 用角度theta(弧度表示)和极半径rho作极坐标图,用s指定线型。 例r=sin2×cos2的极坐标图形。 解theta=linspace(0,2*pi); rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'g') title('Polarplotofsin(2*theta).*cos(2*theta)'); 2.4.2散点图: scatter(X,Y,S,C) 在向量X和Y的指定位置显示彩色圈.X和Y必须大小相同. 例绘制seamount散点图。 解输入命令: loadseamount scatter(x,y,5,z) 2.4.3平面等值线图: contour(x,y,z,n)绘制n个等值线的二维等值线图 例在范围-2 的等值线图。 解输入命令: [X,Y]=meshgrid(-2: .2: 2,-2: .2: 3); Z=X.*exp(-X.^2-Y.^2); [C,h]=contour(X,Y,Z); clabel(C,h) colormapcool 2.5特殊的三维图形函数 2.5.1空间等值线图: contour3(x,y,z,n) 其中n表示等值线数。 例山峰的三维和二维等值线图。 解[x,y,z]=peaks; subplot(1,2,1) contour3(x,y,z,16,'s'); grid;xlabel('x-axis'),ylabel('y-axis') zlabel('z-axis') title('contour3ofpeaks'); subplot(1,2,2) contour(x,y,z,16,'s'); grid;xlabel('x-axis'),ylabel('y-axis') title('contourofpeaks'); 2.5.2三维散点图scatter3(X,Y,Z,S,C) 在向量X,Y和Z指定的位置上显示彩色圆圈.向量X,Y和Z的大小必须相同。 例绘制三维散点图。 解输入命令: [x,y,z]=sphere(16);X=[x(: )*.5x(: )*.75x(: )]; Y=[y(: )*.5y(: )*.75y(: )]; Z=[z(: )*.5z(: )*.75z(: )]; S=repmat([1.75.5]*10,prod(size(x)),1); C=repmat([123],prod(size(x)),1); scatter3(X(: ),Y(: ),Z(: ),S(: ),C(: ),'filled'),view(-60,60) 例: 要在某山区方圆大约27平方公里范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区。 横向纵向分别每隔400米测量一次,得到一些地点的高程: (平面区域0<=x<=5600,0<=y<=4800),需作出该山区的地貌图和等高线图。 3600 3200 2800 2400 2000 1600 1200 1480150015501510143013001200980 15001550160015501600160016001550 15001200110015501600155013801070 15001200110013501450120011501010 139015001500140090011001060950 13201450142014001300700900850 11301250128012301040900500700 Y/x 12001600200024002800320036004000 程序: x=0: 400: 5600;y=0: 400: 4800; z=[370470550600670690670620580450400300100150250;... 510620730800850870850780720650500200300350320;... 650760880970102010501020830900700300500550480350;... 740880108011301250128012301040900500700780750650550;... 830980118013201450142014001300700900850840380780750;... 88010601230139015001500140090011001060950870900930950;... 9101090127015001200110013501450120011501010880100010501100;... 9501190137015001200110015501600155013801070900105011501200;... 143014301460150015501600155016001600160015501500150015501550;... 1420143014501480150015501510143013001200980850750550500;... 138014101430145014701320128012001080940780620460370350;... 13701390141014301440114011101050950820690540380300210;... 13501370139014001410960940880800690570430290210150]; meshz(x,y,z),rotate3d;xlabel('X'),ylabel('Y'),zlabel('Z') 2.6图形窗口简介 以上介绍了MATLAB图形的基本操作,下面介绍MATLAB图形展示的载体——图形窗口的使用方法。 MATLAB的图形窗口如图2—24所示 2.6.1窗口的菜单操作 MATLAB图形窗口的菜单与桌面平台的菜单有所不同。 (1)【File】菜单 MATLAB图形窗口的【File】菜单与桌面平台类似,但增加了图形输出 (export)以及打印的菜单命令(pagesetup、printpreview以及print等),这些选项将打开相应的对话框。 【Export】选项将打开图形输出对话框,在该对话框中可以把图形以emf的方式保存。 【pagesetup】选项将打开页面设置对话框,该对话框中包括4个设置页面,分别为图形尺寸设置页面、纸张设置页面、线型和文本设置页面以及坐标轴图形设置页面。 【print】选项的作用是打开Windows自带的打印设置对话框。 【printpreview】选项将打开打印预览对话框,在该对话框中可以打开打印对话框(Print),也可以页面设置对话框(PageSetup)进行设置,并且可以缩放图形(ZoomIn/Out),最后通过【Close】按钮关闭该对话框。 【print】选项则打开Windows自带的打印对话框。 (2)【Edit】菜单 【Edit】菜单增加了(FigureProperties、AxesProperties以及CurrentObjectProperties)等选项。 【FigureProperties】选项将打开图形属性设置对话框,在该对话框的顶部宣示的是图形对象,下面显示的是图形属性设置页面,包括图形风格(Style)、图形标题(Title)、图形显示类型(Rendering)以及图形信息(Info)等。 【AxesProperties】选项将打开坐标轴属性对话框,在该对话框中将可以设置坐标轴的尺度(Scale)、风格(Style)、标注(Lable)、比例(Aspect)、光源(Lights)、视点(Viewpoint)以及坐标轴信息(Info)等。 【CurrentObjectPropertis】选项将打开当前对象属性设置对话框。 (3)【View】菜单 【View】菜单包括【Figuretoolbar】、【Cameratoolbar】两个选项,分别打开图形操作工具条和照相工具条。 (4)【Insert】菜单 通过【Insert】菜单可以在图中添加不同对象,如坐标轴、标注等。 (5)【Tools】菜单 【Insert】菜单包括简单的图形操作和照相操作等。 其中【BasicFitting】选项将打开图形数据拟合对话框,包括选取数据源(Selectdata)、拟合方式(Checktodisplayfitsonfigure)、拟合函数的显示(Showequations)、数值的有效位数(Signifi)以及是否显示残差(Plotresiduals)等;【DataStatistics】选项将打开图形数据统计对话框,可以获得数据的最小值、最大值、平均值、中值以及均方差等。 (6)【Window】、【Help】菜单 图形窗口的【Window】、【Help】菜单与桌面平台的菜单类似。 2.6.2图形窗口的工具栏: 如图2—25所示。 其中,新建、打开、保存以及打印等工具栏命令与桌面平台工具栏相同。 下面是图形窗口所特有的几个工具栏命令。 : 启动图形编辑。 : 在图形中鼠标单击位置加入文本。 : 在图形中加入箭头符号。 : 在图形中加入直线段。 : 放大图形。 : 缩小图形。 : 对图形进行手动旋转。 2.7习题 1、在同一平面中的两个窗口分别画出心形线和马鞍面。 要求: (1)在图形上加格栅、图例和标注; (2)定制坐标; (3)以不同角度观察马鞍面 z=x2-y2 2、以不同的视角观察球面x2+y2+z2=1和圆柱面x2+y2=z所围区域。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 MATLAB作图方法详解 MATLAB 作图 方法 详解