浅谈在线性代数教学中学生科学计算能力的培养
2011-10-20闫红梅陈仲堂
刘 丹,闫红梅,陈仲堂
(沈阳建筑大学 理学院数学系,辽宁 沈阳 110168)
浅谈在线性代数教学中学生科学计算能力的培养
刘 丹,闫红梅,陈仲堂
(沈阳建筑大学 理学院数学系,辽宁 沈阳 110168)
线性代数作为本科生的一门公共基础课,是很多工科后续课程的基础,但是传统教学侧重于理论知识的传授而弱化了该门课程的计算功能以及在后续课程中的作用.因此必须在线性代数的教学中加强学生科学计算能力的培养.如何在线性代数教学中培养学生的科学计算能力以及在实际操作中可能会遇到的问题正是本文着重要研究的内容.
线性代数;科学计算;Matlab;数学软件
1 线性代数教学的现状
随着现代科学技术的发展,尤其是计算机技术的日新月异和电脑的逐步普及,线性代数这门课程的重要性日益凸显,成为高等院校中各理工科、经济管理专业等的必修课,对学生后续课程的学习起到非常重要的作用.
然而,长期以来,我们的线性代数的教学还停留在老的模式下,并未因为计算机技术的进步而有太多的变化.线性代数的教学大纲,教材,培养目标,考试,都是围绕理论的讲授而编写的,讲授的内容多以笔算为主.用笔算解线性方程组的乘法次数是N3/3(N为阶数),所以解一个四阶方程组,要运算22次乘法;如果阶数更高,则计算量急剧增加,必须没有一次计算错误,才能得出准确的解,这显然是一项极其繁琐、枯燥、工作量大且耗时耗力的工作.用笔算最多只能解4元的实数线性方程组,矩阵和行列式也只涉及到4阶的,这根本不能满足工科后续课程的需求,按照所教的方法无法用来解高阶、复数的矩阵题目和高阶线性方程组,因此在后续课程中普遍不用线性代数解题.像这样能用而不用线性代数的课程有计算机图形学,信号与系统,数字信号处理,系统动力学,自动控制原理等十多门课程.要想解决这种现状,就必须将电子计算机和软件工具应用到线性代数教学中来,就必须要培养学生的科学计算能力.
2 提高学生的科学计算能力的意义
2.1 什么是科学计算能力
科学计算是指利用计算机再现、预测和发现客观世界运动规律和演化特征的全过程,包括建立物理模型,研究计算方法,设计并行算法,研制应用程序,开展模拟计算和分析计算等过程.与传统的理论研究和实验研究一起,科学计算已经成为推动科技创新的重要研究手段.
所谓科学计算能力是指利用现代计算工具(包括硬件和软件)解决教学和科研中计算问题的能力.它包括掌握最新的科学计算软件、建立适当的计算模型、采用正确的计算方法、实现高效的编程和运算、对计算结果作出正确的表述和图解等多方面的综合能力.我们的教学大纲中很少对培养学生的这一能力做出要求.
2.2 为什么要在线性代数教学中培养学生的科学计算能力
目前传统的线性代数教材仍然是以理论为主导,偏重理论体系的完整性,过多强调证明和推导,再加上该课程本身所固有的抽象性和逻辑性,人工计算的繁琐使得学生学起来有一定困难,学习兴趣不高,而且弱化了该门课程的计算功能以及在后续课程中的作用.
我们对课程的讲授还只是停留在讲解理论和原理,让学生掌握计算方法上.这些固然重要,但是,把大量时间都花在了简单的四则运算上面,就不值得了.就线性代数这门课而言,老师在讲授解题方法时很少教给学生用计算机解题的方法,因此,在后续课程中,我们的学生不用也不会用计算机进行科学计算.而这种能力无论是对于从事科学研究还是从事工业生产生活,都是很重要的.由此,培养学生的科学计算能是必要的并且必须的.
线性代数是高等院校理工类和经济管理等各本科专业学生的一门必修的主干基础理论课程.该课程的学习,一方面为学生学习有关专业课程提供必要的数学基础,另一方面在培养学生理性思维、应用能力、科学素质等方面有着极其重要的作用.线性代数这门课程的特点就是通篇都贯穿着矩阵的运算,而矩阵运算非常适合引入计算机编程,进行科学计算.因此选择在线性代数这门课的教学中培养学生的科学计算能力再合适不过了.
这样,一来解决了后续课程中的需求问题,对后续课程的教学是一个推动;二来,助于激发学生的学习兴趣,从而提高线性代数的教学质量和教学效果.
3 如何在线性代数教学中培养学生的科学计算能力
第一,要给学生建立科学计算的理念,使学生了解科学计算的意义,让学生知道线性代数的问题也可以通过计算机应用软件求解,让他们逐渐适应用计算机解题.
第二,要引入计算机,利用软件工具,在教学中加入数学实验和数学实践的内容.首先,软件的选择,可以给学生介绍MATLAB这一软件.MATLAB是目前在科技和工程界上流行和著名的四大数学软件(Maple、MATLAB、MathCAD和Mathematica)之一,是一种高级技术计算语言.它可用于数值计算、算法开发、数据可视化、数据分析等.在计算方面,MATLAB 语言支持向量和矩阵运算,这些运算是工程和科学问题的基础.因此在线性代数课程中给学生介绍这一软件是很合适的.
第三,教师科学计算能力的培养.要想培养好学生的科学计算能力,首先要把教师的科学计算能力提高上来.可以先给一部分线性代数授课教师进行相应的培训.
第四,在线性代数教学中可引入科学计算的内容.要选择适合用软件计算的内容,比如,矩阵的输入与特殊矩阵的生成;矩阵的运算,学习矩阵的加、减、求逆、矩阵的左乘和右乘以及矩阵的特征数如行列式、秩、迹等的简单计算;用克莱姆法则来求解线性方程组,用矩阵的运算来求解矩阵方程等.
4 用Matlab解决线性代数问题的举例
例 化学方程式的配平
尽量用有理数格式配平下列化学方程
解 构造方程
根据化学元素在化学反应后其数量相等,有Pb,N,Cr,Mn,O五种元素需要配平,构成了五个方程,而有6种物质,其数量分别用x1,x2,x3,x4,x5,x6来表示.将每种物质分子中的元素按照铅、氮、铬、锰、氧的次序排成列,可以写出:
PbN6:16000,CrMn2O8:00128,Pb3O4:30004,Cr2O3:00203,MnO2:00012,NO:01001,要使方程配平,x1,x2,x3,x4,x5,x6需满足
x1·16000+x2·00128=x3·30004+x4·00203+x5·00012+x6·01001,移到左端,并写成矩阵相乘的形式,可得:
在Matlab命令窗口输入以下程序
A=[10-3000;60000-1;010-200;200-10;08-4-3-2-1]
U0=rref(A)
运行结果为
所以取x6为自由未知量,取x6=10000,则其它系数为
x1=1667,x2=4889,x3=556,x4=2444,x5=9778,
因而配平后的化学方程为
1667PbN6+4889CrMn2O8→556Pb3O4+2444Cr2O3+9778MnO2+10000NO
5 亟待解决的问题
线性代数教学的改革不是单纯的教学方法方式上的改变,同时对我们的教学大纲,教学目标、授课教师等都提出了新的要求.
(1)现行大纲和教学目标需要修改,加入培养科学计算能力的要求.
(2)教材中应该多引入与后续课程相关的适合应用计算机解题的实例.既可以增加这门课的趣味性,又可以为将来学习后续课程奠定基础.
(3)同时对我们的线性代数老师也提出了要求,老师必须熟悉常用的计算机软件,也就是说,要想提高学生的科学计算能力,首先得提高老师自己的能力.
(4)在线性代数的为数不多的学时中挤出一点给上机,要协调好理论教学和上机实践之间的关系.
(5)注重学生科学计算能力的培养,也不能放松其它方面的能力的培养,比如理性思维能力等.
〔1〕陈怀琛.我国工科线性代数必须进行改革[J].中国电子教育,2005,(4).
〔2〕李绍刚.线性代数中Matlab实践教学的探索与实践[J].长春大学学报,2010,(6).
〔3〕高淑萍.线性代数课程MATLAB实验内容的教学与研究[J].中国电子教育,2007,(4).
O151
A
1673-260X(2011)12-0019-02