数值计算中的误差优秀课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所谓数值计算方法,是指将所欲求解的数学
模型(数学问题)简化成一系列算术运算和逻辑 运算,以便在计算机上求出问题的数值解,并对 算法的收敛性和误差进行分析、计算。这里所说 的“算法”,不只是单纯得数学公式,而且是指 由基本的运算和运算顺序的规定所组成的整个解 题方案和步骤。一般可以通过框图(流程图)来 较直观地描述算法的全貌。
数值计算过程中会出现各种误差,它们可分 为两大类:一类是由于算题者在工作中的粗心大
意而产生的,例如笔误以及误用公式等,这类误 差称为“过失误差”或“疏忽误差”。它完全是 人为造成的,只要工作中仔细、谨慎,是完全可 以避免的;而另一类为“非过失误差”,在数值 计算中这往往是无法避免的,例如近似值带来的 误差,模型误差、观测误差、截断误差和舍入误 差等。对于“非过失误差” ,应该设法尽量降 低其数值,尤其要控制住经多次运算后误差的积 累,以确保计算结果的精度。
x 算 值,其结果如下表1-1所示。
由表1-1可见,按不同算式和近似值计算出 的结果各不相同,有的甚至出现了负值,这真是 差之毫厘,谬以千里。可见近似值和算法的选定 对计算结果的精确度影响很大。因此,在研究算 法的同时,还必须正确掌握误差的基本概念,误 差在近似值运算中的传播规律,误差分析、估计 的基本方法和算法的数值稳定性概念,否则,一 个合理的算法也可能会得出一个错误的结果。
问题急待解决。它们的复杂程度已达到非手工计 算所能解决的地步。数字式电子计算机的出现和 飞速发展大大推动了数值计算方法的进展,许多 复杂的数值计算问题现在都可以通过电子计算机 进行数值计算得到妥善解决。
用数值计算的方法来解决工程实际和科学技 术中的具体技术问题时,首先必须具体问题抽象 为数学问题,即建立起能描述并等价代替该实际 问题的数学模型,例如各种微分方程、积分方程 、代数方程……等等,然后选择合适的计算方法 ( 算法),编制出计算机程序,最后上机调试并 进行计算,以得到所欲求解的结果。
上界的。例如, l2l,l3,llogl等是好的算法;而指
数时间算法,即f(l)是关于l的指数式,或以一个指数
式为下界的,例如 3 l , l! 等 情况,则是坏的。这个
看法的依据是很明白的,因为当l增大时,指数函数
比多项式函数增长快。
注意: 在理论上证明是好的算法不一定在实际中 有效,在理论上证明不是多项式时间的算法也不一 定就在实际上中效果不好。如关于线性规划问题的 算法有如下的特殊性: 1)单纯形法是时间复杂性为指数阶的,但却是非
加法。若用著名秦九韶(我国宋朝数学家)算法
,将多项式P(x)改成
P(x) ((((an x an1)x an2)x a2)x a1)x a0
来计算时,只要做n次乘法和n次加法即可。 对于小型问题,计算的速度和占用计算机内
存的多寡似乎意义不大。但对于复杂的大型问题 而言,却是起着决定性作用。算法取得不恰当, 不仅影响到计算的速度和效率,还会由于计算机 计算的近似性和误差的传播、积累直接影响到计 算结果的精度甚至直接影响到计算的成败。不合 适的算法会导致计算误差达到不能容许的地步, 而使计算最终失败,这就是算法的数值稳定性问 题。
下面是一个简单的例算,可以看出近似值带 来的误差和算法的选择对计算结果的精度所产生 的巨大影响。例如,要计算
3
x 2211
可用四种算式算出:
x 2 1 6
x 99 70 2
x
1 6 2 1
x
1
99 70 2
如果分别用近似值 2 7 5 1.4 和 2 17 12 1.4166 按上列四种算法计
在电子计算机成为数值计算的主要工具的今 天,需要研究适合计算机使用的数值计算方法。 使用计算机解决科学计算问题时大致经历如下几 个过程:
实际问题
数学模型
数值计算方法
上机计算求出结果
程序设计
随着科学技术的突飞猛进,无论是工农业生 产还是国防尖端技术,例如机电产品的设计、建 筑工程项目的设计、气象预报和新型尖端武器的 研制、火箭的发射等,都有大量复杂的数值计算
12 2378
0.005046
衡量一个算法的好坏时,计算时间的多少是非常重 要的一个标志。由于实际的执行时间依赖于计算机 的性能,因此所谓算法所花时间是用它执行的所有 基本运算,如算术运算、比较运算等的总次数来衡 量的。这样时间与运算的次数直接联系起来了。当 然,即使用一个算法计算同一类型的问题时,由于 各问题的数据不同,计算快慢也会不同,一般是用 最坏情况下所花的时间来作讨论。设输入数据的规
数值计算中的误差
第一章 数值计算中的误差
§1 引 言 §2 误差的种类及其来源 §3 绝对误差和相对误差 §4 有效数字及其与误差的关系 §5 误差的传播与估计 §6 算法的数值稳定性
§1 引 言
计算方法也称数值分析。数值分析是研究各 种数学问题求解的计算方法,即数值计算。利用 计算尺、电子计算机等计算工具来求出数学问题 得到数值解的全过程,称为数值计算。
模(size)是l(在网络问题中,l一般与节点数及弧数 有关,而对一般极值问题,l往往与变量数及约束 数有关),设在最坏情况下运算次数是f(l),则f(l)
称为算法的计算复杂性。
具有什么样的计算复杂性的算法被认为是好的呢?目 前计算机科学中广为接受的观点是:多项式时间算法,
即f(l)是关于l的一个多项式,或者以一个多项式为
选定适合的算法是整个数值计算中非常重要 的一环。例如,当计算多项式
p(x) an xn an1 xn1 a1 a0
的值时,若直接计算ai xi (i 0,1,, n),再逐
项相加,共需做
1 2 (n 1) n n(n 1) 2
次乘法和n 次加法。n=10时需做55次乘法和10次
表1-1
12 3 4
序 算式
号
计 算结 果
2 7/5
2 17 /12
2 1 6
2 5
6
0.004096152
6
0.005233
99 wk.baidu.com70 2 1
1 0.166667 6
1 2 1
6
5 12
6
0.0052331229
6
0.005020
1 99 70
2
1 197
0.005076