matlab数据可视化在高等数学教学中的应用

时间:2022-05-29 09:52:46

matlab数据可视化在高等数学教学中的应用

摘要:数形结合法是数学教学与学习的重要方法,近年来,计算机技术的发展为数学研究的深入提供了便利条件。本文结合教学实践探讨了利用Matlab强大的计算功能和绘图功能在高数教学中的应用

关键词:matlab 数据可视化 高数教学

中图分类号:TP319 文献标识码:A 文章编号:1007-9416(2012)02-0172-02

matlab是美国mathworks公司推出的一套高性能的数值分析和计算软件,它将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的分析、计算和程序设计的工具。它有强大的图形处理功能,用它不仅可以进行符号运算和数值计算,还可以很方便地画出用各种方式表示的一元和二元函数的图形,从而对数学问题进行直观解释和模拟。灵活运用这些功能可以使学生在实践中探索数学概念和数学原理的实质,激发学生学习数学的兴趣,极大地提高学生的学习效率,培养学生应用数学知识解决实际问题的意识和能力,从而起到辅助教学的作用。本文主要结合笔者本人的matlab应用实践,说明Matlab强大的计算功能和绘图功能在高数教学中的应用。

本文中用到的一些符号说明如下:

(1)“>>”:matlab命令提示符。(2)“%”:注释符。(3)“;”:禁止matlab直接显示计算结果。

(4)“ans”:显示matlab计算结果。(5)“*”:matlab乘法运算符。(6)“^”:matlab乘方运算符。

(7)“./”:matlab点除运算符。例如,若x=1 2 3,y=4 5 6,则x./y=1/4 2/5 3/6。

(8)“.^”:matlab点乘方运算符,其意义同点除。

1、matlab作图命令加深概念的理解

极限是高数中最重要的概念,导数、微分、定积分全部是建立在极限的基础上,所以让学生切实理解极限的概念无疑至关重要。很多专科教材给出极限的描述性定义“当趋于时,如果无限接近于常数,则称当趋于时的极限为”。这个概念解释了极限的实质,即当自变量按某种方式变化的时候,对应的函数值是如何变化的。该定义比较直观但不严格,而本科教材中的””语言虽然精炼严谨,但大部分学生表示一时之间难以接受。这种情况先通过matlab演示,让同学们有一个直观的认识,然后再过渡到科学定义往往收到很好的效果。例1、例2形象地说明了这一点。

例1:

在matlab中求极限的命令为

>> syms x;

>> limit(sin(x)/x,x,0)

ans = 1

该命令直接给出结果而不能让学生观察其变化过程,对概念理解并无益处。这种情况可以利用matlab算出相应于自变量取值时的函数值,从而形成直观上清晰的认识。程序如下:

>> x=0.1:-0.01:0.0001

x = 0.1000 0.0900 0.0800 0.0700 0.0600 0.0500 0.0400 0.0300 0.0200 0.0100

>> y=sin(x)./x

y = 0.9983 0.9987 0.9989 0.9992 0.9994 0.9996 0.9997 0.9999 0.9999 1.0000

可见,当x=0.0100时,函数值的近似值已经为1,为加深极限概念中“动中趋静”的理解,可以再取一组更接近0的值进行对比:

>> x=0.0001:-0.00001:0.000001;

>> y=sin(x)./x

y = 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

例2:

这是著名的“第二个重要极限”,我们可以从理论上证明其单调上升且有上界,从而必收敛,并且定义该极限为e。学生固然可以接受这个事实,但总不免有些疑惑。利用matlab的计算和作图功能可以轻易消除这种困惑。第一种方法如上例中给出自变量的值,让matlab计算相应的函数值。第二种方法可以做出的图像。这只需要一条简单的命令:

>> fplot('(1+1/x)^x',[1,100]) %显示[1,100]内的图像

结果显示如图一所示:

2、matlab作图在空间曲线和二元函数教学中的应用

