高等数学课堂引入数值计算的必要性

2018-02-03 05:29宋妮王鹏闫春苗
数学学习与研究 2018年1期
关键词:数值计算图像处理

宋妮+王鹏+闫春苗

【摘要】本文通过具体例子分析了在高等数学课堂上引入数值计算的必要性,突出了Matlab在图像处理、数值计算等方面的优势和特点,其直观性、趣味性和简便性进一步提升了学生对高等数学的兴趣和创新能力,对传统方式的教学是非常有效的辅助手段.

【关键词】Matlab;图像处理;数值计算

【基金项目】中北大学理学院教改项目.

高等数学是高校理工科学生的基础课程和工具课程之一,绝大部分高校采取的基本是以教师为中心的教学模式,由教师通过讲授和板书,把教学内容传授给学生.在整个教学过程中,教师是主宰,学生则处于被动接受教师灌输知识的地位,互动性较差或者基本不互动,学生对有些内容感到抽象、枯燥且难以理解,从而导致了学生的积极性下降.这就要求教师改变传统的教学模式,引入新的教学手段激发学生的兴趣,使复杂问题简单化、抽象问题具体化,真正实现课堂上的互动.

如今,数学软件的发展已非常成熟,国外大量课程都已采用数学软件来进行分析和计算,而国内的普及程度则不是很高.在科技快速发展的今天,高等数学课程不仅要培养学生的抽象思维能力、逻辑推理能力、空间想象能力、基本运算能力,还应注重培养学生的数学建模能力与数值计算能力(包括数据处理能力),学会用数学方法初步解决实际问题,会用计算机进行一定的科学计算.因此,将数值计算引入高等数学课程就显得尤为重要,学生在课堂上通过对数值计算的认识、熟悉、使用,进一步达到理论和实践相统一.

本文将借助于數学软件,对高等数学中的某些抽象理论进行数值计算与可视化,加强学生对抽象理论的理解以及对数学软件的使用,从而增强师生之间的互动性,提高学生的学习兴趣.

一、图像——抽象问题具体化

图像是Matlab中一个很重要的功能,而在高等数学中,多元函数的图形大多抽象,不容易给出,例如,不能显化的隐函数、二维图形的极坐标图形、参数方程图形,三维图形、三维图形的变化及多个三维图形的相互关系等,给教与学带来不便.若调用Matlab中绘图函数来完成各类图形的绘制,使得抽象思维变得直观具体,更便于学生理解和接受.

求导计算中有两类很重要的函数,一类是幂指函数,利用对数求导法或等价变形对其求导数;另一类是隐函数,利用复合函数求导法则进行计算,但对于这两类函数的图像,我们研究的很少或基本不研究,原因之一在于这两类函数无法用基本初等函数的图像去表示,而数值计算很好地解决了这一问题.

例1 作幂指函数y=xsinx(x>0)的图像.

解 在Matlab中调用命令:

x=1:0.1:25;y=x^sin(x);plot(x,y);

xlabel(′x′);ylabel(′y′);grid on

运行结果如图1所示,从图中学生可以直观地看到函数的性质、变化规律和极值点以及极值,不再停留在想象的层面.

图1 y=xsinx(x>0)的图像

例2 不能显化的隐函数y5+2y-x-3x7=0的图像.

解 在Matlab中调用命令:

ezplot(′y^5+2*y-x-3.*x^7′=0);grid on

运行结果如图2所示,从图中可以看出该隐函数是单调递增的奇函数,关于原点对称,一目了然,使学生更好地理解隐函数的特点.

图2 y5+2y-x-3x7=0的图像

在学习向量与空间解析几何、三重积分和曲面积分这些内容时,学生经常会感到很抽象,因为我们的教材中显示的都是平面图形,学生很难建立空间图形的概念,通过在课堂上引入Matlab,可以非常直观地建立三维空间的函数图形,培养学生的立体感.

例3 作二元函数z=sinx2+y2的图像.

解 在Matlab中调用命令:

x=-10:0.2:10;[X,Y]=meshgrid(x);r=sqrt(X^2+Y^2)+eps;Z=sin(r);meshc(X,Y,Z)

