面向计算机专业的计算方法教学

时间:2024-03-24 点赞:51825 浏览:105679 作者原创标记本站原创

本文是一篇计算机论文范文,计算机方面有关函授毕业论文,关于面向计算机专业的计算方法教学相关毕业论文参考文献格式范文。适合计算机及实践教学及大学数学方面的的大学硕士和本科毕业论文以及计算机相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:分析大学工科计算方法课程教学中存在的常见问题,基于课程特点,从计算机科学与技术专业教学角度,研究计算方法课程的基本定位、教学内容与重点、教学方式与讲授顺序,探讨课程实践教学的内容与方式.

关 键 词:计算方法;教学;数值算法;实践

文章编号:1672-5913(2013)18-0069-04

中图分类号:G642

0引言

作为科学方法论的三大组成部分之一,科学计算在人类生活中正扮演着日益重要的角色,而选用计算方法作为整个科学计算全过程中的一个重要环节,是程序设计和对数值计算结果进行分析的依据和基础.计算方法课程作为工学本科专业,尤其是计算机专业的一门重要选修课程,讲授内容包括常用的数值计算方法及其相关理论.通过该课程的学习,为学生进一步学习和解决各类科学或工程实际问题,培养自身的学科基本能力与创新能力奠定良好的基础.

长期以来,计算方法课程教学存在着过分强调理论教学,轻视实践教学,重视课堂教育,轻视算法设计与实现综合训练,以及缺少与科学、工程实际相关的教学案例等倾向,教学效果不甚理想.因此,计算方法课程教学改革势在必行.近几年,笔者一直从事计算机专业本科生计算方法课程的教学,在教学过程中,从教学内容、教学方法及实践教学等方面进行改革与实践,并取得了较好的效果,对该课程的教学有了较为深刻的认识与体会.

1计算方法课程的定位、内容及教材选用

计算方法是从计算机的角度考察计算数学,形成“面向计算机”的数值算法设计学,它以数学问题为对象,研究各种数值算法及其相关理论.对于计算机专业的学生,学习计算方法的主要目的在于运用,即针对科学研究和工程设计中的实际问题,通过建立数学模型,运用理论设计相应的算法,编制相应的计算机程序,最终上机计算求出结果.因此,课程的主要任务是使学生掌握最常用、最基本的数值计算的基本概念、基本方法和基本理论.

计算方法课程包括插值方法、数值积分与数值微分、常微分方程的差分方法、非线性方程的求根、线性方程组的迭代法与直接法等内容.它们构成两大模块:①数值微积分模块,讨论将微积分方法化归为代数问题或解方程,包括插值方法、数值微积分和常微分方程的差分法;②方程(组)求解模块,致力于讨论方程(组)的解法,包括非线性方程求根、线性方程组的迭代法与直接法.课程具有以下特点:借助计算机提供切实可行的数学算法,所提出的算法必须具有可靠的理论分析、理想的精确度、收敛且稳定,误差可以分析或估计,计算复杂性好(该特点通过时间复杂性和空间复杂性两个指标衡量,即节省时间与空间存储量),并通过数值实验证明算法行之有效.

课程内容可安排在56课时内完成,其中课堂讲授40课时,上机实验16课时.教材选用由华中科技大学出版社、王能超教授编写的《计算方法》.该教材完全摒弃了依据微积分知识设计算法的传统做法,代之以几种富于概括性的设计思想和方法原则,概念清晰,结构编排由浅入深,分析问题具有很强的启发性.

2计算方法的教学重点、方式与顺序

2.1教学重点

学习计算方法课程,不必追求数学理论的完整性与严密性,重要的是进行算法的设计,它是科学计算成败的关键.合理地选择算法是建立在正确的算法分析基础之上,通过算法分析掌握算法的适用性、有效性、收敛性、可靠性和稳定性,但对计算机专业学生这部分内容可以不作为重点.课程讲授的重点应放在算法的设计与实现上,教会学生掌握各种算法的设计机理并灵活运用其进行算法的设计.

基于以上理念,在教学中我们合理设置了各部分内容的侧重点.

1)插值方法.

使学生明确插值过程实际是直接利用所给数据进行加权平均,基于代数精度的概念将插值公式的设计化归为确定平均化系数的代数问题.教学中应重点讲授多项式插值,包括Lagrange插值及Hermite插值,在此基础上使学生掌握通过线性插值的重复化得到高阶插值公式的Aitken逐步插值算法与Neville逐步插值算法,并重点介绍分段插值的基本思想与公式.至于样条插值,可不作考核要求.

2)数值积分与数值微分.

