杨扬 赵建强
摘 要:本文首先分析了信息与计算科学专业开设数学应用软件这门实验课的必要性。该课程作为“学数学”和“应数学”之间的一座桥梁,可以使学生们更好地理解学过的数学知识,方便有效地做好数学实验,提高他们解决实际问题的能力,增强他们的学习兴趣。其次本文从教学内容、教学目的、教学方法等方面说明如何进行该课程的教学改革。我们强调该课程的实用性,重视该课程实验教学改革的必要性。
关键词:数学应用软件;数学实验;实验教学;Mathematica;Matlab
引言:信息与计算科学(简称信计)专业是一种随着计算机发展而迅速崛起的数学类专业。我们希望信计专业培养的学生具有良好的数学基础,能熟练地使用计算机,初步具备在信息与计算科学领域的某个方向上从事科学研究,解决实际问题,设计开发有关软件的能力。该专业的学生在大学一二年级需要花费大量的精力学习数学类基础课程,旨在培养学生严密的逻辑推理能力及准确、快捷的计算能力。但是这些课程的教学内容侧重于定义的叙述、定理的证明、公式的推导等,其学习过程往往是枯燥的。这样一来,一些学生便会对该专业的实用性感到迷茫,同时会对以后一些数学类专业课的学习失去兴趣,甚至会出现厌烦情绪。而这个问题在我们这样的部分学生基础较差的本科院校可能会更加突出。
如何使学生们更好地理解学过的数学知识,提高他们解决实际问题的能力,增强他们的学习兴趣显得尤为重要。当然很多学者也对此作出了一定的研究。如唐晓静在“信息与计算科学专业应用型人才培养模式的研究” [1]一文中分析了信计专业教学的特点和存在的教与学的矛盾,并以《高等代数》为试点进行教学改革,积极探索教学与实际相结合与计算机信息有机结合的教学模式。朱健民等人在《大学数学实验课的实践与探索》[2]一文中介绍了在数学教学改革中开设数学实验课的一些体会和认识,强调了数学实验课的重要性。本文将在以上研究工作的基础上,结合我校的实际情况,说明开设数学应用软件这门实验课的必要性,并从教学内容、教学方法等方面来剖析我校是如何根据实际情况进行该课程的实验教学改革的。
一、为什么要开设数学应用软件这门课?
在解决一些复杂的实际问题时,首先需要建立该问题的数学模型,然后对该数学模型进行求解,最后对所得的结果进行分析、修正从而给出该实际问题的一个合理的解。当然,对数学模型进行求解,往往不是靠一支笔、一张纸就可以了的,其一般那要以数学理论知识作为基本原理,利用计算机(具有强大的存储能力及计算能力)作为工具来进行数学实验。该思想在信计专业所课设的《数学建模》、《运筹学》、《数值分析》等课程中都有所体现。这些课程中都有一定学时的实验课学时,需要学生利用计算机来完成相关的数学实验。
在进行数学实验时,我们通常需要按照以数学知识对问题分析所得的解题思路(算法)编写一些指令完成一些相关的运算,这些用高级语言如C语言是可以完成的,但是其矩阵计算程序繁琐、可读性较差,给阅读和设计程序带来不便,而且C语言比其他高级语言较难掌握。虽然,我校信计专业的学生在大一下学期开设了C语言这门课程,但很多学生很难通过这一个学期的学习对C语言有很好的掌握。想做好数学实验,但C语言又不熟练,在这样的情况下,我们会想到另外一个工具――数学应用软件,它是处理数学问题的应用软件,为计算机解决现代科学技术各领域中所提出的数学问题提供求解手段。常用的数学应用有Mathematica、Maple、Matlab等。
数学应用软件一般具有符号演算、数值计算及图形处理的功能,其高度的集成性和可读性使得原先复杂的数学问题的求解过程变得非常的简单,例如这样一个问题。
【问题1】求函数在区间[-10,10]中的最小值[3]。对于这样一个数学分析中典型的问题,利用基本的数学知识可以很容易确定该问题是否有解并给出其求解思路,但真正用笔去算又变得不可能了。如果大家掌握了数学应用软件,就可以很方便地解决这样一个问题。首先利用数学应用软件强大的绘图功能,画出该函数的图形,对图形有个大体地了解。然后再运用相关指令,如Matlab中的指令fminbnd(基于一定的算法编写)就能得到最小值一个很好的近似值。
显然,数学应用软件的使用可以使得抽象的数学在某种意义下看得见,让学生不再感到烦躁,而是觉得眼前一亮,自觉地产生这样一种想法:原来数学理论上的结果和实际所见的结果真的是吻合的。学生初步掌握了数学应用软件后,可以从简单重复的习题演算中解脱出来,将更多的精力投入到数学理论和数学思想的学习上,更好地利用实验方法来学习掌握数学知识,更加富有热情地应用数学解决一些实际问题。
由此可见,为了方便有效地做好数学实验,掌握一门数学应用软件是必不可少的。为了能够更好地理解所学的数学知识,同时也为以后所学的数学类专业课打下良好的实验基础,我们有必要开设数学应用软件这门实验课,让其成为“学数学”和“应数学”之间的一座桥梁。
二、怎样上好数学应用软件这门课?
我们已经阐述了对于信计专业开设数学应用软件这门课程的必要性。下面我们将从这门课程的教学内容、教学目的、教学方法等方面,并通过具体的例子来说明如何上好数学应用软件这门课程。同时来剖析我校是如何根据实际情况进行该课程的实验教学改革的。
将数学应用软件引入课堂教学,可以展示计算机解决问题的动态过程和手段,培养学生用计算机解决实际问题的能力,提高学生的学习兴趣,培养学生初步的科研能力。我校原先仅将Mathematica作为教学内容,但根据教学的实际需要,后又将
Matlab也纳入教学内容,这样可以更好提高我校信计专业的学生的数值计算能力,为以后《数值分析》、《微分方程数值解》、《最优化方法》等课程的学习打下更好的基础。
作为计算机软件系统,用户必须按照系统要求书写命令,系统才能正确地对其处理,得到所需的结果。因此我们的教学目的非常清楚,即通过具体问题的求解过程,使得学生能够熟练掌握这两种数学应用软件,学会用它们来进行一些数值计算和数据处理,进而解决一些具体的数学问题。
考虑到这门课程的实用性,我们认为将这门课程作为一门独立开设的实验课进行上课更为合理。当然它和传统意义上的物理、化学实验课有着着一定的区别,该课程中我们更加强调老师的讲授作用。老师的讲授可以帮助学生在较短的时间里熟悉数学应用软件的基本指令,在此基础上再通过一些具体的实验习题让学生自己动手编写指令更加熟悉它们的使用。我们将本课程安排在我院的机房上课,利用投影设备,学生可以很清楚地了解到老师是如何使用这两种软件的,这两种软件有哪些常用的命令,可以解决哪些问题学生们在看、听的同时,自己对着电脑,输入相关命令,运行命令,产生结果,和老师一样,他们也做到了。
在讲授这两种软件时应特别强调它们的help功能,学生通过学习了解到解决什么样的问题需要用什么样的指令,而具体每条指令的调用格式是怎样的,是无法完全记忆的,当然也没有记忆的必要。知道了指令的名称,在此基础上熟练使用help功能就能快速正确地写出每条指令的使用格式。这个过程熟练之后,我们就不会对这两种软件的使用感到困难,会对他们更有好感。事实上,这两软件的help功能都是非常强大的,存在大量的范例,学生在使用的同时,也是复习、自学的过程,意义重大。
作为一门实验课,我们将安排一定的基础实验,并在此基础上安排一定数量的综合实验。通过基础实验,我们将学会如何用Mathematica和Matlab来求解微积分基本运算、常微分方程初值问题、级数展开与函数逼近、方程与方程组的求解、线性代数基本运算、函数图形的绘制、程序设计等。以上内容中两种软件都会有所涉及,虽然两种软件都能进行符号演算、数值计算、图形绘制,但是两种软件的侧重点却有所不同。我们讲授
Mathematica时会侧重讲授其符号演算功能,特别强调表与表达式的构造,而讲授Matlab时我们会侧重讲授其数值计算功能,特别强调矩阵的构造与操作。我们还会讲授一些这两种软件的特别之处:如Mathematica的动画制作及Matlab的模拟仿真。通过这两种软件的对比学习,我们将很好地了解他们的共同之处及不同之处。
下面我们通过一个具体的问题来阐该课程安排综合实验的必要性。
【问题2】非线性方程的求根问题。方程的求解是我们经常遇到的一类数学问题,事实上绝大多数的非线性方程是无法精确求解的,只能近似求解,例如问题1中的驻点方程。Mathe
matica和Matlab这两种软件对方程的求解(精确解或数值解)都有详细的介绍。但无论是Mathematica 还是Matlab软件,它们求数值解的命令一般都是基于某种算法进行编写的。事实上,在信计专业的数值分析这门课程中,我们会详细地介绍求解非线性方程的一些算法,如二分法,牛顿法,割线法等。利用数学应用软件,我们仅仅通过调用一条指令也许就得到了满意的解,但是并不知道隐藏在这样一条指令后面的算法是什么、源代码是什么。如果掌握了解了其背后的算法,我们同样可以利用Mathematica或Matlab编写程序,写出属于我们自己的指令。而该过程正是信计专业的学生应特别重视的。我们不仅仅要知道求解这些常见的数学问题所需的数学指令,还要知道隐藏在它们背后的算法,因为只有掌握了这些算法及它们的优缺点,才有可能在此基础上对已有的算法进行改进,创造出其它更为有效的算法,编写出属于自己的指令,更好地解决所遇到的实际问题。这种容纳各种课程的知识点的综合实验可以更加有效地增强学生对已学知识的归纳总结。
三、总结
上好数学应用软件这门实验课,架好“学数学”和“应数学”之间的这样一座桥梁,我们就能更好地实现信息与计算科学专业的人才培养目标。
参考文献:
[1] 唐晓静.信息与计算科学专业应用型人才培养模式的研究[J]. 大学数学, 2007年01期, 9-12.
[2] 朱健民,李健平,谢端强. 大学数学实验课的实践与探索[J]. 数学理论与应用,2002, 22卷第4期, 41-44.