MATLAB软件辅助高等数学教学的探讨

2022-09-29 02:42
科技风 2022年25期
关键词:程序函数图像

王 震

江苏大学数学科学学院 江苏镇江 212013

1 概述

高等数学作为一门高校非数学专业的公共基础课,其目的是培养学生的理解力和抽象思维能力。由于该课程具有内容抽象、逻辑性强、计算复杂等特点,在教学过程中学时受限,导致很多学生都觉得这门课程枯燥乏味,学习积极性不高。因此,在高等数学的教学过程中,如何能将抽象的内容可视化,复杂的计算简单化,激发学生的学习兴趣是每位高等数学教师必须面对和思考的问题。随着计算机的迅速发展及其在各学科领域的广泛应用,将MATLAB软件融入高等数学的教学,是一件有意义的尝试。此举不仅能将课本上的理论知识转化为实践,而且还可以提高教学的时效性。因为高等数学中涉及大量的计算,若运用手工演算不仅过程烦琐而且耗时大,结果的可信度也常常令人怀疑。而MATLAB软件具有强大的科学计算和数据处理功能,只需要调用里边的函数,问题便可迎刃而解。因此,在高等数学教学中辅以MATLAB数值计算,不仅给教学活动带来便利,而且激发了学生学习的兴趣和主动性,同时也培养了他们利用计算机解决实际问题的操作能力。

本文主要探讨如何将MATLAB软件与高等数学教学有机结合起来,调动学生的学习积极性,同时提高课堂效率,减轻任课教师的负担。

2 利用MATLAB软件进行辅助教学

本节通过一些教学案例来阐述MATLAB软件在函数极限、定积分以及空间解析几何这三个方面的应用。

2.1 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。

2.2 MATLAB软件在定积分中的应用

在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

2.3 MATLAB软件在空间解析几何中的应用

很多同学在做空间解析几何问题时感到困难,主要原因是空间想象力不够,不能准确画出题目所给的区域。即使有些图形可以通过手工绘制出来,但不是很直观,仍然无法顺利解题。如果用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软件走进高等数学的课堂教学,可以将一些抽象的、难以理解的内容,以数值或者图像的形式表达出来,在不占用过多课堂时间的条件下,不仅丰富了课堂教学内容,也有助于调动学生的学习积极性。希望通过这种授课模式提高课堂教学效率和水平,推动高等数学教学改革和课程建设的发展。

猜你喜欢
程序函数图像
摄像头连接器可提供360°视角图像
浅析p-V图像中的两个疑难问题
给Windows添加程序快速切换栏
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
名人语录的极简图像表达