1、 & 参考教材 (Text Book) 计算方法 邓建中 刘之行 西安交通大学出版社 Numerical Analysis:Mathematics of Scientific Computing (Third Edition) 数值分析 (英文版 第3版 ) David Kincaid & Ward Cheney(机械工业出版社) Numerical Analysis (Seventh Edition) 数值分析 (第七版 影印版) Richard L. Burden & J. Douglas Faires (高等教育出版社) 数值分析 李庆扬等 清华大学出版社 数值分析 冯果忱等 高等教育出
2、版社 学习方法 1.注意掌握各种方法的基本原理 2.注意各种方法的构造手法 3.重视各种方法的误差分析 4.做一定量的习题 5.注意与实际问题相联系 3 误差 1 数值计算的研究对象与特点 2 数值问题与数值方法 第1章 计算方法的一般概念 本章要点:绝对误差(限)和相对误差(限) 有效数字位数及其与误差的关系 数值问题的性态与误差的关系 数值算法设计原则 以计算机为工具,求解各种数学模型,都要经历 三个过程: 总体设计模型的细化 详细设计主要为算法设计 程序设计 计算机数值方法研究的是将数学模型化为数 值问题,并研究求解数值问题的数值方法进 而设计数值算法 1 计算机数值方法的研究对象与特点
3、 数值问题: 输入数据与输出数据之间函数关 系的一个确定而无歧义的描述 即: 输入与输出的都是数值的数学问题 如求解线性方程组 求解二次方程 是数值问题 一、数值问题 2 数值问题与数值算法 求解微分方程 不是数值问题 将其变成数值问题,即将其“离散化” 二、数值方法 数值方法: 是指解数值问题的在计算机上 可执行的系列计算公式 在计算机上可执行的公式是指只含有加减乘除的公式 现在的计算机中几乎都含有关于开方的标准函数sqrt() 常见的在计算机上不能直接运行的计算有: 开方、极限、超越函数、微分、积分等等 要在计算机上实行上述运算需将其化为可执行的等价 或近似等价运算 应化为 如求根公式 应
4、化为公式 研究数值方法的主要任务: 1.将计算机上不能执行的运算化为在计算机上可 执行的运算 2.针对所求解的数值问题研究在计算机上可执行 的且有效的计算公式 3.因为可能采用了近似等价运算,故要进行误差 分析, 即数值问题的性态及数值方法的稳定性 本课程的重点就是对线性方程组、微积分、微分方程、 及插值、拟合等问题寻找行之有效的数值方法 三、数值算法 数值算法是指有步骤地完成解数值问题的过程. 数值算法有四个特点: 1.目的明确 算法必须有明确的目的,其条件 和结论均应有清楚的规定 2.定义精确 对算法的每一步都必须有精确的定义 3.可执行 算法中的每一步操作都是可执行的 4.步骤有限算法必
5、须在有限步内能够完成解 题过程 例1. 给出等差数列1,2,3,10000的求和算法 解:记数器置零 一、误差的种类及来源 模型误差 在建立数学模型过程中,要将复杂的现 象抽象归结为数学模型,往往要忽略一 些次要因素的影响,而对问题作一些简 化,因此和实际问题有一定的区别. 观测误差 在建模和具体运算过程中所用的数据往 往是通过观察和测量得到的,由于精度的 限制,这些数据一般是近似的,即有误差 截断误差由于计算机只能完成有限次算术运算和 逻辑运算,因此要将有些需用极限或无穷 3 误差 过程进行的运算有限化,对无穷过程进行 截断,这就带来误差. 如: 若将前若干项的部分和作为函数值的近似公式,
6、由于以后各项都舍弃了,自然产生了误差 Taylor展开 舍入误差 在数值计算过程中还会遇到无穷小数, 因计算机受到机器字长的限制,它所能 表示的数据只能有一定的有限位数,如 按四舍五入规则取有限位数,由此引起 的误差 数值计算中误差是难以避免的.数学模型一旦建立 ,进入具体计算时所考虑和分析的就是截断误差和 舍入误差 经过大量的运算之后,积累的总误差有时会大得 惊人,因此如何控制误差的传播也是数值方法的 研究对象. 二、误差和误差限 定义1. 绝对误差限或误差限, 定义2. relative error 绝对误差限 相对误差限 往往未知 代替相对误差 代替相对误差限 例1. 解: 例2. 解:
7、 可见,经四舍五入取近似值,其绝对误差限将 不超过其末位数字的半个单位 有4位有效数字有6位有效数字 三、有效数字 定义3. 有8位有效数字 只有4位有效数字 例3.求下列四舍五入近似值的有效数字个数. 3个 3个 4个 4个 3个 5个 例4. 实际上只1有个 例5. 从以上分析可见,四舍五入的近似值的数字都是有效数字 而不是四舍五入得到的近似值的数字不一定是有效数字 四、误差的传播与估计 即 绝对误差 增长因子 相对误差 增长因子 思考: 试分析四则运算、乘方和开方的误差传播规律 数据误差影响的估计 数据误差影响的估计 五、数值方法的稳定性与算法设计原则 例7.计算定积分 解: 误差放大
8、5千倍! 但如果利用递推公式 因此在计算公式选用及算法设计时,应注意以下原则 1. 四则运算中的稳定性问题 (1) 防止大数吃小数 这一类问题主要由计算机的位数引起 假如作一个有效数字为4位的连加运算 误差会放大 误差不会放大 而如果将小数放在前面计算 在作连加时,为防止大数吃小数,应从小到大进行相加, 如此,精度将得到适当改善.当然也可采取别的方法. (2) 作减法时应避免相近数相减 两个相近的数相减,会使有效数字的位数严重损失 由于 在算法设计中,若可能出现两个相近数相减,则改变 计算公式,如使用三角变换、有理化等等 (3) 避免小数作除数和大数作乘数 由误差传播的估计式 在算法设计时,要避免这类算法在计算公式中出现 2. 提高算法效率问题 (1) 尽量减少运算次数 8次乘法运算而不是255次 使用秦九韶算法 对多项式 可大大减少计算量 (2) 尽量使用耗时少的运算 (3) 充分利用存储空间