MATLAB辅助“高等数学”课程教学的思考

2022-02-15 08:15
教育教学论坛 2022年47期
关键词:高等数学导数方程

屈 威

(韶关学院 数学与统计学院,广东 韶关 512005)

“高等数学”是理工类本科生的必修基础课程,是研究对象较为复杂的一门学科,具有高度抽象性和严密逻辑性等特点。通常认为,高等数学是由微积分学、较深入的代数学、几何学,以及它们之间的交叉内容所组成的一门基础学科,其主要内容包括数列、极限、一元微积分、多元微积分、级数、向量与空间解析几何、微分方程等。同时,“高等数学”也是经管类大学生学习后续课程,如“概率论与数理统计”“宏微观经济学”的基础。其在整个学科体系中的基础性、工具性决定了“高等数学”在整个课程教学中的重要性。因此,如何才能不让学生对“高等数学”望而生畏,如何培养学生对“高等数学”的学习兴趣,增强学生学习“高等数学”的信心显得至关重要。事实证明,MATLAB能有效辅助“高等数学”课程教学,使抽象的数学内容更直观形象地展示在学生面前,还可以更高效、更准确地演算“高等数学”中繁杂的问题。

MATLAB是由matrix和laboratory两个单词的前三个字母组合而成,又称矩阵实验室。MATLAB与Maple、Mathematica并称三大数学软件。20世纪70年代后期,为了让学生在线性代数的学习过程中能利用当时代表矩阵运算最高水平的LINPACK和EISPACK程序库进行辅助计算,美国墨西哥大学计算机系主任Cleve Moler基于FORTRAN语言为学生编写了LINPACK和EISPACK的接口程序,同时,他将这个程序取名为MATLAB,并作为数学软件面向大众免费开放[1]。后来,美国斯坦福大学的Jack Little在Cleve Moler的协助下,成立了MathWorks公司,推出了商业的MATLAB。此后,MATLAB凭借高效的数据计算能力及便捷的操作平台,占据了大部分数学计算软件市场,成为集数值分析、矩阵计算、科学数据可视化、建模和仿真于一体的强大数学软件。此外,MATLAB的界面操作简单易学,为用户提供了非常多的功能函数,其指令表达式与数学常用的形式十分相似,还具有强大的数学绘图功能,能精确描绘出高等数学中涉及的函数极限、空间曲线(面)等图形,深受广大学生、教师及科研工作者的喜爱。

目前,MATLAB实践课已经成为众多高校数学专业学生的专业选修课,而非数学专业的学生鲜有涉及。如果能将MATLAB融入非数学专业学生的“高等数学”课程教学中,可以改变传统的“黑板+粉笔”及多媒体教学的课堂模式,进而逐渐培养学生对数学学习的兴趣和动力,使“高等数学”课程教学中的许多较难掌握的知识点以更加直观的方式得以解决,从而提高教学质量。

近年来,利用MATLAB解决线性代数中矩阵行列式、特征值及特征向量问题的相关教学实践论文[2]和MATLAB解决概率论与数理统计中正态分布绘图的课程教学论文已有报道[3]。笔者在授课过程中发现,MATLAB能够对“高等数学”课程中的许多问题进行求解。笔者认为,高校教师要积极推进数学软件应用与“高等数学”课程教学的深度融合,充分利用数学软件开展混合式课程模式探索。因此,在“高等数学”的教学中引入MATLAB辅助教学,是大学生基础课教学改革的一种有效途径,符合新时期高校“高等数学”教学改革与创新的方向,值得推广。本文就MATLAB辅助“高等数学”课程教学进行了探讨,进一步阐释了利用MATLAB提高“高等数学”教学效果的几种途径。

一、MATLAB在函数求导中的应用

