基于MATLAB软件的高等数学图形问题

2014-07-18 00:50周后卿
电脑知识与技术 2014年13期
关键词:高等数学图形软件

摘要:将数学软件 MATLAB 应用于高等数学中的空间解析几何教学,能对图形进行静态与动态的可视化,使教学内容更加形象生动,有利于学生对知识的理解与掌握,能进一步推动基础课程教学方法的现代化进程。

关键词:MATLAB;软件;高等数学;图形

中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2014)13-3186-04

The Higher Mathematical Graphic Problems of Based on MATLAB Software

ZHOU Hou-qing

(Department of Mathematics, Shaoyang University, Shaoyang 422004, China)

Abstract: Applying mathematical software MATLAB to the space analytic geometry in higher mathematical teaching, we can make the graphics static and dynamic visualization, and makes the teaching content more vivid. It is beneficial to students understanding knowledge, and promote the modernization of basic courses teaching methods.

Key words: MATLAB; software; Higher mathematic; graphic

20世纪杰出的数学家 Richard.Courant 在《什么是数学》一书中开宗明义写道: 数学,作为人类思维的表达形式,反映了人们积极进取的意志,缜密周详的推理以及对完美境界的追求。它的基本要素是:逻辑和直观、分析和构作、一般性和个别性。虽然不同的传统可以强调不同的侧面,然而正是这些互相对立的力量的相互作用以及它们综合起来的努力才构成了数学科学的生命、用途和它的崇高价值。那么,在高等数学的教学中,少不了“缜密周详的推理”,如何将这个推理过程“直观地”呈现出来是一个值得思考和亟待解决的问题。

高等数学中函数、微分、积分以及空间曲面相交,空间曲面所围图形等概念的抽象程度大大超过了其他的自然科学。传统的教学方法在讲解概念和图形的变化时,缺乏能够形象展示概念和图形的工具,致使形象不够具体,学生比较枯燥,难以形成良好的认知,理解上存在困难。因此,图形和概念成为大学数学学习的难点。 若利用有关的数学软件,将有关内容做成多媒体课件,可以变“抽象”为“具体”,变“静止”为“活动”,变“虚幻”为“现实”。可以根据教学内容选择合适的素材,突破时空的限制,通过声音、形象、色彩、动画等生动形象地再现某些场景以及事情的发生、发展过程。这样,可以有效地提高学生的学习兴趣和学习效果。而MATLAB软件就是一款对学习,特别对作图是非常有帮助的软件。

MATLAB是美国Mathworks公司推出的产品。 MATLAB名称是由Matrix 和Laboratory 两个英文单词各取前3个字母组合而成。 最早的版本用Fortran语言编写,20世纪90年代后,MATLAB的内核采用C语言编写,在数值计算方面功能不断增强,还增强了数据的可视化功能。 现在的MATLAB已经将高性能的数值计算和可视化集成在一起,提供了大量的内置函数,广泛地应用于科学计算,控制系统,信息处理等领域的分析、仿真和设计工作,强大的矩阵计算和仿真能力是它的强项。

MATLAB也提供强大的图形处理和编辑功能,能够将经过数据处理,运算和分析后的结果通过图形的方式直观地进行表示,这样便于用户观察数据间的关系。用MATLAB可以绘制二维曲线,三维图形,以及高维图形,特殊图形等等。

在高等数学教学中,应用MATLAB的图形可视化功能,对图形进行静态与动态的可视化设计,可以把曲线、曲面的形成过程和变化过程准确地呈现出来,对激发学生学习兴趣,提高学生学习效果,培养学生的空间想象能力大有裨益。下面我们将通过一些具体的实例说明MATLAB在高等数学教学中的作用。

在空间解析几何和定积分,特别是重积分的教学过程中,学生对曲线,曲面的形状位置等特征搞不清,即使将他们画在黑板上,也不一定 弄得明白积分的取值范围。 因为空间曲线、曲面的形成过程仅仅通过讲叙是比较抽象的,在黑板上的静态描绘,既不直观也不生动,学生难以理解。这时候,若用MATLAB动画演示,将曲线或曲面的形成过程直观的呈现在学生眼前,那么,学生对这个内容,就会留下深刻的印象。如果还能加一些声音色彩元素,效果就会更好。

