MATLAB在解析几何中的应用.docx

上传人:b****3 文档编号:12641412 上传时间:2023-04-21 格式:DOCX 页数:16 大小:228.68KB
下载 相关 举报
MATLAB在解析几何中的应用.docx_第1页
第1页 / 共16页
MATLAB在解析几何中的应用.docx_第2页
第2页 / 共16页
MATLAB在解析几何中的应用.docx_第3页
第3页 / 共16页
MATLAB在解析几何中的应用.docx_第4页
第4页 / 共16页
MATLAB在解析几何中的应用.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MATLAB在解析几何中的应用.docx

《MATLAB在解析几何中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在解析几何中的应用.docx(16页珍藏版)》请在冰豆网上搜索。

MATLAB在解析几何中的应用.docx

MATLAB在解析几何中的应用

MATLAB在解析几何中的应用研究

引言

数学是研究空间形式和数量关系的科学,解析几何是数学专业的一门专业基础课程,它的基本思想是用代数的方法描绘几何图形,认识图形的性质,分析图形间的相互关系,解析几何不仅为代数学提供了几何模型,而且也为研究物理学、工程技术领域的相关问题提供了必要的数学工具[1-2].它的主要研究内容有向量代数、空间坐标系、平面与直线、常见的曲面与曲线等,由于几何问题广泛存在于科学技术的各个领域,因此解析几何方法已经成为从事自然科学研究必不可少的工具.

然而,目前解析几何的教学在教学方法和教学手段方面还比较落后,很多曲线和曲面的形成与变换过程还是通过传统的教师讲解、手工绘制的方法展示,很难将曲线及曲面形象、准确地展示出来,学生很难理解和掌握.在教学与研究中,假如可以形象、生动、直观的给出空间图形或者轨迹的形成过程,不仅使教学变得简单,而且有助于提高学生的学习兴趣.MATLAB软件是集数值计算、符号计算和图形可视化三大基本功能于一体的大型科学计算软件,广泛应用于科学研究、工程计算、动态仿真等领域,该软件的一个重要特色是强大的图形处理功能.下文主要讨论MATLAB软件在解析几何的向量计算,平面、空间曲线和曲面图形的描绘,空间图形的位置关系的判定等多方面的应用研究.

1MATLAB软件在向量运算中的应用

1.1用MATLAB软件生成向量

(1)直接输入法:

在MATLAB的命令窗口中输入

>>a=[15689],回车运行,返回

a=

15689

(2)冒号生成法:

基本语法格式为:

向量=初值:

步长:

终值,在命令窗口中输入

>>a=1:

2:

12,回车运行,返回

a=

1357911

>>b=1:

5,回车运行,返回

b=

12345

1.2向量的运算

在MATLAB软件中,对向量的不同运算,有如下表1所列常用函数,

表1向量运算表

命令

功能说明

A+B

向量A,B的和

cross(A,B)

向量A,B的矢量积

dot(A,B)

向量A,B的点积

norm(A)

向量A的模长

 

1.3应用实例

例1用MATLAB软件完成下面任务

(1)用元素输入法创建向量

=(4,2,3,1,-2,-1,5,10);

(2)用冒号生成法创建向量

=(1,3,5,7,9,11,13,15);

(3)用等分取值法创建向量

,其初值为1,终值为100,共8个元素;

(4)作向量

得数量积、向量积;

(5)作向量

的混合积.

解:

在MATLAB命令窗口中输入以下语句即可,

(1)x1=[4231-2-1510]

(2)x2=1:

2:

15

(3)x3=linspace(1,100,8)

(4)dot(x1,x2),cross(x1,x2)

(5)dot(cross(x1,x2),x3)

例2求点

到直线

的距离.

解:

到直线

的距离公式为

其中,

为直线的方向向量,

为直线

上异于

的任意一点,用MATLAB求解上述问题,编写代码如下:

>>M0=[1-10];M1=[212];V=[1-1-2];

>>d=norm(cross(M1-M0,V))/norm(V),返回结果

d=

2.1985

