第2章MATLAB作图方法详解.docx

上传人:b****8 文档编号:10653182 上传时间:2023-02-22 格式:DOCX 页数:24 大小:365.09KB
下载 相关 举报
第2章MATLAB作图方法详解.docx_第1页
第1页 / 共24页
第2章MATLAB作图方法详解.docx_第2页
第2页 / 共24页
第2章MATLAB作图方法详解.docx_第3页
第3页 / 共24页
第2章MATLAB作图方法详解.docx_第4页
第4页 / 共24页
第2章MATLAB作图方法详解.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第2章MATLAB作图方法详解.docx

《第2章MATLAB作图方法详解.docx》由会员分享,可在线阅读,更多相关《第2章MATLAB作图方法详解.docx(24页珍藏版)》请在冰豆网上搜索。

第2章MATLAB作图方法详解.docx

第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所围区域。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1