函数的导数是高等数学的重要研究内容,在中学阶段,我们已经掌握了基本初等函数的求导法则,对于一些简单函数的求导,我们还可以结合基本求导法则和导数的四则运算对其进行求导。但是对于一些相对复杂函数(如幂指函数、由两个或者两个以上函数复合而成的函数)的求导,由于求导过程需要理解复合函数之间的相互关系及复杂的计算过程,往往容易导致计算错误。在《高等数学(上)》教材[4]中,考查形如(y=u(x)v(x),u(x)>0)幂指函数的导数,例如,求y=xsinx的导数,学生往往会按照幂函数或指数函数的求导法则对其进行求导,因而造成求导错误。又如,对于由多个因子积(商)的形式构成的函数的导数,由于函数经过一定的复合运算,学生对复合函数的结构理解不到位,也容易导致该类函数的求导错误。一般而言,以上两种形式的导数计算均可借助对数求导法达到简化求导过程的目的,对数求导法也是高等数学中重要的一类求导方法。在MATLAB中,可以借助命令“diff”求解某一函数的导数。其调用格式为:diff(fun,n),其中,参数fun为待求导的函数,可以借助符号变量对函数fun进行定义。当n=1时,即求函数fun的一阶导数,此时调用格式可简化为diff(fun)。如果要求函数fun的高阶导数,只需要改变“diff”函数中n的取值。例如,当n=2时,是对函数fun求二阶导数,以此类推。由此可见,可以通过改变“diff”函数最后一个参数的值,以达到求不同阶导数的目的。特别地,diff(fun,2)与diff(diff(fun))运算相同,类似的求导命令可以推广至函数的更高阶的求导。由此可见,学生不仅可以利用MATLAB对复杂函数的导数进行求解,省去了烦琐的求导运算过程,还能够利用该软件对导数的计算结果进行验证。更重要的是,学生可以在数学实验中探索求导规律,进而激发学生自主学习数学的兴趣。

二、MATLAB在求特殊方程的解中的应用

在高等数学中,我们会遇到一类特殊方程——超越方程的根的求解问题。我们知道,当一元方程f(x)=0的左端函数f(x)不是x的多项式时,称之为超越方程。常见的超越方程有对数方程、指数方程、三角方程等。大部分超越方程的求解没有一般的公式,也很难求得解析解。因此,学生无法利用已掌握的求解一元二次方程的方法求解该类方程的解,这在一定程度上体现了原有方法的局限性。在这一知识的教学中,教师一般是引导学生将超越方程分解成若干个初等函数的和或差,从而将超越方程的解转换为求若干初等函数零点,通过“数”和“形”两个角度引导学生理解函数零点与方程解的关系,从而求出超越方程解。但是学生从函数的观点认识方程还不够熟练,通过“数”和“形”的角度研究超越方程的解也需要学生具有较高的数学素养,对学生来说不易掌握。此时,教师可以向学生介绍MATLAB中求方程的解的函数“fzero”,其调用格式如下:x=fzero(fun,x0),借助该命令尝试求出方程fun=0在x0 附近的解。其中,参数fun 可以利用匿名函数的方式对其进行有效定义,x0表示求解的初始数值。例如,求方程ex-3x2-15=0 在3 附近的解。我们可以通过匿名函数的方式定义函数fun,即fun=@(x)exp(x)-3*x^2-15,其中,fun为函数句柄,@运算符创建句柄,@后面的圆括号包括函数的输入参数。然后利用命令x=fzero(fun,3)即可求出该方程函数的解,即x=3.2381。通过几行简短的命令,即可解决一类复杂方程的解。由此可见,借助MATLAB辅助高等数学的教学非常方便,也有助于丰富学生的学习资源,为学生后续专业课程的学习奠定了编程基础。

三、MATLAB在求函数极限中的应用

在高等数学中,极限是一个重要的概念,其思想贯穿于整个高等数学的学习,因此,极限的理解对高等数学的学习起到至关重要的作用。在极限中,形如=e称为第二类重要极限公式,这类极限以无理数e为极限。在教学中,通过引导学生观察当x→∞时,底数趋于1,指数趋于无穷,进而判定该极限所属类型为“1∞”。由于该极限的证明相对烦琐,大部分高等数学教材并未提及,取而代之的方法主要集中在利用列表法向学生展示这类极限的数值变化过程。这导致学生对该类极限的运算理解不到位,无法很好地理解该公式的本质特征,不能灵活应用该公式求其他形如“1∞”类型的极限,导致出现大量配凑错误及计算错误等问题。这时,教师在课堂教学中可以借助数学实验探索第二类重要极限的概念。利用MATLAB强大的绘图功能,将函数f(x)=图像直观地画出来,让学生观察函数图像的变化趋势,总结第二类重要极限的两个明显特征:第一,当x>0时,f(x)是单调递增的,即f(x)随着x的增大而增大;第二,随着x的无限增大,函数并没有无限增大,而是函数对应的点几乎在一条水平线上,即f(x)是有上界的,而这个上界正是函数f(x)中的x趋于正无穷时的极限。同样的情况对于x趋于负无穷也是成立的。通过展示收敛的动态过程,观察到函数f(x)是有极限的,从而揭示函数收敛的本质特征——单调有界数列必有极限。同时,教师可以引导学生利用MATLAB的“limit”函数计算此类函数的极限,在使用命令前,要用syms对所求极限的自变量进行定义,通过程序命令“小心求证”函数极限的过程,可以让学生深深感受到掌握一种数学软件的重要性。