例3证明Lagrange恒等式

,其中

为几何空间中的三维向量.

证明:

在MATLAB命令窗口中输入

symsa11a12a13a21a22a23a31a32a33a41a42a43real

a1=[a11,a12a13];a2=[a21,a22a23];a3=[a31,a32a33];a4=[a41,a42a43];

left=dot(cross(a1,a2),cross(a3,a4))

right=dot(dot(a1,a3),dot(a2,a4))-dot(dot(a1,a4),dot(a2,a3))

answer=left-right;simple(answer),运行结果为

>>ans

=0

即等式左右两边相减差为0,因此定理得证.

2MATLAB软件在解析几何的图形绘制中的应用

解析几何学研究的一个重要课题是根据给定的方程如何获得它所表示的图形的各种几何性质以及描绘这个图形.对于复杂的几何图形的作图,手工作图主要采用平面截线法,可以大致了解曲面的形状.MATLAB提供了许多绘图函数,利用这些函数可以绘制出所需的图形;MATLAB还提供了丰富的修饰法,可以使图形更加美观和形象[4-7].

在MATLAB中,编写绘制二维和三维的图形的程序;运行这些程序时,在图形窗口中就可以得到想要的复杂图形.

2.1二维图形的绘制

MATLAB提供了丰富的绘图函数,plot是最基本的二维绘图函数,其调用格式为

plot(X,Y):

若X、Y为长度相等的向量,则绘制以X和Y为横、纵坐标的二维曲线.

例4用plot函数绘制

的图形.

解:

绘制此图形的MATLAB程序代码如下:

X=-5:

0.05:

5;Y=sin(X).*cos(2*X);plot(X,Y);

程序运行结果如下图1所示

图1二维曲线

2.2三维图形的绘制

用MATLAB绘制三维曲线和曲面时,常用到的绘图函数有plot3,ezplot3,surf,mesh,ezsurf,ezmesh等,下面分别通过实例在MATLAB平台上实现多种三维图形的绘制.

2.2.1用MATLAB绘制三维空间曲线

例5在解析几何中,参数方程

表示几何空间的一段螺旋线,用plot3绘制该曲线的MATLAB程序代码如下:

t=-10:

0.05:

20;x=sin(t);y=4*cos(t);z=3*t;figure,plot3(x,y,z,'*');gridon,

text(0,0,0,'0');title('ThreeDimension');xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');

通过图形修饰函数label,title,grid等可以给图形加轴标签、标题、网格等,程序运行结果如下图2所示

图2三维空间螺旋线

2.2.2用MATLAB绘制三维空间曲面

一般曲面的绘制常用的绘图函数,见下表2

函数名

功能说明

mesh(X,Y,Z)

绘制三维网格图

surf(X,Y,Z)

绘制三维曲面图

surfc(X,Y,Z)

绘制含等高线的三维曲面图

ezmesh(X,Y,Z)

绘制二元函数图形

meshgrid(x,y)

获取网格点数据矩阵

表2常用空间曲面绘图函数表

 

下面,用MATLAB软件,对解析几何中一些常见的典型曲面,结合具体例子,给出图形绘制的相关程序及图形结果.

2.2.2.1柱面

(1)柱面的定义:

动直线

平行于定方向

且与定曲线

相交而产生的曲面叫柱面,每一条动直线叫做柱面的直母线,定曲线叫做柱面的准线.

(2)柱面的一般方程

椭圆柱面:

;双曲柱面:

(3)实例作图

例6用MATLAB的ezsurf,cylinder函数绘制圆柱面

曲面图,编写程序代码如下:

subplot(1,2,1);ezsurf('(2*cos(m))','2*sin(m)','n',[0,2*pi,0,1.2*pi])

gridonaxisequal

xlabel('x轴');ylabel('y轴');zlabel('z轴');title('圆柱面')

subplot(1,2,2);cylinder(30);axissquare

title('调用cylinder函数所得圆柱面')

程序运行结果如下图3所示

图3圆柱面

例7用ezmesh函数绘制双曲柱面

的空间曲面图形.