例1 作出螺旋线的图像.

程序见下面:

t=0:0.1:10*pi;

i=1;

h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');

grid on

axis([-2 2 -2 2 0 35])

for i=2:length(t)

set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));

drawnow

pause(0.01)

end

图1 圆柱形螺旋线

这个程序的特点在于螺旋线是以动画的形式出现,学生可以清晰地看到螺旋线的形成过程。而下面这个程序作出的螺旋线是圆锥形,它没有动画,程序完成后马上显示下面图2的图像。

a=0:0.1:20*pi;

h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);

axis([-50,50,-50,50,0,150]);

grid on

set(h,'erasemode','none','markersize',22);

xlabel('x轴');ylabel('y轴');zlabel('z轴').

图2 圆锥形螺旋线

同样是圆锥形螺旋线,但这个程序作图时显示了螺旋线形成的动画过程,并且呈现的时间比较长,能够看得很清楚。

x='2*t*sin(pi/4)*cos(t)';

y='2*t*cos(pi/4)*sin(t)';

z='2*t*cos(pi/4)';

for k=0:0.1:4*pi

grid on

ezplot3(x,y,z,[0,k+0.2])

pause(0.05)

title(' 圆锥螺线')

End

在用程序画图时,可以根据需要将一些数据适当地微调, 改变其中的一些数据后,随之输出的图像就会发生变化。

图3 动画形圆锥形螺旋线

例2 做出维维安尼(Viviani)曲线图形。

[x2+y2+z2=a2x2+y2-ax=0]

若在黑板上画这条曲线,则很难直观反映曲线的特点,而借助MATLAB软件,则很容易画出,既生动又美观。首先画球面与柱面相交,

程序如下:

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

图4 球面与柱面相交图

其次画维维安尼曲线,程序如下

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

hold off;

x3='-cos(r)*cos(r)';y3='sin(r)*cos(r)';z3='sin(r)';

subplot(1,2,2);ezplot3(x3,y3,z3,[0,2*pi]);

title(' 维维安尼Viviani曲线')

图5 维维安尼曲线

在空间解析几何的教学实践中,我们感受最深的是学生对两个空间图形相交不会画图,甚至头脑中没有这个相交的概念,即使在黑板上画出了图形,他们还是难以认同和接受。主要是缺乏空间想象能力,缺乏行之有效的训练。例如,我们在讲授平面与曲面相交时,在黑板上画出了例3图形。虽然画出了,但学生还是觉得不好理解,主要原因是黑板上画的不够直观。后来,我们借助多媒体,利用MATLAB画图,效果就很好,学生一下就明白了。

例3 画出平面与圆柱面的交线

程序如下

[X,Y,Z] = cylinder(125,100);

Z1=400*Z;

Z1(1,:)=-400;

mesh(X,Y,Z1)%画柱面

hold on

ezmesh('z*5/4-x ',[-140 140])%画平面

axis square

t = 0:pi/20:2*pi;

plot3(125*sin(t),125*cos(t),(z*5/4-125*sin(t))/,'k-+','LineWidth',2)%画交线

图6 柱面与平面相交

像一枚硬币都有其两面性一样,利用 MATLAB 绘制图形,形象又直观,有利学生认识图形;但如果因为软件作画简单快捷而放弃手工绘制,那么对学生的动手能力的培养将是不利的。因为绘图往往是学生的弱项,平时对作图缺乏系统的训练;而手工绘制图形的过程也是思维训练的过程,对空间观念的建立和空间想象能力的提升很有帮助。各种软件应用的最终目的是用于辅助教学,用它来为教学服务。计算机不能取代教师上课,它只是教学任务实现的手段,是对传统教学的一种优化。所以,教学过程中,各种软件的使用始终应遵循为教学内容服务的原则,有针对性地使用,切忌盲目滥用,杜绝教师服务课件的现象。

参考文献:

[1] R.柯朗,H.罗宾.什么是数学:对思想和方法的基本研究[M].上海:复旦大学出版社,2005.

[2] 周建兴,岂兴明,矫津毅,等.MATLAB从入门到精通[M].北京:人民邮电出版社,2008.