四、MATLAB在求函数定积分中的应用

定积分在高等数学中具有十分重要的地位,也是高等数学的难点之一。我们知道,若定积分存在,则它是一个具体的数值。在引入定积分的概念时,一般采用“分割、近似、求和、取极限”,即以直代曲的方法求函数的积分值。由于以直代曲的步骤较为烦琐,利用定积分的定义求函数的积分值对大部分学生来说仅仅停留在了解的层面,并不能很好地理解和掌握。而定积分的计算一般以曲边梯形的面积作为引例来教学,从而得到定积分的几何意义。此外,如果一个函数是连续的,那么该函数一定存在原函数,这时,定积分的计算可以借助牛顿-莱布尼茨公式求解。事实上,在积分学的教学中,教师在课堂上可以给出一个被积函数中含有根式表达式的积分问题,先让学生尝试计算,或许会出现两种情形:一是学生找不到被积函数的原函数,导致无法解决积分问题;二是学生利用换元法对根式表达式进行代换,从而达到简化被积函数的效果。在换元法时,还需要对新元的上、下限进行代换,即“换元必换限”,最后求经过换元后的积分值即可。通过以上步骤,学生虽然得出了结果,但费时,并且对于结果的正确与否,学生无法利用其他方法进行有效验证。事实上,求被积函数较为复杂的积分所涉及的步骤较为烦琐,层层递进,对初次接触积分学的学生来说不易掌握。基于此,教师可以从如何使用MATLAB对积分学课程教学进行辅助的角度出发,通过MATLAB命令对以上例子加以说明,形象直观地演示如何对定积分进行定义和求解,这样可以帮助学生克服学习高等数学的畏难情绪。MATLAB提供几种用于求函数积分运算的命令,主要包括“int”“quad”和“integral”等。其中“int”函数的调用格式为:F=int(fun,x,a,b),函数fun是被积函数,x是积分变量,a和b分别为积分上限和积分下限。由此可见,把MATLAB引入积分学课堂,凭借MATLAB直观、生动的演示,可以很快地调动学生的学习积极性,使看似枯燥无味的定理和公式变得生动有趣。此外,学生如能准确、便捷地掌握MATLAB在求解函数积分中的命令,不仅可以利用MATLAB 软件给函数的定积分计算带来极大的便利,还可以让学生利用MATLAB对结果进行验证,养成做题后检查的好习惯。因此,借助MATLAB 辅助“高等数学”课程教学是非常有意义的,这也正是MATLAB的价值所在。

结语

笔者认为,“高等数学”是一门能有效培养学生数学素养的课程。高校开设“高等数学”课程不但需要培养学生的数学运算求解能力、抽象思维和逻辑推理能力,还需要培养学生将实际问题转化成相应的数学模型,并具有一定的动手解决问题的能力。在“高等数学”课程教学中,教师除了以传统的理论教学为主,还应尝试将MATLAB的操作均匀分布在整个课程教学中,通过构建多层次的教学模式,使课堂生动形象,保证“高等数学”课程教学取得良好效果。课后,适当布置一些利用MATLAB求解课本习题的作业,让学生动手实践,达到提高学生动手能力,以及运用数学软件解决实际问题能力的目的。

猜你喜欢
高等数学导数方程
方程的再认识
方程(组)的由来
解导数题的几种构造妙招
圆的方程
关于导数解法
高等数学的教学反思
导数在圆锥曲线中的应用
函数与导数