MATLAB绘图(第2讲)解析

MATLAB绘图(第2讲)解析
MATLAB绘图(第2讲)解析

第四章 MATLAB 绘图

复习:

一 、 MATLAB 绘图的一般步骤 1、 取点。

2、 输入作图命令,绘制图形。 二、二维图形的绘制

直角坐标系中,二维曲线的作图命令有:Plot 、fplot 、ezplot Plot ():plot(X,’s ’),plot(x,y,’s ’),plot(X,Y,’s ’) Fplot ():ezplot(‘f ’),ezplot(‘f ’,[xmin,xmax]), ezplot(‘x(t)’,’y(t)’,[xmin,xmax]),fplot(‘fun ’,lims)

ezplot ():polar(theta ,rho ,’s ’),ezpolar(‘f ‘),ezpolar(‘f ‘ ,[a ,b])

第六讲

二 极坐标系由一条带箭头的射线构成,射线端点称为极坐标的极点,射线称为极轴。在极坐标系中平面内的点可极角theta 、极径rho 确定,一般极径rho 被看作是极角theta 的函数,即rho=f(theta)

命令格式

说 明

polar(theta ,rho ,’s ’) 输入时theta 可换为x ,rho 可换为y ,用法与plot 命令相同 ezpolar(‘f ‘) 在默认区间()π2,0上绘制函数rho=f(theta)的图形,用法与ezplot 命令相同。

ezpolar(‘f ‘ ,[a ,b])

在区间(a ,b )上绘制函数rho=f(theta)的图形

例:阅读并运行下列程序:

1、心形线: 一般方程形式:)cos 1(θ±=a r , )sin 1(θ±=a r (a 为常数)

>> x=0:0.05*pi:2*pi; >> y=2*(1+cos(x)); >> polar(x,y)

2、三叶玫瑰线:θ3sin a r = , θ3cos a r =

四叶玫瑰线:θ2cos a r =, θ2sin a r =

>> ezpolar('2*cos(3*x)')

>> ezpolar('sin(t)/t',[-6*pi,6*pi])

>> x=0:pi/100:2*pi;

>> y1=3*cos(x);y2=1+cos(x);

>> polar(x,y1,'r')

>> hold on %保持当前图形不被刷新,hold off为解除保持图形的命令

>> polar(x,y2)

三多子图命令:MATLAB允许在同一图形窗里布置几幅独立的子图,子图命令为subplot 格式:subplot(m,n,k) ,把窗口分割成m n个子绘图区域的第k个子图,

子绘图区域按从左到右编号,k为子图编号。subplot产生的子图互相独立,所有的绘图命令都可以在子图中运用。

例:阅读并运行下列程序:

>> x=0:0.01*pi:2*pi;

>> y1=sin(abs(x));y2=2*cos(2*x);

>> subplot(2,2,1),plot(x,y1)

>> subplot(2,2,2),polar(x,y2)

>> subplot(2,2,3),fplot('log(x)',[1,5])

>> subplot(2,2,4),ezplot('tan(x)',[-6*pi,6*pi])

上机实践:

1)用子图命令在同一窗口绘制以下不同极坐标系中的图形

阿基米德螺线:θa r = (a 为常数) 四叶玫瑰线:θ2cos 4=r 圆:θcos 4=r 心形线:)sin 1(3θ-=r 1.

x=0:0.01*pi:2*pi; r1=2*x;

subplot(2,2,1),polar(x,r1) >> r2=4*cos(2*x);

>> subplot(2,2,2),polar(x,r2) >> r3=4*cos(x); >> hold on

>> subplot(2,2,3),polar(x,r3) >> hold on

>> r4=3*(1-sin(x)); >>

subplot(2,2,4),polar(x,r4)

2)在同一极坐标系中绘制θsin 1+=r 和1=r 的图形 x=0:0.01*pi:2*pi; >> r1=1+sin(x); >> polar(x,r1)

>> x=0:0.01*pi:2*pi; r1=1+sin(x); polar(x,r1) >> hold on r2=1;

>> plot(x,r2)

第二节 三维图形

一、 三维曲线作图命令:

三维曲线的绘图命令是plot3和ezplot3,用于参数方程x=x(t),y=y(t),z=z(t)表示的函数的图形绘制,使用格式与二维曲线的绘图命令plot 、ezplot 相似。

命令格式 说 明

plot3(x,y,z,’s ’) x,y,z 为同维向量,绘制以x,y,z 为坐标的三

维曲线。’s ’是图形修饰项,可以省略。

plot3(X,Y,Z,’s ’) X,Y,Z 为同维矩阵,以X,Y,Z 对应列的元素

为坐标分别绘制曲线,曲线的条数等于矩阵的列数。图形修饰项’s ’缺省时,按默认的颜色、线形显示。

plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,……) 绘制多条曲线 ezplot3(‘x ’,’y ’,’z ’,lims) 绘制由参数方程x=x(t),y=y(t),z=z(t)确定的函

数在给定区间lims 图形,lims 省略时,默认区间为∈t [-2ππ2,]

例:1、绘制宝石链曲线

?

?

?

?

?

=

=

=

t

z

t

y

t

x

2

cos

cos

sin

[]π2,0

t

>> t=0:0.02*pi:2*pi;

>> x=sin(t);y=cos(t);z=cos(2*t);

>> plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),box on,legend('

链','宝石') % view是设定三维图形观测点的方位角、俯视角命令

例2、绘制三维螺旋线:

?

?

?

?

?

=

=

=

t

z

t

y

t

x

cos

sin[]π

10

,0

t

>> ezplot3('t','sin(t)','cos(t)',[0,10*pi])

二、三维网格图:

MATLAB处理网格图的方法是:将x y平面按指定设置分割成平面网格,然后根据给出的函数计算第三维变量值,即z的值,与对应的x y平面的坐标构成三维点元素,由此绘制出函数z=f (x,y)确定的三维空间曲面。具体步骤是:

1)自变量x、y取值:用冒号表达式生成,即x=x1:d1:x2; y=y1:d2:y2;

2)生成xy平面上自变量网格:[X,Y]=meshgrid(x,y)

3)计算第三维变量值:输入函数表达式z=f (X,Y)

4)输入三维曲面绘图命令

例:创建xy平面网格数据:

>> x=1:4;y=1:5;

>> [X,Y]=meshgrid(x,y) % 产生xy 平面上定义域中的20个数据 点 X =

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Y =

1 1 1 1

2 2 2 2

3 3 3 3

4 4 4 4

5 5 5 5

命令格式 说明 mesh(z) 绘制函数z=f (x,y)的三维网格图 mesh(x,y,z) 绘制函数z 的网格图,最常用的格式 mesh(x,y,z,c) 绘制指定颜色c 的网格图

ezmesh(f , lims)

绘制函数z=f(x,y)在作图区间lims 上的网格

lims=[xmin,xmax,ymin,ymax],或lims=[a,b](则a

ezmesh(‘x ’,‘y ’,‘z ’ ,[tmin,tmax,smin,smax])

绘制由参数方x=x(t,s),y=y(t,s),z=z(t,s)确定的网格图,默作图区间省略时,默认区间为[][]ππππ2,2,2,2-∈-∈s t meshz(f) 绘制带底座的网格图 meshc 绘制带等高线的网格图

例1:绘制马鞍面(抛物面)2

2

2y x z -=

>> x=-16:16;y=x;

>> [X,Y]=meshgrid(x,y);

>> z=(X.^2-Y.^2)./2; %数组运算采用点运算符 >> mesh(X,Y,z)

例2:绘制单页双曲面:

?

?

?

?

?

=

=

=

u

z

v

u

y

v

u

x

tan

cos

sec

sin

sec

()π

π

π

2,0

,

4

,

4

?

?

?

?

?-

∈v

u

>> ezmesh('sec(u)*sin(v)','sec(u)*cos(v)','tan(u)',[-pi/4,pi/4,0,2*pi])

三、三维着色曲面图:

三维着色曲面图的绘图方法和步骤与三维网格图相似,绘图命令是surf、ezsurf

命令格式说明

surf (z) 绘制函数z= f(x,y)的着色曲面

surf (x,y,z) 绘制函数z= f(x,y)的着色曲面,是最常用的格式ezsurf (f,lims) 绘制函数z=f(x,y)在作图区间lims上的着色曲面

lims=[xmin,xmax,ymin,ymax],或lims=[a,b](则

a

[][]π

π

π

π2,

2

,

2,

2-

-

∈y

x

ezsurf(‘x’,‘y’,‘z’ ,[tmin,tmax,smin,smax]) 绘制由参数方程x=x(t,s),y=y(t,s),z=z(t,s)确定的曲

面图,作图区间省略时,默认区间为

[][]π

π

π

π2,

2

,

2,

2-

-

∈s

t

例1:绘制函数2

2y

x

z+

=的曲面图

>> x=-4:4;y=-5:5; %

>> [X,Y]=meshgrid(x,y); % 产生xy平面上坐标“格点”矩阵

>> Z=X.^2+Y.^2; % 计算格点上的函数值

>> surf(X,Y,Z);hold on % 绘制着色曲面图并保持在图形窗口

>> stem3(X,Y,Z,'bo') % 绘制三维离散数据柄状图形,用来表现在格点上计算的

函数值

相关主题
相关文档
最新文档