当前位置:文档之家› 《MATLAB与科学计算》期末论文

《MATLAB与科学计算》期末论文

盐城师范学院《MATLAB与科学计算》期末论文
2016-2017学年度第一学期
用MATLAB解决解析几何的图形问题
学生姓名吴梦成
学院数学与统计学院
专业信息与计算科学
班级数15(5)信计
学号 ********
用MATLAB 解决解析几何的图形问题
摘 要
将 MATLAB 的图形和动画功能都用于解析几何教学,可使教学形象生动。

以图形问题为例,详细给出了实例的程序编写和动画实现过程 。

在解析几何教学中有一定的应用价值。

【关键词】: MATLAB ; 解析几何 ;图形 ; 动 画;编程
1 引 言
在解析几何的教学中,使用传统的教学方法。

许多曲线及曲面的形成过程与变换过程只通过传统的教师讲授静态图示就很难形象生动地表示出来 。

在解析几何教学中使用MATLAB 软件辅助教学,不仅可以很容易绘制出复杂的立体图形。

把曲线、曲面的形成和变化过程准确地模拟出来 ,而且还能够对它们进行翻转 、旋转 ,甚 至还能够轻而易举地实现图形的动画效果!这对提高教学效率和培养学生的空间想象能力可起到事半功倍的效果。

下面结合实例从几个方面说明MATLAB 在解析几何画图方面的应用。

2 利用 MATLAB 绘制三维曲线
在空间解析几何中,各种曲线和曲面方程的建立都离不开图形 ,而空间曲线和曲面图形既难画又费时。

借助MATLAB 的绘图功能 ,可以快捷 、 准确地绘出图形,使教学变得形象 、生动 。

有利于学生观察三维空间图形的形状 , 掌握图形的性质 。

一 般地 ,MATLAB 可用plot3,ezplot3,comet3等函数来各种三维曲线 。

例如画螺旋曲线的图形,其参数方程设为 :t at cos x =,t b sin t y -=,ct =z 。

使用 plot3语句画螺旋曲线图形的方法如下( 设a =2 ,b=4,c=3):
);*3),sin(*.*4),cos(*.*2(3;*10:50/:0t t t t t plot pi pi t -=
MATLAB 用两条简单的语句就可以画出螺旋 曲线(图1),但上述方法是静态的 ,为了体
现(圆锥a =b) 螺旋曲线的形成过程 .可以使用的动画功能 .改用以下一条语句 : );''],*10,0[,'t *3',)'sin(**4',)'(cos **2('3ezplot animate pi t t t t -
可以看到一个红色的小球在绕螺旋曲线运动(图2) 。

