数学是自然科学研究和工程技术应用的重要工具,在理工科院校中,高等数学是一门非常重要的基础课,是学生学好其他基础课和专业课程学习的基础。然而,高等数学中涉及大量的计算,学生在掌握理论知识的基础上,要演算某个例题或者推算定义定理的时间较长。如果学生大部分时间都花在不必要的机械性的计算上,就会忽略对定义和定理的理解。Matlab中包括大量的函数,直接调用这些函数可以方便实现高等数学中的极限、求导、积分、以及微分方程等计算问题。Matlab指令表达式与数学、工程中常用的形式十分相似,学生稍加理解就能上手。在教学中引入Matlab提高了学生运用数学知识解决实际问题的能力。本文以同济大学数学系编着的《高等数学》为例,主要介绍符号计算和图形处理功能在高等数学教学中的应用。
1符号计算在高等数学教学中的应用
1.1求极限。
高等数学教学通常会介绍等价无穷小求极限、洛必达法则求极限、两个重要极限等方法求极限。
对理工科学生以及部分经济管理类学生在极限的应用中更关心的是所求极限的结果。这时学习一个Matlab命令要比学习这些数学方法要快得多。
如求极限
。此题用到的是两个重要极限求极限的方法,学生难于理解,而matlab命令为:
symsx
limit(((x-1)/(x+1))^x,x,inf)
回车即可返回结果:ans=exp(-2)
1.2求积分。
高等数学求积分的内容涉及不定积分,定积分,重积分,以及积分的应用,但是在讲不定积分、定积分内容授课学时中2/3之二的时间都在介绍计算方法,包括凑微分、换元、分部积分、有理函数积分、反常积分。而Matlab的求积分命令只有一个却可以解决各类积分方法的积分求解问题。
如求积分
。此题用到换元的方法求解,计算比较复杂,而matlab命令为:
symsx
int(1/((1+x^(1/3))*sqrt(x)))
回车即可返回结果ans=6*x^(1/6)-6*atan(x^(1/6))
1.3求解微分方程。
高等数学微分方程这一章主要介绍微分方程求解方法,如齐次方程,一阶线性微分方程,可降阶的高阶微分方程,高阶线性微分方程,常系数齐次和非齐次线性微分方程。对于具体的微分方程问题,学生往往不知道采用哪种方法去求解。Matlab微分方程求解也只有一个命令。
如求微分方程y“=+y=xcos2x.此方程为常系数非齐次线性微分方程,求解方法为先求得其所对应的齐次方程的通解,再求其一个特解。计算量较大,而一个。Matlab命令就可以解这个微分方程,并且所有的微分方程求解都用这个命令。此题Matlab命令为:
dsolve(‘D2y+y=x*cos(2*x)','x’)
返回结果为:ans=sin(x)*C2+cos(x)*C1+4/9*sin(2*x)-1/3*x*cos(2*x)
2绘图功能在高等数学教学中的应用
Matlab强大的绘图功能可以帮助学生从直观上理解高等数学中抽象的概念,将逻辑思维与形象思维有机的结合起来。
2.1图示法观察泰勒级数和原函数的逼近。
在教学过程中,很多学生对泰勒公式的含义理解不清楚,如果引入Matlab中的:taylortool通过图形从直观上帮助学生加深对泰勒公式的理解,加深对泰勒级数逼近函数这一思想方法的理解。
如求y=cosx的麦克劳林展式。在命令窗口输入taylortool回车,打开taylortool窗口,函数f(x)输入cos(x),a输入0,x的变化范围输入-2*pi,2*pi.分别给出N=3,N=7,N=20函数的逼近图形。让学生理解,离x=0处越近函数的逼近效果越好,N越大,函数逼近效果越好。
2.2图示法理解振荡间断点和无穷小量与有界量乘积仍是无穷小量。
函数y=sin(1/x)在x=0点处无定义,故x=0是间断点。但如何确定函数在该点的间断点类型呢?这时可以借助matlab绘图功能,帮助学生理解振荡间断点。
输入:ezplot(‘sin(1/x)',[-pi,pi])输出为图1
输入:symsx
limit(sin(1/x),x,0)
输出:ans=-1..1
从输出结果可以看出函数函数y=sin(1/x)在x趋于0时,函数y=sin(1/x)值在-1和1之间振荡,极限不存在,因此,x=0称为振荡间断点。
先看一下函数y=xsin(1/x)的图形:
输入:ezplot(x*sin(1/x),[-pi,pi])
输出为图2.图2表明函数y=xsin(1/x)的值不断振荡,但|sin(1/x)|≤1,即sin(1/x)在(-∞,+∞)之间是一个有界的函数,并且在x趋于0时,函数y=xsin(1/x)图形离0的值越来越近,即趋近于0.
再求函数在x趋于0时的极限:
输入:symsx
limit(x*sin(1/x),x,0)
输出:ans=0
即
通过函数y=xsin(1/x)。
的图形和极限可以帮助学生理解无穷小量与有界量的乘积仍为无穷小量。
2.3图示法理解函数用幂级数逼近和用傅立叶级数逼近的区别。
学生常常不明白函数用幂级数逼近和用傅立叶级数逼近有什么区别,若单纯从理论上来分析解释,学生是难以接受和理解,利用matlab软件作图,可以帮助学生区分二者不同,化解难点。
我们可以利用前文中的y=codx的麦克劳林展式为例,帮助学生理解,函数的幂级数逼近只在某一点附近的逼近效果较好。对于函数的傅立叶级数逼近,我们可以采用下面的例子:g(x)是以2π为周期的周期函数,它在[-π,π]表达式为:
将g(x)展开成傅立叶级数,并用matlab作图,分别比较g(x)的傅立叶级数的前3、5、7、9项与g(x)的接近情况。程序和图如下:
f='sign(sin(x))';
x=-3*pi:0.1:3*pi;
y1=eval(f);
plot(x,y1,'r’)
pause
holdon
forn=3:2:9
fork=1:n
bk=-2*(((-1)。^k)-1)/(k*pi);
s(k,:)=bk*sin(k*x);
end
s=sum(s);
plot(x,s)
pause
holdon
end
图3的四幅图中红色线为g(x)的图形,是一方波,蓝色线为展开的g(x)的傅立叶级数的不同项数的函数曲线,从图中可以看出,n越大,整体逼近效果越好。通过matlab作图帮助学生理解了和函数的幂级数逼近只在某一点附近的逼近效果不同,函数的傅立叶级数逼近是整体的逼近。
3结束语
MATLAB为多层次教学、演示教学、实践教学等现代化教学提供了一个良好的平台,通过MAT-LAB强大的符号计算功能和图像处理功能,调动了学生学习的积极性,起到了事半功倍的效果,真正体现了虚拟课堂的作用,为进一步提高教学水平和教学质量,推动高等数学教学改革提供了新的思路。
参考文献:
〔1〕吴磊。Matlab在《高等数学》中的应用[J].阴山学刊,2014,12.
〔2〕黄炜。MATLAB在高等数学中的典型问题应用探索[J].江西科学,2010,2.
〔3〕张国辉。Matlab在高等数学中的应用探析[J].当代教育理论与实践,2009,6.
〔4〕张栋恩,马玉兰,徐美萍,李双。Matlab高等数学实验[M].北京:电子工业出版社,2006.