数值分析中函数插值实验的教学设计
2016-01-14李光云李娇芬
李光云+李娇芬
摘要:数值分析是大学本科数学和工科专业的重要课程,实验是数值分析课程的重要组成部分,本文通过数值分析的插值实验的教学案例,分析了如何在实验中引入比较法,让学生在做实验的过程中获得理论知识的巩固的方法。
关键词:数值分析;实验;插值
中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2015)06-0233-02
一、引言
数值分析是一门与计算机使用紧密结合的实用性很强的数学课程,它不仅是信息与计算科学专业、应用数学专业的一门专业基础课,也是很多工科专业的一门很重要的课程。数值分析包含了大量严谨的数学理论,也有很强的实用价值。
如今的课堂教学往往非常注重讲授数值方法的原理,而数值分析的理论覆盖面很广,从数值逼近、积分微分到常微分方程、高等代数等,这就需要学生有良好的基础和知识积累,才能在理论学习中游刃有余。教师一般在课堂上都是由实际出发,由现实的例子作为背景引入具体理论,然后对理论进行详细讲解,最后再回到实例当中解决问题。
笔者认为,若是只在课堂上讲授理论,尽管有多媒体手段的加入,各种图形、程序可以用ppt展示给学生看,学生是听懂了,看会了,可是到实际使用中还是不知道如何下手。数值分析是一门注重做的课程,再复杂的理论,都需要学生学会如何在现实工作中用出来。所以实验教学在数值分析整个教学过程中的地位是非常重要的,在实验中,学生通过软件编程实现已有算法,绘制图形图像的过程中可以加深对算法的理解,直观感受算法理论的精妙,提高学习兴趣。在运用自己的程序解决问题的过程中,能在不同的问题中掌握算法的使用注意事项,在实验中累积算法经验从而让学生可以在实际中能熟练应用课本上的理论。
二、函数插值实验教学设计
函数插值理论在数值分析中是非常重要的一个知识点,也是离散函数逼近的重要方法。其原理是利用插值法,可在离散数据的基础上得到一条连续函数通过全部已知数据点,进而可以估算出其他节点处的近似值。插值方法主要有拉格朗日插值、牛顿插值、分段线性插值、样条插值等,其理论烦琐,但是又非常重要,它是数值积分理论的重要理论基础。插值方法很多,如何在理论和实验教学中让学生掌握各个方法的原理,以及每个插值方法使用的注意事项,是摆在教师面前的难题。
课堂注重理论,实验注重做法,在实验教学中,笔者认为应该在加强课堂理论学习的基础上,实验要注重如何让学生巩固课堂学习的成果,把插值的原理和特点通过设计的算例让学生自己描绘出来。学生通过实验全面认识各个插值理论的优缺点,为以后数值积分的学习打下基础。为此,在插值实验这一节,我们为学生设计了一个比较实验,通过每一对有特点的算例的比较,让学生在比较中获得各个插值方法的使用注意事项和具体的操作方法,知道什么可以做什么不能做,并且获得对插值的全新认识。
实验的首要任务是编程,利用MATLAB数学软件结合课堂学到的理论公式编写拉格朗日插值和牛顿插值的程序。尽管MATLAB有内置的命令实现拉格朗日插值,但是学生无法通过内置命令掌握拉格朗日插值理论公式,并且由于通过MATLAB编程实现拉格朗日插值和牛顿插值比较容易,所以还是要求学生通过理论公式独立编程,以加深对理论公式的记忆和理解。在编程的基础上,要求学生利用编写的程序完成以下对比实验。
1.从函数y=sin(x),x∈(-2π,2π)中等距离取5个点,要求学生分别利用拉格朗日插值和牛顿插值进行求插值函数的操作,观察利用两个插值原理求出来的插值函数有何异同。
2.从多项式y=x4+x3+x2+x+1中等距离取5个点,要求学生利用拉格朗日插值方法进行插值操作,观察获得的插值函数和原函数有何异同。
3.提示学生对函数y=sin(x),x∈(-2π,2π)的5点拉格朗日插值效果不好,若要提高插值效果,将节点个数增加到11个,将插值效果进行比较。
4.在上例的基础上,让学生通过画图比较函数f(x)=■,x∈(-1,1)的5点拉格朗日插值和11点拉格朗日插值效果。提示学生可以进一步增加节点个数,观察得出的图形。
5.利用分段插值的方法,对函数f(x)=■,x∈(-1,1)进行11点插值,与11点拉格朗日插值的插值效果比较。
6.保留拉格朗日插值方法,取消等距节点,提示学生利用[-1,1]上的切比雪夫多项式的零点(切比雪夫点)xk=cos■,k=1,2,…,n+1对以上两个函数进行拉格朗日插值,与等距节点的插值效果进行比较。
我们希望学生做完以上案例后不但能顺利完成结果的获得,而且还能利用课堂学到的理论知识分析得到的结果,这些结果都是课堂上讲解的理论知识的数值例子,能做出来,会分析,这是对学生的锻炼,也能提高学生的动手能力和学习积极性。以下我们对以上案例进行分析。
1.通过案例1,学生得到结果后能了解到,在相同的节点条件下,利用拉格朗日插值和牛顿插值得到的插值多项式是一样的,这与课堂的理论分析完全一致。这个结果是学生自己完成实验后得到的,与课堂理论分析结合,学生更能理解两种插值的相同之处。而通过编写两个插值方法的MATLAB程序,学生既可以学习编程,还可以掌握两者达到同一目的的不同之处。
2.通过上例可得出拉格朗日插值和牛顿插值结果一样的结论,所以对四次多项式y=x4+x3+x2+x+1进行5点插值只需利用拉格朗日插值即可。学生可通过得到的结果和图形知道,其实得到的插值多项式就是原来的四次多项式本身,原函数和插值多项式两者的误差为零。这个结论可以提示学生通过拉格朗日插值理论的误差公式解释和分析,从而复习和掌握拉格朗日插值误差公式。
3.通过案例1得到的插值多项式的图形对比原函数图形可知,一般来说函数的5点插值的逼近效果还是不理想的,误差比较大。若要提高逼近效果,首先让学生通过实验观察提高节点个数对插值的逼近效果的影响。所以设计了一个对比实验让学生对两个函数进行高次插值。通过实验结果的观察可知,对于函数y=sin(x),x∈(-2π,2π),11点的插值逼近效果在整个区间上都比5点插值效果好,几乎和原函数重合了提高插值次数达到了良好的效果。而对于龙格函数f(x)=■,x∈(-1,1),高次插值出现了龙格现象,即区间中间部分逼近效果非常好,而区间两边出现非常大的震荡。通过这两个案例的比较分析,让学生自己总结出光靠增加节点个数提高插值的逼近效果不可行,需要另找办法。龙格现象是插值理论的重要知识点,在课堂教学中学生对该现象只停留在理论上,通过该实验案例的分析,学生在自己做出龙格现象图形的时候,能加深对龙格现象和拉格朗日插值的缺点的理解。而对于学生普遍会存在疑问,龙格现象只是龙格函数的特有现象吗?y=sin(x),x∈(-2π,2π)不会出现龙格现象吗?可提示学生继续对没有出现龙格现象的函数增加插值节点,观察龙格现象是否是所有函数的共有特点,并且这可以留作实验作业让学生课后自己完成。
4.此案例提供一个提高逼近效果的方法,就是分段插值,利用分段插值,可以在增加节点个数的情况下,保持插值次数不增加,从而保证的插值效果。学生通过此案例可以理解为什么介绍完整体插值后还需要讲解分段插值,老师在以后介绍数值积分中的复化积分公式的时候,进行比较讲解。
5.通过切比雪夫点的插值案例,提示学生分段插值不是提高逼近效果的唯一方法,通过改变节点的选取,把原来的等距节点变为区间上正交多项式的零点,可以在增加节点个数,让拉格朗日插值的逼近效果也相应提高而不会出现龙格现象。这个案例可以和以后数值积分中的高斯求积公式配合,让学生了解正交多项式的零点在函数逼近方面的重要应用。并且在介绍完[-1,1]上的切比雪夫点插值后,可以预留作业,让学生在其他区间上寻找正交多项式零点进行拉格朗日插值,让学生对正交多项式理论加深印象,为以后数值积分的高斯求积公式的介绍铺垫。
三、结束语
本文介绍了在数值分析实验教学中引入比较教学法,通过在函数插值实验中设计的几对比较案例,让学生在完成实验过程中经比较加深理解和掌握理论课上介绍的知识。课堂理论教学让学生听与看获得理论知识,实验教学强调学生做,让学生在做的过程中获得比在课堂听更多的知识和操作方法,也是把学到的知识用到实际中关键的一步。通过在学生中进行的教学试验,学生在一个综合设计性实验(4课时)中,在有MATLAB基础的前提下,完全能从编写程序,学会程序的操作开始,独立完成以上比较实验,并且能针对每个比较实验的案例,给出合理的理论分析,达到良好的教学效果。
参考文献:
[1]赵景军,吴勃英.关于数值分析教学的几点探讨[J].大学数学,2005,21(3):28-30.
[2]李庆杨,王能超,易大义.数值分析[M].武汉:华中科技大学出版社,2001.
[3][美]夏普若,唐玲艳,田尊华.工程与科学数值方法的MATLAB实现[M].北京:清华大学出版社,2009.endprint