首页 -> 2007年第6期
数值分析课程教学改革的实践
作者:郝亚娟
[关键词]数值分析,教学改革,教学方法。
[中图分类号]G642.3[文献标识码]A[文章编号]1005-4634(2007)06-0528-03
数值分析(又名计算方法),是一种研究并解决数值问题的近似解的数学方法,是综合性大学数学与某些工科院(系)各专业的一门核心基础课程,它既有数学课程的理论上的抽象性和严谨性,又有解决实际问题的实用性和实验性。数值分析作为介绍科学计算的基础理论与基本方法的课程,已经成为物理学、力学、计算机应用、航空航天、土木工程、机械工程、风险投资和经济管理等专业学生的必修课程。如何进一步提高数值分析课程的教学质量日益受到关注,已成为当前教育改革的焦点之一。而数值分析的实际教学中,大多数学生抱怨该课程难学,公式复杂,又不知道如何应用,存在的问题比较多。笔者经过几年的数值分析课程的教学,针对上述问题做了大量工作,积累了一定经验,并根据工科专业学生的特点提出几点建议。
1产生问题的原因
数值分析难学与本课程的特点有关。具体说有如下几点:
1)公式长,难记。数值分析课程中的公式有的是“构造”的,有的是把连续变量的数学问题离散化得到的,有的是递推公式,还有的公式是近似替代。由于以上的特点,导致数值分析课程中的计算公式多,而且冗长,不易记牢;
2)抽象的理论分析。对于已经复杂冗长的公式,还要进行理论分析,包括算法的收敛性、数值稳定性、误差分析以及好的时间复杂性和好的空间复杂性,使得算法最终在计算机上实现的时候,既节省时间又节省空间;
3)课程本身具有复杂性。数值分析主要研究数值逼近与曲线拟合、线性方程组求解、非线性方程求根、数值积分与数值微分、常微分方程求解等问题的数值解法,这导致教学内容多,而工科学生该课程学时普遍较少,所以出现学时少、内容多的矛盾。
另外由于教学条件的限制和教师教学模式的影响,使得该课程的教学出现重理论轻实践的弊端。学生课上听完老师讲解的算法推导、误差分析等理论以后,课下很少进行实际计算,这就使得学生学完该课程后只记得有些枯燥乏味的复杂公式,而不会学以致用,解决实际问题,使得教学没有达到预期目标。
2教学改革的几点建议
对于上述的一些问题,笔者对于数值分析的教学提出以下几点建议:
1)采用“问题教学法”。问题教学法,即从生产实践所要解决的实际问题出发,通过归纳、分析、提炼的手段建立数学模型,从而提出相应的数学问题,之后从理论上研究解决问题的基本思想和方法,分析方法的优点缺点以及所能解决的问题的类型,进而给出解决实际问题的数学方法。
特别在教学中,可以结合工科各专业的专业背景,介绍各种数学问题在其专业中的体现,以帮助学生对问题的理解,提高学生的学习兴趣。例如在向机械专业的学生介绍插值法时,不妨以现代机械工业中用计算机程序控制加工机械零件为例:根据设计可给出零件外形曲线的某些型值点,加工时为控制每步走刀方向及步数,就要算出零件外形曲线其他点的函数值,才能加工出外表光滑的零件,这就是求插值函数的问题。再如向自动化专业的学生介绍微分方程数值解的时候,可以结合电路中的微分方程来介绍。结合专业实例,学生既能理解数值分析中各部分的内容,又能感受数值分析在本专业中的应用,进而理解该课程的重要的应用价值;
2)采用对比教学法。有比较,才能有鉴别,有鉴别,才能有提高。采用对比教学法,可以帮助学生分清内涵,深刻领悟基本内容,增强分析问题和判断问题的能力。在本课程中,采用对比教学法,效果非常明显。具体的做法有以下几个方面:
第一,重视绪论。绪论相对来说比较抽象,教师在绪论中要介绍该课程的发展史、主要内容和相关的基本概念。讲好绪论,对于讲好课程的全部内容,具有举足轻重的作用。在本课程的绪论中,一定要将本课程的特点讲清楚,并阐述理论分析的重要意义。
传统的数学教育以高等数学为主,强调理论分析,由于数学问题本身的复杂性,使得许多理工科的专业问题在数学上很难求其解析解。数学分析可以描述问题,却不能解决问题,这让很多学生觉的数学“看似有用,实则无用”,学生对数学课程普遍兴趣不高。而数值分析是一门应用性很强的学科,其理论和方法不仅在其他专业课程中经常运用,而且在解决实际问题时也常常用到。这就要求授课教师一定要将这两类课程的不同之处加以详细说明,通过具体实例说明传统方法如何解决问题,而数值分析如何解决;
第二,数值解法与解析解法的比较。例如,在讲数值积分时,将数值积分公式与牛顿-莱布尼兹公式进行比较,说明后者使用时有很大困难。因为大量的被积函数找不到用初等函数表示的原函数,而且,工程实际中,被积函数可能是由测量给出的一张数据表,这些情况牛顿-莱布尼兹公式都不能直接应用。而数值积分公式可以解决这些问题,强调这就是数值解法,说明数值解法的实际应用价值。又如,在讲线性方程组的数值解法时,说明对来自于工程实践中的未知数很多的高阶线性方程组(比如对于有限元方法,最后都会归结为解高阶线性方程组,这里同样可以采用问题教学法)来说,虽然可以求其精确解,但计算量太大,不符合实际应用的要求。这样,自然引出数值解法。教师再通过具体实例,说明直接解法和迭代解法的思想和适用类型。在微分方程的数值解这一章节中,同样可以比较数值解法与解析解法,说明解析解法只能处理很少的一部分特殊方程,而数值解法更具有应用的广泛性,对于工科学生更实用些;
第三,同一问题不同解法之间的比较。对于同样的问题,可以给出几种不同的解法,比较不同方法的优缺点也是教学的一个重点内容。比如在讲非线性方程求根问题时,对于同一个方程x3-3x+1=0,求0.5附近的根,可以给出几种算法:①对分法;②用迭代公式xk+1=(xk3+1)/3的迭代法;③牛顿法;④对迭代公式xk+1=(xk3+1)/3采用松弛法加速;⑤对迭代公式xk+1=(xk3+1)/3采用埃特金法加速等,方法①对分13次后得出精确到三位小数的根,方法②迭代6次后得出精确到五位小数的根,方法③迭代4次后得出精确到六位小数的根,方法④迭代4次后得出精确到六位小数的根,方法⑤迭代2次后得出精确到六位小数的根。各种方法的收敛速度显而易见。可见,在解决问题的各种方法中,还要对它们进行理论分析,比较各种算法的优劣,以便具有更好的实用价值;
3)重视思维方式的培养。数值分析与高等数学、线性代数、微分方程等数学课程既有密切联系,又有显著的区别。后者注重严格的理论推导,所求的大多是问题的精确解;前者强调的是工程应用的实际背景,以解决实际问题为最终目标。
函数逼近是数值分析方法中的主要内容之一,许多数值方法都依赖于函数逼近的思想。比如各种插值方法、数值微分和数值积分、微分方程的数值解等。学生开始接触时,很容易产生这样的疑问:这样做可以吗?因此,老师讲课的时候要让学生认识到:数值分析课程重在利用已有的数学知识和工具去逼近和近似原来问题的解,是一门应用性很强的学科,而且收敛性分析和误差分析也回答了这个问题。学过数值分析后,要让学生知道,不能求解问题的解析解或精确解并不是难题,可怕的是不会去近似简化原来的问题求近似解。
迭代是数值分析课程中的重要概念,它的基本思想是:要求首先敢于猜测一个解,当然这种猜测是要结合其他数学知识进行的,不是随意的乱猜测;其次考虑是否满足解的要求,如果不符合要求,按照迭代公式迭代一次,再考虑是否满足解的要求,如果不符合要求,按照迭代公式再迭代一次,如此反复,直到找到满意的解为止。
连续问题的离散化是数值分析的另一个核心内容,微分方程数值解的内容具有典型的离散化的思想,授课时,教师一定要将离散化的思想和以前接触的解析解法相区别,着重说明离散化方法的基本思想,比如求微分方程数值解,不是依赖给出问题的解析解,而是依靠计算机给出方程在指定点的函数值,这就是离散化的思想。学生通过具体实例掌握该离散化方法的做法效果是很理想的。
逼近和近似、迭代以及连续问题离散化的思想,所求结果往往是近似解。在整个教学过程中,应始终贯穿这些思想,让学生深刻体会和理解数值分析方法提供的不仅是一种利用计算机等工具进行求解数学问题的方法,更应开拓学生视野,活跃学生思想,提高学生对数学的理解和应用能力。
当然,除了上述的几点建议外,采用合适的教材、利用多媒体教学,加强实验教学以及改革考试方式等等,对于数值分析教学的改革也具有很重要的意义,由于篇幅所限,这里不再详细说明论述。
本文对数值分析课程教学中存在的问题予以分析,提出数值分析教学改革的一些个人意见和建议。由于数值分析课程向学生传授了许多新的思想和新的方法,如果教师在教学中既传授各种基本算法的原理和思想,又引导学生注意各种算法的技巧和与计算机的结合,重视培养学生使用计算机进行数值计算的能力和主动学习的积极性,这样必然能使学生的创新能力、实际动手能力、运用计算机解决实际问题的能力和竞争力得到不断提高,取得事半功倍的效果。
参考文献
1 李庆扬,王能超,易大义.数值分析(第三版).武汉:华中科技大学出版社,1986.
2陈焕祯,姜子文,刘尊东.计算方法课程改革与建设的探讨[J].山东师范大学学报(自然科学版),2002,(17).
3杨大地,谈骏渝.实用数值分析[M].重庆:重庆大学出版社,2000.