解:

ezmesh函数的调用格式为:

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

其中每个参数的意义可参考文献[3],编写程序代码如下:

ezmesh('3*sec(u)','5*tan(u)','v',[-pi/2,pi/2,-3*pi,3*pi])

holdonezmesh('3*sec(u)','5*tan(u)','v',[pi/2,3*pi/2,-3*pi,3*pi])

gridon;xlabel('x轴');ylabel('y轴');zlabel('z轴');title('双曲柱面')

程序运行结果如下图4所示

图4双曲柱面

2.2.2.2锥面

(1)锥面的定义:

一条直线通过一定点

且与定曲线

相交而移动时产生的曲面叫锥面,定点叫做锥面的顶点.

(2)锥面的一般方程:

(3)实例作图

例8用mesh,meshgrid函数绘制锥面

的空间曲面图形.

解:

编写程序代码如下:

x=-3:

0.1:

3;y=x;[xx,yy]=meshgrid(x,y);z=3*sqrt(xx.^2/16+yy.^2/25)

mesh(xx,yy,z);holdon;z=-3*sqrt(xx.^2/16+yy.^2/25);mesh(xx,yy,z)

程序运行结果如下图5所示

图5锥面

2.2.2.3旋转曲面

(1)旋转曲面的定义:

一条曲线

绕定直线

旋转一周所产生的曲面叫旋转曲面,曲线

叫母线,直线

称为旋转曲面的旋转轴.常见的旋转面有旋转椭圆面、旋转抛物面、旋转双曲面等.

(2)实例作图

例9用mesh,surfc分别绘制旋转抛物面

的图形,观察效果有何不同.

解:

根据旋转抛物面方程,编写MATLAB程序代码如下:

x=-8:

0.5:

8;y=x;[xx,yy]=meshgrid(x,y);Z=xx.^2+yy.^2;

subplot(1,2,1);mesh(xx,yy,Z);subplot(1,2,2);surfc(xx,yy,Z)

程序运行结果如下图6所示

图6旋转抛物面

从图形结果可以看出,函数surfc在绘制图形的同时,还在投影底面给出了等高线.

例10用cylinder函数绘制以

为母线,

为旋转轴的旋转曲面.

解:

函数cylinder的调用格式,可参考文献[3,4],编写MATLAB程序代码如下:

t=0:

pi/10:

2*pi;[X,Y,Z]=cylinder(2+cos(t));surf(X,Y,Z);axissquare

程序运行结果如下图7所示

图7旋转曲面

3MATLAB软件在图形的空间位置关系判定[1]中的应用

解析几何是用代数的方法研究几何图形、认识空间图形的性质及图形间关系的课程.在几何空间中,一些复杂图形之间的位置关系很难直观展现,给图形间位置关系的研究带来困难.借助MATLAB软件的绘图功能,将复杂的空间图形形象地显现,可使对空间图形位置关系的探究变的方便快捷[8-10].

3.1直线与平面的位置关系

直线与平面有相交、平行、直线在平面上这三种位置关系,通过MATLAB软件的绘图和修饰函数,将不同的直线和平面显示在同一个图形窗口中,可以很容易地观察它们的各种关系,下面通过实例说明.

例11已知直线

与平面

,判定直线

与平面

的位置关系.

解:

先将

化成参数方程,得

编写绘制这个直线与平面的程序代码如下:

t=-40:

0.3:

40;[x1,y1]=meshgrid(t);z1=2*x1+3*y1-4;

mesh(x1,y1,z1);holdon;

x2=t;y2=3*t+1;z2=2*t+1;plot3(x2,y2,z2);

程序运行序结果如下图8所示

图8直线与平面的位置关系

3.2平面与平面的位置关系

空间两平面有相交、平行、重合三种关系,通过MATLAB软件的绘图和修饰函数,可以绘制出直观、形象的图形,将两平面的位置关系展现出来.

例12判断平面

的位置关系.

解:

编写绘制题中两平面的MATLAB程序代码如下:

s=-20:

0.4:

20;[x1,y1]=meshgrid(s);z1=(2*1-y1-5)/2;mesh(x1,y1,z1);

holdon;z2=x1+3*y1-1;mesh(x1,y1,z2);

程序运行结果如下图9所示

图9两平面位置关系

从图形易得,两平面位置关系为相交.

3.3平面与二次曲面的位置关系

在解析几何中,一些复杂的平面与二次曲面的位置关系很难准确的手工绘制出来,借助MATLAB软件的绘图和修饰函数,可将平面与二次曲面的位置关系直观形象地展现出来.

例13判断平面

与球面

的位置关系.

解:

编写相关MATLAB程序代码如下:

clear;s=-100:

100;[x,y]=meshgrid(s);z=(-2*x+3*y-12)/8;

u=0:

pi/20:

pi;v=0:

pi/20:

2*pi;[U,V]=meshgrid(u,v);

x1=50*sin(U).*cos(V)+7;y1=90*sin(U).*sin(V)-9;z1=50*cos(U)-5;

mesh(x,y,z);holdon;surf(x1,y1,z1);

程序运行结果如下图10所示

图10平面与球面

3.4二次曲面间的位置关系

在解析几何中,二次曲面本身的图形就非常难以手工绘制,要研究它们间的位置关系难度会更大,借助MATLAB软件的绘图和修饰函数,可将这些图形的位置关系,立体地展现出来.

例14已知柱面

和马鞍面

,判断二者的位置关系.

解:

首先将柱面方程参数化[2],编写绘图程序代码如下:

t=0:

pi/20:

2*pi;x1=4*cos(t)-2;y1=3*sin(t)+1;z1=linspace(-6,6,length(t))

x1=meshgrid(x1);y1=meshgrid(y1);z1=meshgrid(z1)';

mesh(x1,y1,z1);

在保持柱面图的基础上,再绘制马鞍面图形,将两图同时显现

holdon;[X,Y]=meshgrid(-7:

0.2:

7);Z=X.^2/8-Y.^2/6;

mesh(X,Y,Z);axis('square');xlabel('x轴');ylabel('y轴');zlabel('z轴');

程序运行结果如下图11所示

图11柱面与马鞍面的位置关系

结语

本文主要讨论了MTALAB软件在解析几何中向量的数值计算,平面、空间曲线和曲面图形描绘,空间图形位置关系的判定等多方面的应用,应用MATLAB软件丰富的绘图和修饰函数,编写相应的程序代码,可以较快地解决复杂的计算,完成复杂图形的计算机绘制,增强几何直观,使解析几何的教与学变得形象生动,可见MATLAB软件在对解析几何诸多问题的研究中都可大显身手,是解析几何教学和学习的一个有力辅助工具.

 

参考文献

[1]仇海全,潘花.MATLAB在空间图形相关位置判定中的应用[J].重庆科技学院学报(自然科学版)2011,13(3):

178-180.

[2]黄忠铣.MATLAB在高等代数与空间解析几何教学中的应用[J].南平师专学报.2006,25(4):

20-23.

[3]张智星.MATLAB程序设计与应用[M].北京:

清华大学出版社,2002.

[4]张威.MATLAB基础与编程入门[M].西安:

西安电子科技大学出版社,2004.

[5]周晓阳.数学实验与MATLAB[M].武汉:

华中科技大学出版社,2002.

[6]苏金明,阮沈勇.MATLAB6.1实用指南[M].北京:

电子工业出版社,2002.

[7]王家文,王晧,刘海.MATLAB7.0编程基础[M].北京:

机械工业出版社,2005.

[8]王兆飞.用MATLAB软件讨论马鞍面的形状[J].张家口师专学报.2002,18(3):

48-50.

[9]崔秋珍,王淑玉.几何图形在高等数学中的作用及在下的实现[J].洛阳工业高等专科学校学报.2003(5):

91-93.

[10]徐华伟.MATLAB在解析几何中的应用[J].科技信息.2005(6),19-23.

 

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

当前位置:首页 > 工程科技 > 兵器核科学

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

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