若觉得上述语句画出的图形在电脑上显示还是比较快 ,可以改用comet3语句来完成 。

);*3),sin(*.*4),cos(*.*2(3;*10:50/:0t t t t t t comet pi pi -= ;
同样可以看到一个红色的小球在绕螺旋曲线运动(图3) 。

3 利用 MATLAB 绘制曲面图形
用 MATLAB 绘制曲面时。

一般地可以用mesh 、shrf 、ezmesh 、ezsurf 等函数来完成。

解析几何中有一些常见的二次曲面: 球面,椭球面,双叶双曲面。

单叶双曲面,锥面,椭圆抛物面,双曲抛物面等。

对于后两个 ,由于可 以直接用 Z 表示 ,比如:椭圆抛物面 :;z 22y x +=;双曲抛物面;9/4/z 222y x -=;因此可以用 meshgridanesh ,surf 函数直接完成(见图4、 5)。

>> [x,y]=meshgrid(-10:0.2:10);z=(x.^2+y.^2);mesh(x,y,z);
[x,y]=meshgrid(-10:0.2:10);z=(x.^2/4-y.^2/9);mesh(x,y,z);
从图4中可以看,直接用mesh或 surf函数画出的曲面不一定美观,又比如画锥面:z^2=x^2+y^2 若使用下列语句,则图出的图形如图6所示,不够美观。

[x,y]=meshgrid(-10:0.2:10);z=sqrt(x.^2+y.^2);mesh(x,y,z);
这时可以考虑用其他方法,由于球面,椭球面,锥面等可用参数方程来表示:
锥面:;
u
bv
av=
u
=;
=
y
sin
z
,
,
cos
x cv
椭球面:;
y
v
u
b
=
u
=
ac=
v
cos
cos
,
z
sin
,
sin
x v
c
cos
故可以用ezsurf或ezmesh函数直接画出。

这里a=2,b=3,c=4,画锥面和椭球面的语句如下(见图7.8)
2('-
*
pi
*
cos(
ezsurf
v
3',)'
u
v
u
v
sin(
10
10
]);
*
[],
,
*
*
4',)'
*
2,0[,'
2('
e pi
*
*)
pi
cos(
v
cos(
zsurf-
u
v
v
u
pi
*
[],
*
3',)'
2/
]);
2,0[,)'
,2/
*)
cos(
sin(
4',)'
*
sin(
当然当 a=b时,上述曲面也可以用旋转曲面的方法来画(图9)
因此.对不同的曲面要采用不同的画法.这样可以使图形更加美观。

文献[ 3 ] 给出一个通用的二次曲面画图程序,比较复杂,这里略。

4利用 MATLAB判定图形间的位置关系
三维空间中的平面、曲线、曲面在实际生活中有着广泛的应用,学生掌握三维空间中图形的位置关系是解析几何教学的难点之一。

借助 MATLAB的三维绘图功能.可以在同一直角坐标系下快捷、准确地绘出图形。

有利于学生观察掌握图形之间的位置
关系,突破教学难点。

例 1:作出球面2222x a z y =++和圆柱面0-x 22=+ax y 的交线—— 维维安尼(Vivian)曲线[1]。

此题通过联立球面方程2222x a z y =++ 和圆柱面方程 0-x 22=+ax y , 得出维维安尼曲线的参数方程 :;sin ,sin *cos ,cos x 2t a z t t a y t a ===;利用函数plot3,ezflot3可以画出该曲线 (同1O),但是利用plot3函数 ,仅仅画出了该曲线 。

还未能反映出两曲面的交的情况 。

利用 MATLAB .可在同一直角坐标系中绘出球面与柱面.可以直观看 出 曲面相交的情形 .这更有利于学生观察维维安尼曲线的形状.输 入以下语句(或事先编好M 文件,设a=4)
%柱面的MATLAB 程序
);100,2(],,[cylinder c b a =
;4:),2(c ;4:),1(=-=c
holdon c b a );,,2(mesh +
%球面的MATLAB 程序
);:2.0:(],[pi pi meshgrid v u -=
);cos(*).sin(*4x v u =
);sin(*).sin(*4y v u =
);cos(*4u z =
),,(mesh z y x
运行上述语句.可得到两曲面相交的图形。

利用MATLAB的图形旋转功能,从不同角度观察图形,上述图10-11是进行旋转后的结果。

3 总结
动点的轨迹和曲面截痕轨迹是解析几何中的又一个难点.而描绘动点轨迹和曲面截痕轨迹的形成过程是传统教学无法实现的。

使用MATLAB制作动画.可以易实现空间动点的轨迹和曲面截痕的轨迹的形成过程.直观地观察动点变化形成轨迹的过程和曲面截痕轨迹形成的过程。

具体例子可以参考文献【4,5】,这里略。

参考文献
[1]吕林银,许子道。

解析几何(第三版) . 北京:高等教育出版社.1 987.
[2]沫然.MATLAB与科学计算(第二版) .北京:电子工业出版社.2003.
[3]李丽,王振领. MATL AB工程计算及应用 . 北京:人民邮电出版社.2001.
[4]周德亮,白岩.用MATLAB解决高等数学中的图形问题数学的实践与认识
[5] MATL AB软件在解析几何教学中的应用。

广西教育学院学报。

相关主题