其中,meshc(X,Y,Z)表示曲面xOy面上的等高线即投影,如图3所示.其中,图3(a)表示曲面的三维立体图,图3(b)是其等高线图.通过图像和方程相结合,学生能够更好地加深对二次曲面的理解,使抽象问题更具体化.

进一步地,在课堂上逐步引入数值计算,可以解决很多图形的抽象问题,提高学生对高等数学的兴趣和积极性,不再局限于全理论性的教学模式.

(a)

(b)

图3 z=sinx2+y2的图像

二、辅助计算——复杂问题简单化

数值计算是Matlab的又一重要功能,高等数学中的极限、导数、积分等内容,方法多、公式多,有些情况下计算量也较大,学生在做题的时候从数字到数字、公式到公式,经常会感到烦琐、枯燥,且容易出错.如,若学生清楚算法原理和计算过程,则可通过Matlab完成算法实现,作为检验答案的辅助手段,整个过程效率高、用时短、更直观.

例4 计算∫sinxsin2xsin3xdx.

解 这是有关三角函数的积分问题,要计算该积分,需利用三次积化和差公式,过程非常麻烦,而在Matlab中调用命令:

syms x,y;y=int(sin(x).*sin(2*x).*sin(3*x));

就可轻松得到结果:

y=(8*tan(x/2)^4*(9*tan(x/2)^4-14*tan(x/2)^2+9))/(3*(tan(x/2)^2+1)^6)

对学生而言,三重积分和曲面积分一直是高等数学的难点,其一是学生对立体区域的作图感到抽象、困难,无从下手;其二是找不到正确的投影区域,而在课堂上利用Matlab就能够使得问题由抽象变具体,复杂变简单.endprint

例5 计算I=S(xy+yz+zx)dS,其中S为z=x2+y2被柱面x2+y2=2ax(a>0)截得的部分.

解 (1)畫出积分曲面图,在Matlab中调用命令:

[x,z]=meshgrid(0:0.1:2,0:0.05:2);y1=sqrt(2.*x-x.^2);y2=-sqrt(2.*x-x.^2);surf(x,y1,z);

hold on surf(x,y2,z) [x,y]=meshgrid(-2:0.1:2);z=sqrt(x.^2+y.^2);mesh(x,y,z)

xlabel(′x′);ylabel(′y′);zlabel(′z′);

运行结果如图4所示,从图中可直观地看出截得部分在xOy面上的投影区域仍是圆域,进一步利用极坐标将曲面积分转化为二重积分去计算.

图4 所截部分的图像

(2)计算积分值:

syms x y r t a;z=sqrt(x^2+y^2);zx=diff(z,′x′);zy=diff(z,′y′);dS=sqrt(1+zx^2+zy^2);

f=x*y+(y+x)*sqrt(x^2+y^2)*dS;x=r*cos(t);y=r*sin(t);F=subs(f);

r1=0;r2=2*a*cos(t);t1=-pi/2;t2=pi/2;f1=int(F*r,r,r1,r2);I=int(f1,t,t1,t2)

运行结果为:

I=(64*2^(1/2)*a^4)/15

即I=S(xy+yz+zx)dS=64152a4.

三、结束语

利用Matlab的强大功能,学生可以借助较传统的编程语言(如C、C++和Fortran)实现图像、极限、积分等运算,既激发了学生的学习热情,也有利于提高学生的创造性思维,同时对于问题的直观性和几何性,更便于学生理解和接受,使学生真正成为学习的主体.

【参考文献】

[1]郭科.数学实验[M].北京:高等教育出版社,2009.

[2]陈怀琛.大学理工科要把“科学计算能力”当作一个重要培养目标[J].中国大学教学,2005(9):17-19.

[3]赵亚男,牛言涛.MATLAB在解析几何教学中的应用[J].长春大学学报,2011(4):54-58.

[4]夏静,卜华龙.MATLAB辅助高等数学教学方法初探[J].巢湖学院学报,2012(6):132-134.endprint

猜你喜欢
数值计算图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
浅谈MATLAB在数学建模中的应用
基于图像处理的定位器坡度计算
平衡流量计流动特性数值计算分析
MATLAB软件可视化效果和数值计算在高等数学学习中的应用
Photo Shop通道在图像处理中的应用