这个程序的特点在于螺旋线是以动画的形式出现,学生可以清晰地看到螺旋线的形成过程。而下面这个程序作出的螺旋线是圆锥形,它没有动画,程序完成后马上显示下面图2的图像。

a=0:0.1:20*pi;

h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);

axis([-50,50,-50,50,0,150]);

grid on

set(h,'erasemode','none','markersize',22);

xlabel('x轴');ylabel('y轴');zlabel('z轴').

图2 圆锥形螺旋线

同样是圆锥形螺旋线,但这个程序作图时显示了螺旋线形成的动画过程,并且呈现的时间比较长,能够看得很清楚。

x='2*t*sin(pi/4)*cos(t)';

y='2*t*cos(pi/4)*sin(t)';

z='2*t*cos(pi/4)';

for k=0:0.1:4*pi

grid on

ezplot3(x,y,z,[0,k+0.2])

pause(0.05)

title(' 圆锥螺线')

End

在用程序画图时,可以根据需要将一些数据适当地微调, 改变其中的一些数据后,随之输出的图像就会发生变化。

图3 动画形圆锥形螺旋线

例2 做出维维安尼(Viviani)曲线图形。

[x2+y2+z2=a2x2+y2-ax=0]

若在黑板上画这条曲线,则很难直观反映曲线的特点,而借助MATLAB软件,则很容易画出,既生动又美观。首先画球面与柱面相交,

程序如下:

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

图4 球面与柱面相交图

其次画维维安尼曲线,程序如下

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

hold off;

x3='-cos(r)*cos(r)';y3='sin(r)*cos(r)';z3='sin(r)';

subplot(1,2,2);ezplot3(x3,y3,z3,[0,2*pi]);

title(' 维维安尼Viviani曲线')

图5 维维安尼曲线

在空间解析几何的教学实践中,我们感受最深的是学生对两个空间图形相交不会画图,甚至头脑中没有这个相交的概念,即使在黑板上画出了图形,他们还是难以认同和接受。主要是缺乏空间想象能力,缺乏行之有效的训练。例如,我们在讲授平面与曲面相交时,在黑板上画出了例3图形。虽然画出了,但学生还是觉得不好理解,主要原因是黑板上画的不够直观。后来,我们借助多媒体,利用MATLAB画图,效果就很好,学生一下就明白了。

例3 画出平面与圆柱面的交线

程序如下

[X,Y,Z] = cylinder(125,100);

Z1=400*Z;

Z1(1,:)=-400;

mesh(X,Y,Z1)%画柱面

hold on

ezmesh('z*5/4-x ',[-140 140])%画平面

axis square

t = 0:pi/20:2*pi;

plot3(125*sin(t),125*cos(t),(z*5/4-125*sin(t))/,'k-+','LineWidth',2)%画交线

图6 柱面与平面相交

像一枚硬币都有其两面性一样,利用 MATLAB 绘制图形,形象又直观,有利学生认识图形;但如果因为软件作画简单快捷而放弃手工绘制,那么对学生的动手能力的培养将是不利的。因为绘图往往是学生的弱项,平时对作图缺乏系统的训练;而手工绘制图形的过程也是思维训练的过程,对空间观念的建立和空间想象能力的提升很有帮助。各种软件应用的最终目的是用于辅助教学,用它来为教学服务。计算机不能取代教师上课,它只是教学任务实现的手段,是对传统教学的一种优化。所以,教学过程中,各种软件的使用始终应遵循为教学内容服务的原则,有针对性地使用,切忌盲目滥用,杜绝教师服务课件的现象。

参考文献:

[1] R.柯朗,H.罗宾.什么是数学:对思想和方法的基本研究[M].上海:复旦大学出版社,2005.

[2] 周建兴,岂兴明,矫津毅,等.MATLAB从入门到精通[M].北京:人民邮电出版社,2008.

这个程序的特点在于螺旋线是以动画的形式出现,学生可以清晰地看到螺旋线的形成过程。而下面这个程序作出的螺旋线是圆锥形,它没有动画,程序完成后马上显示下面图2的图像。

a=0:0.1:20*pi;

h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);

axis([-50,50,-50,50,0,150]);

grid on

set(h,'erasemode','none','markersize',22);

xlabel('x轴');ylabel('y轴');zlabel('z轴').

图2 圆锥形螺旋线

同样是圆锥形螺旋线,但这个程序作图时显示了螺旋线形成的动画过程,并且呈现的时间比较长,能够看得很清楚。

x='2*t*sin(pi/4)*cos(t)';

y='2*t*cos(pi/4)*sin(t)';

z='2*t*cos(pi/4)';

for k=0:0.1:4*pi

grid on

ezplot3(x,y,z,[0,k+0.2])

pause(0.05)

title(' 圆锥螺线')

End

在用程序画图时,可以根据需要将一些数据适当地微调, 改变其中的一些数据后,随之输出的图像就会发生变化。

图3 动画形圆锥形螺旋线

例2 做出维维安尼(Viviani)曲线图形。

[x2+y2+z2=a2x2+y2-ax=0]

若在黑板上画这条曲线,则很难直观反映曲线的特点,而借助MATLAB软件,则很容易画出,既生动又美观。首先画球面与柱面相交,

程序如下:

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

图4 球面与柱面相交图

其次画维维安尼曲线,程序如下

syms s t k u r;

x1='sin(s)*cos(t)';y1='sin(s)*sin(t)';z1='cos(s)';

x2='-cos(k)*cos(k)';y2='sin(k)*cos(k)';z2='u';

subplot(1,2,1);ezmeshc(x2,y2,z2,[0,pi,-2,2]); %绘制圆柱面

hold on;

ezsurf(x1,y1,z1,[-pi,pi,0,pi]); %绘制球面

title(' 球面与圆柱面');

hold off;

x3='-cos(r)*cos(r)';y3='sin(r)*cos(r)';z3='sin(r)';

subplot(1,2,2);ezplot3(x3,y3,z3,[0,2*pi]);

title(' 维维安尼Viviani曲线')

图5 维维安尼曲线

在空间解析几何的教学实践中,我们感受最深的是学生对两个空间图形相交不会画图,甚至头脑中没有这个相交的概念,即使在黑板上画出了图形,他们还是难以认同和接受。主要是缺乏空间想象能力,缺乏行之有效的训练。例如,我们在讲授平面与曲面相交时,在黑板上画出了例3图形。虽然画出了,但学生还是觉得不好理解,主要原因是黑板上画的不够直观。后来,我们借助多媒体,利用MATLAB画图,效果就很好,学生一下就明白了。

例3 画出平面与圆柱面的交线

程序如下

[X,Y,Z] = cylinder(125,100);

Z1=400*Z;

Z1(1,:)=-400;

mesh(X,Y,Z1)%画柱面

hold on

ezmesh('z*5/4-x ',[-140 140])%画平面

axis square

t = 0:pi/20:2*pi;

plot3(125*sin(t),125*cos(t),(z*5/4-125*sin(t))/,'k-+','LineWidth',2)%画交线

图6 柱面与平面相交

像一枚硬币都有其两面性一样,利用 MATLAB 绘制图形,形象又直观,有利学生认识图形;但如果因为软件作画简单快捷而放弃手工绘制,那么对学生的动手能力的培养将是不利的。因为绘图往往是学生的弱项,平时对作图缺乏系统的训练;而手工绘制图形的过程也是思维训练的过程,对空间观念的建立和空间想象能力的提升很有帮助。各种软件应用的最终目的是用于辅助教学,用它来为教学服务。计算机不能取代教师上课,它只是教学任务实现的手段,是对传统教学的一种优化。所以,教学过程中,各种软件的使用始终应遵循为教学内容服务的原则,有针对性地使用,切忌盲目滥用,杜绝教师服务课件的现象。

参考文献:

[1] R.柯朗,H.罗宾.什么是数学:对思想和方法的基本研究[M].上海:复旦大学出版社,2005.

[2] 周建兴,岂兴明,矫津毅,等.MATLAB从入门到精通[M].北京:人民邮电出版社,2008.

猜你喜欢
高等数学图形软件
禅宗软件
软件对对碰
高等数学的教学反思
分图形
找图形
谈软件的破解与保护
图形配对