1、科学计算引论课程教学大纲一、课程名称(中英文)中文名称:科学计算引论英文名称:IntroductiontoScientificComputation二、课程代码及性质课程代码:0706461课程性质:必修三、学时与学分总学时:56(理论学时:40学时;实践学时:16学时)学分:3.5四、先修课程先修课程:一元分析学、一元分析学、代数与几何、C+程序设计,算法语言五、授课对象本课程针对理工科本科学生相关专业学生开设,主要面向启明学院理工科本科学生。六、课程教学目的(对学生知识、能力、素质培养的贡献和作用)科学计算引论课程是一门理论与实践高度结合的学科,通过本课程的学习,使学生掌握常见数学模型中的
2、各种基础数值方法,了解常见数学计算软件中的计算方法,掌握其设计原理、特点和分析方法,能够针对实际问题的需求,选择或设计适当的数值算法,并能对计算结果进行严谨的分析和解读,使学生具备扎实的基础性科学计算方法的设计和使用能力。 七、教学重点与难点:课程重点:1了解科学计算方法的基础知识,包括算法设计的原则,误差来源及其控制,算法的稳定性,矩阵计算及相关理论知识。2掌握函数逼近的基本方法,包括插值和拟合的思想、构造方法、误差分析,理解Lagrange插值、Hermite插值、样条插值的区别与联系,掌握最小二乘法和正则化方法,能构造符合需求的简单近似函数,以解决实际的函数逼近问题。3. 了解数值微分的
3、基本构造方法,掌握常见的数值微分公式;理解插值型求积公式及代数精度的概念;掌握各类数值求积公式的构造方法、特点及提高求积公式精确度的方法。4掌握解线性方程组的几种基础性直接解法及其性质,经典迭代法的构造方式及其算法分析工具,特别是敛散性及敏度分析,了解各种算法的适用范围和收敛条件。5. 掌握用迭代法求方程近似根的基本思想,Picard迭代法的设计原理、收敛性及收敛速度的分析,包括方法的构造、全局、局部收敛性判据及收敛阶,了解Newton迭代公式的推导过程和收敛性质,以及Newton法的变型方法。6了解常微分方程初值问题数值解法的离散计算方式,能利用前几章的方法构造常微分方程的数值方法,掌握经典
4、数值方法的公式及其精度,特别是利用局部截断误差分析构造方法,掌握算法的收敛性、稳定性分析方法;掌握算法实现的基本技巧,包括利用迭代法或预估-校正方法实现隐式方法、算法的稳定性和步长选择。课程难点:理解不同数学问题的经典计算方法的构造思想;掌握算法分析的基本方法和相关结论,并能运用算法分析工具进行分析;灵活应用各种计算方法求解实际问题;以及如何高效地编程实现课程中介绍的各种算法。八、教学方法与手段:教学方法:课堂知识讲授,算法编程实践指导。教学手段:在课堂知识的讲授中,每一章节的教学内容传授均合理安排为如下三段式:一、“发现问题”,即从实际科学工程背景中启发学生发现本章节所要解决的教学问题及其意
5、义;二、“解决问题”,即启发学生在思考如何解决问题的过程中,自主学习求解该数学问题的各种经典科学计算方法,并对方法进行算法分析;三、“实践探索问题”:启发学生自主探索所学方法在实践领域的应用,激发学生发现新问题的科研探索欲,培养学生的创新研究能力。在上机实践指导中,给出课程所介绍的数值方法的Matlab程序,并选取合适例子指导学生如何编程解决实际数学问题。九、教学内容与学时安排(一)数值分析基础(教师课堂教学学时(5小时) + 学生课后学习学时(10小时)教学内容: (1) 矩阵理论;(2) 差分方程;(3) 计算精度;(4) 向量微积分。课后文献阅读:Matlab数值计算(2013修订版中译
6、本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第1章。课后作业和讨论:完成教材习题1,讨论习题如何用Matlab编程实现算例,讨论理论结果与先修课程的联系。(二)函数逼近(教师课堂教学学时(8小时) + 学生课后学习学时(16小时)教学内容:(1) Lagrange插值;(2) Newton插值公式;(3) Hermite插值公式;(4) 样条插值;(5) 曲线拟合方法。课后文献阅读:Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第3章。课后作业和讨论:完成教材习题2,讨论习题如何用Matlab
7、编程实现习题中的算例,比较不同函数逼近算法的优劣。(三)数值微积分(教师课堂教学学时(6小时) + 学生课后学习学时(12小时)教学内容:(1) 数值微分;(2) 机械求积公式;(3) Newton-Cotes公式及其复合求积法;(4) 变步长求积法;(5) Gauss求积公式。课后文献阅读:Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第6章。课后作业和讨论:完成教材习题3,讨论习题如何用Matlab编程实现算例,重点讨论方法构造的思想,方法的特点,以及Romberg算法的实现流程和意义。(四)线性方程组数值解法(教师课堂
8、教学学时(6小时) + 学生课后学习学时(12小时)教学内容:(1) Gauss消元法;(2) 特殊线性方程组的解法及敏度分析;(3) 经典迭代方法;(4) Krylov子空间方法。课后文献阅读:Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第2章。课后作业和讨论:完成教材习题4,讨论习题如何用Matlab编程实现,比较不同算法的优劣,讨论比较直接法和迭代法的设计思想和算法分析结论特点,以及误差(敏度)分析的意义和技巧。(五)非线性方程数值解法(教师课堂教学学时(5小时) + 学生课后学习学时(10小时)教学内容:(1) 几
9、何方法;(2) Picard迭代法;(3) Newton 迭代法。课后文献阅读:Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第4章.课后作业和讨论:完成教材习题5,讨论习题如何用Matlab编程实现,比较不同算法的优劣,讨论方法构造原则和敛散性分析。(六)常微分方程初值问题数值解法(教师课堂教学学时(8小时) + 学生课后学习学时(16小时)教学内容: (1) 基本离散方法;(2) Runge-Kutta方法;(3) 数值算法理论;(4) 数值方法的有效实现。课后文献阅读:Matlab数值计算(2013修订版中译本),北京
10、航空航天大学出版社,Cleve B. Moler著,张志涌等编译:第7章.课后作业和讨论:完成教材习题6,讨论习题如何用Matlab编程实现算例,特别是隐式方法的有效实现,讨论收敛性和稳定性分析的意义和技巧。 (七)复习和习题课(教师课堂教学学时(2小时) + 学生课后学习学时(16小时)教学内容: (1) 课后习题解题思路串讲;(2) 课程主要知识点回顾。课后文献阅读:数值分析(第5版)习题解答,清华大学出版社,张威等主编.课后作业和讨论:讨论本课程各章节重要知识点和联系,选取实际问题进行数值方法的应用和求解。 (八)实践学时(教师课堂教学学时(16小时) + 学生课后学习学时(16小时)教
11、学内容: (1)Matlab基础操作简介; (2) 教材中主要算法代码讲解; (3) Matlab中相应命令及其应用介绍;(4) 运用教材中涉及的算法代码求解实际数学问题的实践指导。课后文献阅读:Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译.课后作业和讨论:以小组为单位,选择一个现实生活或科学工程中提炼出的实际数学模型(可用本课程中算法解决的),利用本课程中介绍的相关算法,从实际问题出发,进行问题的分析、算法的设计、编程、实践求解、结果数据分析等,分析算法的特点和优劣、数据结果的实践意义。形成实践报告上交。 十、教学参考书及
12、文献教学参考书:1、科学计算引论,科学出版社,张诚坚等主编;2、计算方法(第二版),高等教育出版社出版,张诚坚等主编;3、数值分析(第5版),清华大学出版社,李庆扬等主编;4、数值分析(第5版)习题解答,清华大学出版社,张威等主编.课外文献阅读:1、Matlab数值计算(2013修订版中译本),北京航空航天大学出版社,Cleve B. Moler著,张志涌等编译;2、国外数学名著系列(影印版):数值数学,科学出版社,夸特罗尼等著.十一、课程成绩评定与记载课程成绩构成(建议增加形成性评价成绩所占比例):课程成绩=课堂讨论(5%)+课后作业(10%)+课后文献阅读(5%)+实验报告(20%)+终结性考试(60%)终结性考试形式:闭卷大纲制定:科学计算与计算方法课程组审 核:数学与统计学院教学指导委员会