空间曲线图像一般难于手工描述,需要较强的空间想象力,而二元函数的图像虽可以让学生明白为什么是一张空间曲面,但对具体的函数却难于想象其真实面貌。在教学中可以引导学生们想象图像的样子,让他们尽量画出草图,然后再用matlab加以演示,并与他们画的图进行对比,从而加深理解提高空间想象力。例3、例4形象的说明了这一点。

例3.绘制空间曲线。

不难想象例3中所有的点到xoy平面的投影必须在单位圆上,而z=t说明随着t的增加其高度逐渐上升。教学中发现,同学们基本认可这种解释,但只有极少数同学可以准确地画出图像,而且有好多同学在用matlab演示之后对z=t还有疑问,常见的问题是“如果z=2t会是什么样子?”为此同时做两个曲线进行对比,程序如下:

>> t=0:pi/50:10*pi;

>> x=cos(t);

>> y=sin(t);

>> z=t;

>> u=2*t;

>> subplot(1,2,1);

>> plot3(x,y,z);

>> subplot(1,2,2);

>> plot3(x,y,u);

这幅图既绘制了螺线的图像而且清晰地说明了z=t与z=2t的区别。

例4.绘制(“阔边帽”)的图像

绘制二元函数图像需要mesh或者surf等函数,程序如下:

>> x=-8:0.5:8;

>> y=-8:0.5:8;

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

>> R=sqrt(X.^2+Y.^2)+eps; %加上eps以防止出现分母为零的情况

>> Z=sin(R)./R;

>> subplot(1,2,1);

>> mesh(X,Y,Z);

>> subplot(1,2,2);

>> surf(X,Y,Z);

>> rotate3d

本例用两种方式绘制“阔边帽”函数图像,第二个图像中使用了rotate3d命令从不同的视角给予展示。

3、数形结合法解决实际问题

求函数的零点是一个重要的数学问题,但有固定表达式的根的方程却很少,大量的方程求根问题只能使用某些算法求近似解。在matlab中使用fzero命令求根,其原理是先在根的附近找一个点,然后找一个含该点并且使用得函数值异号的区间,则根含在此区间内,依次进行该过程即可得到近似解。实际解题中可以先画出函数图像大致判断根的位置,并依此作为初始值进行求解。例5充分说明了这一点。

例5.求函数humps(x)的零点.

是matlab的内置函数,其图像如下所示:

可见在0点和1点附近有两个根,则求根程序如下:

>> fzero('humps(x)',0)

ans = -0.1316

>> fzero('humps(x)',1)

ans =1.2995

4、总结和展望

如何利用数学软件进行辅助教学是现代教育研究课题之一,传统的教学方式中强调数学的抽象性,注重知识点的传授与数学思维的培养。枯燥的定理证明、繁琐的习题计算打消了同学们的积极性,使他们失去了学习兴趣,甚至把数学学习看成是一种负担。利用数学软件进行辅助教学,设计教学方案,让同学们在实验中进行探索,自觉地发现其内在规律并尝试进行数学抽象,无疑会大大提高学习兴趣和效率,在潜移默化中提高学生的综合素质。

参考文献

[1]张志涌等,精通MATLAB6.5[M].北京:北京航空航天大家出版社,2003.

[2]于润伟等,MATLAB基础及应用.北京:机械工业出版社,2003.

[3]刘树利.计算机数学基础[M].北京:高等教育出版社,2004.

[4]Matlab7.0实用指南[M].北京:电子工业出版社,2004.

作者简介

任宪臻(1977-),女,硕士研究生,北京信息职业技术学院讲师。研究方向为计算机软件应用开发技术。

莫修明(1975-),男,硕士研究生,北京城市学院讲师。研究方向为高等数学、网络技术。

上一篇:基于F1103 GPRS MODEM的家校通系统设计与实现 下一篇:在3D MAX中贴图路径的解决方案