应用matlab函数绘制二次曲面图,MATLAB函数绘制二次曲面图

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-26 09:12   80   0

应用MATLAB函数绘制二次曲面图①

袁玲

(株洲职业技术学院湖南株洲

412001)

摘要:二次曲面方程是高等数学中重要的章节内容,其图像是主要研究对象,徒手画图有一定的难度,用matlab函数辅助绘图是最理想的工具,这篇文章用实例来介绍了6种matlab函数绘二次曲面图的方法,并进行了比较。关键词:MATLAB作图二次曲面中图分类号:TG146文献标识码:A文章编号:1673-0534(2007)07(a)-0090-02

1引言

现代工程上的许多问题都涉及到数学函数,数学函数在人们的日常生活中也是相当重要的,函数的具体表达形式是方程式,无论在《空间解析几何》中,还是《微积分》中,我们都曾经学过和用过,而二次曲面方程是数学中相当重要的方程,其图像是三维空间图像,是我们的主要研究对象,教学上老师们要经常画出它们的图像进行直观教学,画图是一个比较辣手的问题。针对画图问题,作者下面介绍了几种用MATLAB函数辅助绘曲面图的方法。>>subplot(233);surf(X,Y,Z3);hold on;surf(X,Y,Z4);title(‘surf函数作的双曲面’);

>>subplot(234);mesh(X,Y,Z3);holdon;mesh(X,Y,Z4);title(‘mesh函数作的双曲面’);

>>Z5=X.*X+4.*Y.*Y/9;

>>subplot(235);surf(X,Y,Z5);title

1-17-png_6_0_0_355_458_194_20_892.5_1212-172-0-7-172.jpg

(

1-17-png_6_0_0_355_477_194_20_892.5_1212-172-0-29-172.jpg

1-17-png_6_0_0_355_497_194_19_892.5_1212-172-0-51-172.jpg

surf

1-17-png_6_0_0_355_516_194_19_892.5_1212-172-0-73-172.jpg

函数作的抛物面’

1-17-png_6_0_0_355_535_194_19_892.5_1212-172-0-95-172.jpg

);

1-17-png_6_0_0_355_554_194_19_892.5_1212-172-0-117-172.jpg

>>subplot(236);mesh(

1-17-png_6_0_0_355_573_194_19_892.5_1212-172-0-139-172.jpg

X

1-17-png_6_0_0_355_592_194_19_892.5_1212-172-0-161-172.jpg

1-16-png_6_0_0_355_611_194_18_892.5_1212-172-0-183-172.jpg

Y,Z5);title(‘mesh函数作的抛物面’);

结果见图1。

曲面’);

>>Z5=X.*X+4.*Y.*Y/9;

>>subplot(235);plot3(X,Y,

1-22-png_6_0_0_610_385_204_25_892.5_1212-181-0-204-181.jpg

Z5);grid on;title(‘

1-31-png_6_0_0_610_425_204_35_892.5_1212-181-0-261-181.jpg

plot3函数作的抛物面’);

>>subplot(236);contour3 (X

1-31-png_6_0_0_610_475_204_35_892.5_1212-181-0-327-181.jpg

,Y,Z

1-31-png_6_0_0_610_525_204_35_892.5_1212-181-0-393-181.jpg

5);grid on;title(‘contour3函数作的抛物面’);

结果见图2。

2用MATLAB函数绘二次曲面图

绘制三维图形前,一般先用meshgrid函数在平面(通常在XOY平面上)的一个矩形区间内打网格,标记网格点,再直接用相关函数完成作图[1-2],从下面的多种作图方法中可以看出meshgrid函数的重要性。2.1用surf或mesh函数绘图

surf函数绘制的是三维表面图,mesh函数绘制的是三维网格图[1],当二次曲面方程是标准方程时,原方程式可化为z=( f,y)或y=f(x,z)或x=f( y,z)时,我们就用这两种函数完成绘图。

例1

图1

2.2用plot3或contour3函数绘图

plot3函数绘制的是三维直角坐标曲线图,contour3函数绘制的是三维等高线图[1],对于例1我们可以通过这两种函数绘曲线来组成曲面图。

>>x=-2:0.1:2;y=-3:0.1:3;[X,Y]=meshgrid(x,y);

>>Z1=4.*sqrt(1-X.*X./4-Y.*Y/9);Z2=-4.*sqrt(1-X.*X./4-Y.*Y/9);

>>subplot(231);plot3(X,Y,Z1);holdon;plot3(X,Y,Z2)

>>grid on;title(‘plot3函数作的椭球面’);

>>subplot(232); contour3 (X,Y,Z1);hold on; contour3 (X,Y,Z2)

>>grid on;title(‘contour3函数作的椭球面’);

>>Z3=4.*sqrt(X.*X./4+Y.*Y/9-1);Z4=-4.*sqrt(X.*X./4+Y.*Y/9-1);

>>subplot(233); plot3 (X,Y,Z3);holdon; plot3 (X,Y,Z4)

>>grid on;title(‘plot3函数作的双曲面’);

>>subplot(234);contour3 (X,Y,Z3);hold on;contour3 (X,Y,Z4)

>>grid on;title(‘contour3函数作的双

x2y2z2

???1分别绘曲面4916

x2y2z2x2y2z

???1和??在区域-2

4944916≤x≤2,-3≤y≤3,-4≤z≤4内的图像。

以上三个方程可化为z??4?z??4

x2y2

??149

x2y2

?49

图2

2.3用ezsurf或ezmesh函数绘图

ezsurf函数和ezmesh函数主要针对参数方程的三维作图函数,它们是专业作图函数[3-4],ezsurf函数绘制的是三维表面图,ezmesh函数绘制的是三维网格图,当二次曲面方程可化为参数方程时,就可以用这两种函数完成绘图。下面将例1中的方程化为参数方程,再用ezsurf函数和ezmesh函数绘曲面图。

x2y2z2

???1化为参数方椭球方程4916?x?2cos?cos?

?

y?3sin?cos?程?,其中(0≤α≤2*pi,-?z?4sin??

z?x2?]、

4y2

,再用matlab命令画图:9

pi/2≤β≤pi/2);双曲方程

x2y2z2

???14916

>>x=-2:0.1:2;y=-3:0.1:3;[X,Y]

=meshgrid(x,y);

>>z1=4.*sqrt(1-X.*X./4-Y.*Y/9);z2=-4.*sqrt(1-X.*X./4-Y.*Y/9);

>>subplot(231);surf(X,Y,Z1);hold on;surf(X,Y,Z2);title(‘surf函数作的椭球面’);

>>subplot(232);mesh(X,Y,Z1);hold on;mesh(X,Y,Z2);title(‘mesh函数作的椭球面’);

>>Z3=4.*sqrt(X.*X./4+Y.*Y/9-1);Z4=-4.*sqrt(X.*X./4+Y.*Y/9-1);

?x?2tcos??

y?3tsin?

化为参数方程?,其中(0≤α

?z??4t2?1?

≤2*pi,t≥1或t≤-1);抛物面方程?x?2tcos??xyz

??化为参数方程?y?3tsin?,其

?z?4t2494

?

2

2

中(0≤α≤2*pi,-∞<t<+∞)。再按例1的要求绘曲面图:

①2007年株洲职业技术学院院级立项课题:编号ZZYKY0708,名称《应用MATLAB辅助理工专业课程教学的研究》;2006年株洲职业技术学院院级课题资助项目:编号ZZYKY0603,名称《高职院校高等数学精品课程开发与建设研究》。

90

科技咨询导报 Science and Technology Consulting Herald

1-28-jpg_6_0_______-677-0-35-677.jpg

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP