王 震
江苏大学数学科学学院 江苏镇江 212013
高等数学作为一门高校非数学专业的公共基础课,其目的是培养学生的理解力和抽象思维能力。由于该课程具有内容抽象、逻辑性强、计算复杂等特点,在教学过程中学时受限,导致很多学生都觉得这门课程枯燥乏味,学习积极性不高。因此,在高等数学的教学过程中,如何能将抽象的内容可视化,复杂的计算简单化,激发学生的学习兴趣是每位高等数学教师必须面对和思考的问题。随着计算机的迅速发展及其在各学科领域的广泛应用,将MATLAB软件融入高等数学的教学,是一件有意义的尝试。此举不仅能将课本上的理论知识转化为实践,而且还可以提高教学的时效性。因为高等数学中涉及大量的计算,若运用手工演算不仅过程烦琐而且耗时大,结果的可信度也常常令人怀疑。而MATLAB软件具有强大的科学计算和数据处理功能,只需要调用里边的函数,问题便可迎刃而解。因此,在高等数学教学中辅以MATLAB数值计算,不仅给教学活动带来便利,而且激发了学生学习的兴趣和主动性,同时也培养了他们利用计算机解决实际问题的操作能力。
本文主要探讨如何将MATLAB软件与高等数学教学有机结合起来,调动学生的学习积极性,同时提高课堂效率,减轻任课教师的负担。
本节通过一些教学案例来阐述MATLAB软件在函数极限、定积分以及空间解析几何这三个方面的应用。
极限方法是在探求某些实际问题的精确解答过程中产生的,是高等数学中研究变量的一种基本方法。求函数极限的方法也是多种多样,如定义法、等价无穷小代换、两个重要的极限公式、洛必达法则等。但是对于有些复杂函数的极限,用推理的方法不容易求出,而借助于MATLAB软件可以轻松解决。
在MATLAB软件中编写如下程序:
syms x
f=sin(sin(x))*(sin(x)-sin(sin(x)))/(x^4);
ans=limit(f,x,0)
运行结果为ans=1/6。
在MATLAB软件中编写如下程序:
syms x y
f=x^2*y^2/(x^2*y^2+(x-y)^2);
ezmesh(f,[-1,1],60)
grid on
title('$f=frac{x^2y^2}{x^2y^2+(x-y)^2}$','interpreter','latex');
图1 函数的图像
当然,MATLAB软件也可以实现函数的单侧求极限,如有一道题目:
在MATLAB软件中编写如下程序:
syms x
A=limit(2/(2+3^(-1/x)),x,0,'left') %函数在变量趋于0时的左极限
B=limit(2/(2+3^(-1/x)),x,0,'right') %函数在变量趋于0时的右极限
运行结果为A=0,B=1。
在MATLAB软件中编写如下程序:
方法1:利用int函数求定积分,其中int函数的调用格式是f=int(fun,x,xmin,xmax)%求函数fun的定积分,x是自变量,xmin是积分下限,xmax是积分上限。
MATLAB程序代码如下:
syms x
fun=exp(-x.^2).*log(x).^2;
ans=vpa(int(fun,x,0,inf))
运行结果为ans=1.9475221803007815975843164106279。
方法2:利用integral函数求定积分,其中integral函数的调用格式是f=integral(fun,x,xmin,xmax)%求函数fun的定积分,x是自变量,xmin是积分下限,xmax是积分上限。
Matlab程序代码如下:
fun=@(x)exp(-x.^2).*log(x).^2;
ans=integral(fun,0,inf)
运行之后可以得到与方法1同样的结果。
由于上述积分中被积函数的原函数不是初等函数,故该变上限积分不能通过数学式子直接表示出来,利用MATLAB软件编写如下程序:
k=0;
for x=0:0.01:6;
k=k+1;
f=@(t)exp(-t.^2);
c(k)=quad(f,0,x);
end
plot(0:0.01:6,c);
grid on
title('$int_0^x{{e^{-{t^3}}}}dt$','interpreter','latex');
xlabel('x');ylabel('y');
图2 变上限积分的图像
ans=0.88622692545275801364908374167057
由此,可验证定理的合理性。
例6 计算阿基米德螺线=(>0)上变量从0变到2的一段弧与极轴所围图形的面积。
首先可以通过MATLAB软件绘制待求面积的图形,程序代码如下(假设=2):
x=0:0.02:2*pi;
y=2*x;
polarplot(x,y)
得到如图3所示的函数图像。
图3 阿基米德螺线ρ=2θ在区间(0,π)上的图像
然后再利用极坐标计算面积的公式求出从0变到2的一段弧与极轴所围图形的面积,程序代码如下:
syms a positive
syms t
S=int(1/2*(a*t)^2,t,0,2*pi)
运行结果为:S=(4*a^2*pi^3)/3
很多同学在做空间解析几何问题时感到困难,主要原因是空间想象力不够,不能准确画出题目所给的区域。即使有些图形可以通过手工绘制出来,但不是很直观,仍然无法顺利解题。如果用MATLAB软件作图,就能使问题简化,而且可以达到事半功倍的效果。
在MATLAB软件中编写如下程序:
[x,y]=meshgrid(-6:0.2:6);
z=x.^2/6-y.^2/8;
mesh(x,y,z);
xlabel('x');
ylabel('y');
title('$ z=frac{ x^2}{6}-frac{y^2}{8}$',
'interpreter','latex');
运行程序,得到如图4所示的结果。
图4 二元函数的图像
在MATLAB软件中编写如下程序:
[t,r]=meshgrid([0:0.02*pi:2*pi],[0:0.02:sqrt(5)]);
x=r.*cos(t);
y=r.*sin(t);
Z1=sqrt(x.^2+y.^2);
Z2=sqrt(abs(4-x.^2-y.^2));
z1=Z1;
z2=Z2;
z1(Z1>Z2)=nan;
z2(Z1>Z2)=nan;
mesh(x,y,z1)
hold on
mesh(x,y,z2)
axis equal
xlabel('x');
ylabel('y');
zlabel('z');
图5 曲面和x2+y2+z2=5所围立体
让MATLAB软件走进高等数学的课堂教学,可以将一些抽象的、难以理解的内容,以数值或者图像的形式表达出来,在不占用过多课堂时间的条件下,不仅丰富了课堂教学内容,也有助于调动学生的学习积极性。希望通过这种授课模式提高课堂教学效率和水平,推动高等数学教学改革和课程建设的发展。