“数值数学”是利用现代先进计算机技术和先进算法对大量的数学问题进行计算求解的一门数学与计算机科学的交叉学科,它专门研究求解数学模型的先进算法、可靠计算问题,在最近蓬勃兴起的信息处理技术研究、开发和利用中,更是一种必不可少的基础计算.无论是应用数学,还是信息处理技术,或者其他工程(比如航空、航天等)设计技术都涉及大规模计算问题,因此相应专业的学生熟练掌握先进计算技术,是培养创新型人才的关键.为适应培养新型创新人才的要求,许多高校都建立了校级、省部级“科学计算中心”,都配备了大量先进的计算机设备,包括 PC 机、服务器、超级计算机等计算平台.我校也建立了“数学实验实践中心”,该中心同时支持 200 多名学生进行数值计算实习.目前国内外也出版了一些有关“数值数学”方面的教材,但都是侧重于算法基本原理的讨论和分析,缺少精心设计的实验习题或素材;对学生编程要求不高,重理论、轻编程、轻实践;常常局限于某个数学软件的某一条命令的介绍,总想用一条现成的命令解决问题;实验实践环节学时少,仅仅为了配合主课程进行少量的数值实验;对算法的描述常常停留在原理的介绍上,缺少细致、完整的流程;学生对算法理解不精细,编程困难.实际上,如果学生能够根据算法写出完整并且运行流畅、安全可靠的程序,那么他对算法原理的理解和掌握一定是非常熟练的,通过数值算法作为程序设计素材,将会大大提高学生的信息处理能力和进行先进算法研究设计能力.
根据理工科相关专业的教学质量标准要求,结合作者多年来的教学经验和积累,编写了这本数值实验教材,基本特点是:第一,准确描述算法设计思想、基本原理、编程技巧;第二,突出算法的程序设计要求,重点算法都给出了结构化程序设计,以方便自学编程技术;第三,精心设计了大量实验习题,更注重实验实践环节,试图通过该环节对算法进行分析、对比,掌握算法的性态和使用场合;第四,基于循序渐进由浅入深的原则,列举大量的计算例子与图表,简明易懂;第五,利用流行的数学处理软件 MATLAB 编写相关算法的程序,让同学们能够学习到结构化程序设计技术,熟练掌握数学应用软件 MATLAB 的使用技巧;第六,内容方面主要包括方程求根、线性代数、微积分、函数逼近与拟合、微分方程、最优化等数学计算问题的数值计算与求解算法.只要具有高等数学与线性代数的基本知识就可以学习本书,不需要详细的理论分析.完成本教材的教学大约需要 32 学时,其中讲课 16 学时,上机实验 16 学时.
本教材在编写过程中参考了许多国内外相关数值计算方面的教材,在此对参考文献的作者表示衷心感谢.本书由陈兴同主编,王海军、凌思涛老师也参与了部分编写和审核工作,中国矿业大学教务部对本书的出版给予了大力支持,对此编者表示衷心感谢.由于作者水平有限,取材、叙述、编程难免有不妥之处,欢迎读者和专家们批评指正.