应强调数值积分的基本思想是通过若干个求积节点上的函数值的加权平均生成平均高度,数值微分则是将导数计算化归为若干个节点处函数值的加权平均.教师必须教会学生在尽可能高的代数精度目标下进行求积公式的设计,且设计求积公式时可利用对称性原理减少待定参数.具体内容以等距节点上的Newton-Cotes公式、非等距的Gauss公式为重点,明确Gauss公式的精度较高,但需同时处理求积系数和求积节点,并能利用对称性简化处理过程.对于固定步长、变步长的复化求积方法及Romgerg加速算法也应给予足够重视,而数值微分及其加速方法只简单介绍即可.

3)常微分方程的差分法.

重点介绍常用单步法的Euler方法和Runge-Kutta方法,线性多步法的Adams方法,它们又分为显示和隐式两种差分格式.具体实施中,使学生明确Euler方法的不同差分格式实际上是根据近似区间上导数方法的不同而得到,重点掌握显式方法与隐式方法、两步格式与梯形格式以及Euler预报校正系统.对于Runge-Kutta方法,关键在于寻求求解平均斜率的方法,重点掌握二阶及经典Runge-Kutta方法.为设计多步格式,需掌握如何将所给实际问题化归为数学问题,将数学问题化归为代数问题,并基于代数精度概念,具体地列出方程组.

4)非线性方程求根.

重点介绍根的存在性、根的范围和根的精确化,明确其基本思想是将隐式的非线性化模型逐步显式化、线性化.实际应用中,应通过运用基本的算法设计技术,舍弃高阶小量,将难以处理的非线性方程加工成容易求解的线性化的校正方程,逐步校正所获得的近似根,迭代误差逐步缩小,以保证迭代过程的收敛性,并对每一步迭代出的新值与老值进行加权平均(松弛),得出精度更好的改进值.要求学生熟练掌握Newton法及一系列改进的Newton方法.对于非线性方程组只需简单介绍Newton方法,但由于理论的复杂性,故不作考核要求.5)线性方程组的迭代法和直接法.

对于迭代法,教会学生将线性方程组的求解过程加工成对角方程组或三角方程组求解过程的重复.重点介绍Jacobi公式与Gauss-Seidel公式,在此基础上掌握超松弛迭代加速方法,以及通过矩阵分裂导出上述两者方法的迭代矩阵.对于直接法,使学生掌握方法的核心在于利用矩阵分解技术通过运算手续直接将所给线性方程组加工成某个三角方程组乃至对角方程组来求解,掌握利用求解过程的“追”手续与“赶”手续.重点讲解Gauss消元法、列主元与全主元Gauss消元法、LU的Doolittle与Crout分解方法,然后使学生掌握通过LU手续利用追赶法求解三对角方程组、利用Cholesky及其改进方法求解系数矩阵为对称正定阵的线性方程组.

2.2教学方式

课程教学中,我们牢牢把握了1条主线、2类基本方法和4种基本技术,对学生进行正确的引导,使学生能举一反三,快速掌握数值的校正量,要求校正方程具有逼近性和简易性;逐步求精是指继续迭代与否取决于改进值是否满足精度要求,若不满足,则用改进值作为新的猜测值重复上述步骤.

(3)松弛技术:松弛过程也是加速迭代的过程,即通过对两个与目标值精度相当的近似值的加权平均得到精度更高的改进值,其设计机理可表述为优劣互补、激浊扬清.运用松弛技术的关键是选取合适的松弛因子,当近似值有优劣之分时,松弛因子一正一负,松弛技术称为超松弛技术.

(4)二分技术:它是缩减技术的延伸,也是一种高效算法的设计技术,其设计机理变慢为快,即每一步使问题的规模减半,规模按等比级数(1/2)递减,直至规模变为1时终止计算.

2.3教学顺序

算法设计的基本方法与过程.

1条主线是复杂问题简单化,将复杂计算化归为一系列简单计算的重复.

2类基本方法包括直接法与迭代法.它们均按照规模缩减的原则进行演化,主要区别在于直接法是正整数规模的有限缩减过程,而迭代法是实数规模的无穷缩减过程.

数值算法设计的基本与一般性技术(包括缩减技术、校正技术、超松弛技术和二分技术)是直接法与迭代法的设计基础.其中,二分技术是缩减技术的加速,超松弛技术是校正技术的优化.

(1)缩减技术:适用于通过有限步计算可直接得到问题解的直接法,其设计机理为大事化小,小事化了.大事化小即通过设计结构递归,将所考察的问题加工成规模压缩了的同类问题,使每一步加工后的问题规模相比之前小1,最终达到规模递减之目的;而小事化了则意味着问题的规模变得足够小,可直接计算或能方便地得出问题的解.


(2)校正技术:是指对于无法大事化小的问题只能通过无限的逼近过程——迭代近似求解,其设计机理可概况为以简驭繁与逐步求精.以简驭繁是指通过构造某个简化方程(校正方程)近似替代原先比较复杂的方程,以确定所给预报值

课程的讲授顺序应科学安排,循序渐进.

1)数值微积分模块.

该模块的3部分内容都是从简单出发、基于平均化原则,都归结为某些离散函数值的加权平均,最终归结为确定权系数,将含有多个权系数的代数模型加工为每步确定一个松弛因子的递推过程.

其中,插值方法讲授函数的近似表示,由其构造出的插值函数可充当某种简单的近似函数.插值逼近是数值微积分方法的理论基础,如果用插值函数近似替代被积函数,可导出数值求积公式.而数值微积分讲授积分与微分的近似计算,基于数值求积公式可以导出差分格式,常微分方程的差分方法讲授常微分方程的近似求解,形式上可表示为积分形式.作为承上启下重要环节的常微分方程的差分方法是数值计算的核心内容,其定解问题包括初值问题与边值问题,其中,初值问题的隐式格式需要求解函数方程,边值问题的差分方法化归为大型线性方程组.

2)方程(组)求解模块.

该模块的3部分内容形成了一个有机的整体,进行方程(组)求解所用的迭代方法是本模块的基础,即都是将函数方程或线性方程组划归为一系列递推算式.迭代方法不仅可用于非线性方程的求根(逐步线性化),而且还可进行线性(非线性)方程组的求解.而线性方程组的迭代法与直接法互为反方法,它们分别对矩阵施行矩阵分裂(矩阵相加)与矩阵分解(矩阵相乘)手续,基本的处理策略都是将所给的线性方程组化归为三角方程组逐步逼近所求的解.

对于上述两大模块,数值微

本文是一篇计算机论文范文,计算机方面有关函授毕业论文,关于面向计算机专业的计算方法教学相关毕业论文参考文献格式范文。适合计算机及实践教学及大学数学方面的的大学硕士和本科毕业论文以及计算机相关开题报告范文和职称论文写作参考文献资料下载。

积分模块讨论将微积分方法化归为代数问题乃至于解方程,而方程(组)求解模块致力于讨论方程的解法.因此,课程的教学顺序应为:插值方法、数值积分与数值微分、常微分方程的差分方法、非线性方程的求根、线性方程组的迭代法与直接法.

3计算方法课程实验环节的设计

实践教学是计算方法课程教学内容的重要组成部分.在教学中我们采取了以下措施:

1)精选实验内容,注重提高解决实际问题能力的培养.

实验的目的在于使学生熟悉数值算法的运算过程,加深对基本理论的理解,并最终能用于解决科学、工程实际问题.因此,在进行实验内容设计时,我们将计算方法课程与其他学科相结合,精选一些贴近工程或科学实际的问题,启发引导学生积极思维,让学生自己动手,查阅文献,分析研究,建立模型,设计算法,编写程序并上机调试,以及分析运行结果.这样既加深了学生对算法的理解,同时培育了学生解决实际问题的能力.

2)基于Matlab计算平台,深入引导学生理解算法内涵.

为提高学习本课程的兴趣,可借助一些数学软件使问题简单化,将学生的注意力从编程转移到实际问题的解决上来.实践中,选用了Matlab作为实验平台,利用Maflab软件平台强大的计算功能与图形处理功能,将复杂抽象的定义、理论与算法简单化、具体化,既能进行数值计算,又能实现计算结果的可视化,取得较好的实验效果.

4结语

计算机计算能力的提高需要借助于好的计算方法,计算方法课程致力于探索适合在计算机上使用的理论可靠、实现可行、计算复杂性好的数值算法之设计方法.针对计算机专业本科学生学习计算方法课程中存在的问题,我们对课程进行改革,以培养学生基本的数值算法设计与实现能力为核心目标,总结并提出了课程的教学重点、教学顺序、教学方式方法,以及实践教学环节应达到的目标.实践表明,这种教学模式对于提高学生的学习主动性和创新意识,培养学生的程序设计能力和综合应用能力具有较好的作用.

相关论文

计算机专业离散数学课程教学方法的

本文是一篇计算机科学论文范文,计算机科学方面有关专科毕业论文开题报告,关于计算机专业离散数学课程教学方法的相关研究生毕业论文开题报告。

高职院校计算机专业英语课程的教学

本文是一篇计算机论文范文,计算机方面有关毕业论文开题报告,关于高职院校计算机专业英语课程的教学相关毕业论文提纲范文。适合计算机及英语。

中职计算机专业数据库技术课程教学

此文是一篇数据库技术论文范文,数据库技术类论文范本,与中职计算机专业数据库技术课程教学相关自考毕业论文开题报告。适合不知如何写数据库。

计算机专业课程差异化教学

本文是一篇计算机论文范文,计算机方面专科毕业论文开题报告,关于计算机专业课程差异化教学相关毕业论文的格式范文。适合计算机及学生及教学。