数值分析第一章1.1误差

合集下载

李庆扬数值分析第五版习题答案清华大学出版社

李庆扬数值分析第五版习题答案清华大学出版社

李庆扬数值分析第五版习题答案清华大学出版社数值分析是一门研究数值计算方法的学科,它应用于各个领域,解决了许多实际问题。

《李庆扬数值分析第五版习题答案》是一本为读者提供数值分析习题解答的参考书,由清华大学出版社出版。

第一章误差1.1 绝对误差与相对误差在数值计算过程中,由于测量、取近似值和舍入误差等原因,我们常常会得到与真实值有一定偏差的结果。

绝对误差和相对误差是描述数值计算结果与真实值之间误差大小的衡量标准。

绝对误差表示实际值和计算值之间的差别,相对误差则是绝对误差与实际值之比。

1.2 舍入误差与有效数字在数值计算中,由于计算机底层的二进制表示以及计算机在表示无穷和无法精确表示的数字时需要进行近似,会导致舍入误差。

有效数字是用来表示浮点运算结果的一种方式,能够控制舍入误差的影响。

第二章插值与多项式逼近2.1 插值问题的提出插值问题是在有限数据点的基础上,构造一个与这些数据点足够接近的函数。

插值的目的是通过已知数据点之间构造一个函数,使得通过这个函数计算的结果近似于真实的未知数据点的值。

2.2 拉格朗日插值法拉格朗日插值法是通过构造一个基于已知数据点的多项式函数,来实现对未知数据点的预测。

它通过对每个数据点进行加权,以使得插值多项式通过这些数据点。

2.3 牛顿插值法牛顿插值法是通过使用差商的概念,构造一个多项式函数来进行插值。

差商是指由数据点的函数值所决定的差分系数。

第三章数值积分与数值微分3.1 数值积分的基本思想数值积分是通过将区间进行离散化,将连续变量转化为离散变量的和,从而实现对曲线下面积的近似计算。

3.2 复合求积公式复合求积公式将整个区间分割为若干子区间,对每个子区间进行积分,并将结果相加得到最终的数值积分结果。

通过增加子区间的数量,可以提高数值积分的精确度。

3.3 数值微分的基本思想数值微分是通过利用离散数据点之间的差值,来近似计算函数在某个点处的导数。

第四章线性方程组的数值解法4.1 线性方程组的求解线性方程组的求解是数值分析中的一个重要问题。

数值分析1-误差及有效数字

数值分析1-误差及有效数字

(避免绝对值很大的数为乘数)
x1 1 x1 e e x ex 2 (避免 x2 为很小的数为除数) 1 2 x x x2 2 2
er x1 x2 x1 x2 er x1 er x 2 x1 x2 x1 x2
er x1 x2
这里,主要介绍计算机中浮点数的表示形式及 表示范围(4个参数):
x s p
其中, s =±0.a1a2a3………at 称为尾数∈[-1,1],
s 中的正负号用一位数字区分;
β为基数,如取2、10、8、16; p为阶数,有上限U和下限L, 由计算机存储字节长度决定。
1.4 误差危害的防止 (1)使用数值稳定的计算公式
数值稳定是指计算过程中舍入误差对计算影响不大的算法, 若第n+1步的误差en+1 与第n步的误差en满足
en 1 1 en
,则称该计算公式是绝对稳定的
例:建立积分In=

1
0
xn dx x5
(n=0,1.........,20)
递推关系式,并分析误差传播影响。
解: I +5I
n
n-1=
x 5x 0 x 5 dx
1 n n -1

1
0
x n-1dx
x n
n
1

0
1 n
I 0=
1 0 x 5dx
1
ln x 5
1 0
=ln6-ln5
1 In -5In -1 n ∴递推式: I 0 ln6 - ln5
2
x1 x 2
2
e x1 e x 2

数值分析误差

数值分析误差

I k −1
11 ( k = n, n − 1,…,2,1) = − Ik 5k
(1 − 3)
依式( 依式(1-3)计算
* 0
的近似值。 I n −1 , I n − 2 ,…, I 1 , I o 的近似值。
* 14
1 1 1 分别取 I = 0.18232155, I = + ≈ 0.01222222 2 6 × 15 5 × 15 按算法1、算法 2的计算结果见下屏表 1 − 1:
逆向递推公式在数学上完全等价,却导致两种完全不同的 逆向递推公式在数学上完全等价, 算法。对于实数序列的递推由于初始误差的存在,可以一 算法。对于实数序列的递推由于初始误差的存在,
种方向的递推会使误差扩大, 种方向的递推会使误差扩大,而另一方向的递推会使得误 差逐步减小。在设计(选用) 差逐步减小。在设计(选用)算法时要用使初始误差不增 长的算法。 长的算法。
1 3 1 5 作近似计算, 取 S = x − x + x ,作近似计算,则 3! 5! 为其截断误差。 为其截断误差。
R = sin x − S
条 件 问 题
计算方法中有一类问题称为条件问题, 公式) 条件问题是一个算法 (公式)由于初始 数据或者中间某些数据微小摄动对计算结 果产生影响的敏感性的问题。舍入误差、 果产生影响的敏感性的问题。舍入误差、 观测误差都属初始数据的摄动。研究坏条 观测误差都属初始数据的摄动。 件问题的计算方法是十分重要的课题, 件问题的计算方法是十分重要的课题,有 的时候,一些问题的条件并不坏, 的时候,一些问题的条件并不坏,但由于 算法不恰当, 算法不恰当,初始数据的微小摄动或舍入 误差在计算过程中不断被放大,而可能导 误差在计算过程中不断被放大, 致计算结果的精度大大降低, 致计算结果的精度大大降低,甚至使计算 失去意义。

数值分析课件 第一章 绪论

数值分析课件 第一章 绪论

1 e 0 1 x n e 0 d I n x 1 e 0 1 x n e 1 d x e 1 1 ( ) I n n n 1 1
公式一:I n 1 e [ x n e x 1 0 n 0 1 x n 1 e x d x ] 1 n I n 1
I01 e 01exdx11 e0.63212 记为0I5 0* 6 此公式精确成
初始的小扰动 |E 0|0.51 0 8迅速积累,误差呈递增趋势。 造成这种情况的是不稳定的算法 /* unstable algorithm */ 我们有责任改变。
公式二: I n 1 n I n 1 I n 1 n 1 ( 1 I n )
方法:先估计一个IN ,再反推要求的In ( n << N )。 注 意在e此理(N 公论1 式上1)与等公价IN 式。一N 1 1
)
0 .0 6 6 8 7 0 2 2 0
I
12
1 (1 13
I
13
)
0 .0 7 1 7 7 9 2 1 4
I
11
1 (1 12
I
12
)
0 .0 7 7 3 5 1 7 3 2
I
10
1 11
(1
I
11
)
0 .0 8 3 8 7 7 1 1 5
I
1
1 2
(1
I
2
)
0 .3 6 7 8 7 9 4 4
0
2! 3! 4!
11/1e111 e1 x 2d1x11 1 3 2! 50 3! 7 4! 9
取 01ex2dxS4 ,
S4
R4 /* Remainder */
则 R 44 1 !1 9 由 留5 1 !下1 部1 分1 称为截断误差 /* Truncation Error */

第一章有效数字和误差分析

第一章有效数字和误差分析

f f
(x ) ( x )
(
x
)
多元函数的情况
当f为多元函数时计算 A f x1, x,2如,果, xn
的近似值为x1*, x2*,,则 xn* 的近A似为
A* f x1*, x2*,, xn*
于是函数值 A的* 误差 e A由* Taylor展开,
得:
x1, x2,, xn
e A* A* A f x1*, x2*,xn* f x1, x2,xn
借助计算机提供切实可行的数学算法. 所提出的算法必须具有:可靠的理论分析;理 想的精确度;收敛且稳定;误差可以分析或估计.
时间复杂性好__指节省时间; 计算复杂性好
空间复杂性好__指节省存储量。
通过数值实验证明算法行之有效.
构造数值算法主要手段
采用“近似替代”方法→逼近 采用“构造性”方法 采用“离散化”方法
f (x) f (x ) f (x )(x x ) f ( ) (x x )2 2!
舍去右边第二项得到 f (x) f (x ) f (x )(x x )
即 f (x ) 的绝对误差 e( f (x )) f (x )e(x )
可以得到 f (x ) 的相对误差
er ( f (x ))
例6 已知近似数x*的相对误差限为0.3%,问x*
有几位有效数字?
解:由
得 er *
1
10 (n1)
2(x1 1)
3 1 10 (n1) 1000 2(x1 1)
ⅰ当x1=1时,310-3=1/410-(n-1)1210-3=10-(n-1) 上式两边取以10为底的对数得
lg22+lg3+(-3)=-n+1 ∵lg2=0.3010 lg3=0.4771

数值计算方法第一章 误差

数值计算方法第一章 误差

1 10n1 2a1
所以 1 10n1 是 x* 的相对误差限。
2a1

r
1
2a1
1
10n1,
由式(1-4)
21
绝对误差、相对误差和有效数字
e x* x*er x* 0.a1a2 L an L 10mr
a1
1
10m1
2
1 a1
1
10n1
1 10mn 2
由式(1-6),x* 至少有n位有效数字。
1.3.1 基本运算中的误差估计
本节中所讨论的基本运算是指四则运算与 一些常用函数的计算。
由微分学,当自变量改变量(误差)很小时, 函数的微分作为函数改变量的主要线性部分可以 近似函数的改变量, 故利用微分运算公式可导出 误差运算公式。
24
数值计算中误差的传播
设数值计算中求得的解与参量(原始数据)
由以上各式还可得出
ex1 x2 ex1 ex2 ex1 ex2 (1-14)
er x1x2 er x1 er x2 er x1 er x2 (1-15)
er
x1 x2
er x1 er x2
er x1
er x2
(1-16)
29
数值计算中误差的传播
因此,和、差的误差限不超过各数的误差限之 和,积、商的相对误差限不超过各数的相对误 差限之和。
定义: 若x的某一近似值 x* 的绝对误差限是某一位 的半个单位, 则称其“准确”到这一位,且从该位直到
x* 的第一位非零数字共有q位,则称近似值 x* 有q
位有效数字。
16
绝对误差、相对误差和有效数字
例如, 2 的近似值1.414准确到小数点后第3位, 它具有4位有效数字。

数值分析(全书)

数值分析(全书)


1
0
xn dx, n = 0,1, x+5
,100 。
1 1 ,∴ yn + 5 yn −1 = 。 n n
⎧ y0 = ln 6 − ln 5 ≈ 0.1823 ⎪ 算法一: ⎨ ; 1 yn = − 5 yn −1 ⎪ n ⎩
⎧ 1⎛ 1 1 ⎞ y100 ≈ ⎜ + ⎟ ≈ 0.001815 ⎪ ⎪ 2 ⎝ 606 505 ⎠ 算法一: ⎨ , 1 1 ⎪ yn −1 = − yn ⎪ 5n 5 ⎩
x

x ,若满足:
1.1.
i =1, , n
∀x = ( x1 , x2 ,
, xn ) ∈ R n , 记
T
x 1 = ∑ i =1 xi , x 2 =
n

n 2 i =1 i
x

= max { xi } ,则 x p , p = 1, 2, ∞ 皆 R n 中的范数。
TH 1.2. 设 x p , p = 1, 2, ∞ 为 R n 中范数,则有: ⅰ. x − y
n + an x0
,n
⎧Tn = an , Tk = x0Tk +1 + ak , k = n − 1, n − 2, 算法二: ⎨ P = T0 ⎩
空间复杂性:算法所占计算机内存多少刻画。 2、选择数值稳定性较好的算法。 例 2:计算 I n = ∫ 解:∵ ∫ x n −1dx =
0 1
, 2,1, 0
[ a, b] 为方程 f ( x ) = 0 的一个隔根区间。
§4.1 二分法 若 f ( x ) = 0 在区间 [ a, b] 中有唯一解 x∗ ,对于给定的绝对误差限 ε > 0 ,记

数值分析原理课件第一章

数值分析原理课件第一章

第一章 绪 论本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题.§1.1 引 言计算方法以科学与工程等领域所建立的数学模型为求解对象,目的是在有限的时间段内利用有限的计算工具计算出模型的有效解答。

由于科学与工程问题的多样性和复杂性,所建立的数学模型也是各种各样的、复杂的. 复杂性表现在如下几个方面:求解系统的规模很大,多种因素之间的非线性耦合,海量的数据处理等等,这样就使得在其它课程中学到的分析求解方法因计算量庞大而不能得到计算结果,且更多的复杂数学模型没有分析求解方法. 这门课程则是针对从各种各样的数学模型中抽象出或转化出的典型问题,介绍有效的串行求解算法,它们包括(1)非线性方程的近似求解方法;(2)线性代数方程组的求解方法;(3)函数的插值近似和数据的拟合近似;(4)积分和微分的近似计算方法;(5)常微分方程初值问题的数值解法;(6)优化问题的近似解法;等等从如上内容可以看出,计算方法的显著特点之一是“近似”. 之所以要进行近似计算,这与我们使用的工具、追求的目标、以及参与计算的数据来源等因素有关.计算机只能处理有限数据,只能区分、存储有限信息,而实数包含有无穷多个数据,这样,当把原始数据、中间数据、以及最终计算结果用机器数表示时就不可避免的引入了误差,称之为舍入误差.我们需要在有限的时间段内得到运算结果,就需要将无穷的计算过程截断,从而产生截断误差. 如的计算是无穷过程,当用作为的 +++=!21!111e !1!21!111n e n ++++= e 近似时,则需要进行有限过程的计算,但产生了截断误差.e e n - 当用计算机计算时,因为舍入误差的存在,我们也只能得到的近似值,也就是n e n e *e 说最终用近似,该近似值既包含有舍入误差,也包含有截断误差.*e e 当参与计算的原始数据是从仪器中观测得来时,也不可避免得有观测误差.由于这些误差的大量存在,我们得到的只能是近似结果,进而对这些结果的“可靠性”进行分析就是必须的,它成为计算方法的第二个显著特点. 可靠性分析包括原问题的适定性和算法的收敛性、稳定性.所谓适定性问题是指解存在、惟一,且解对原始数据具有连续依赖性的问题. 对于非适定问题的求解,通常需要作特殊的预处理,然后才能做数值计算. 在这里,如无特殊说明,都是对适定的问题进行求解.对于给定的算法,若有限步内得不到精确解,则需研究其收敛性. 收敛性是研究当允许计算时间越来越长时,是否能够得到越来越可靠的结果,也就是研究截断误差是否能够趋于零.对于给定的算法,稳定性分析是指随着计算过程的逐步向前推进,研究观测误差、舍入对于同一类模型问题的求解算法可能不止一种,常希望从中选出高效可靠的求解算法. 如我国南宋时期著名的数学家秦九韶就提出求n 次多项式值0111a x a x a x a n n nn ++++-- 的如下快速算法;n a s =; k n a t -=t sx s +=),,2,1(n k =它通过n 次乘法和n 次加法就计算出了任意n 次多项式的值. 再如幂函数可以通过如下64x 快速算法计算出其值;x s =;循环6次s s s ⋅=如上算法仅用了6次乘法运算,就得到运算结果.算法最终需要在计算机上运行相应程序,才能得到结果,这样就要关注算法的时间复杂度(计算机运行程序所需时间的度量)、空间复杂度(程序、数据对存储空间需求的度量)和逻辑复杂度(关联程序的开发周期、可维护性以及可扩展性). 事实上,每一种算法都有自己的局限性和优点,仅仅理论分析是很不够的,大量的实际计算也非常重要,结合理论分析以及相当的数值算例结果才有可能选择出适合自己关心问题的有效求解算法. 也正因如此,只有理论分析结合实际计算才能真正把握准算法.§1.2 误差的度量与传播一、误差的度量误差的度量方式有绝对误差、相对误差和有效数字.定义1.1 用作为量的近似,则称为近似值的绝对误差.*x x )(:**x e x x =-*x 由于量x 的真值通常未知,所以绝对误差不能依据定义求得,但根据测量工具或计算情况,可以估计出绝对误差绝对值的一个较小上界,即有ε (1.1)ε≤-=x x x e **)(称正数为近似值的绝对误差限,简称误差. 这样得到不等式ε*x εε+≤≤-**x x x 工程中常用ε±=*x x 表示近似值的精度或真值x 所在的范围.*x 误差是有量纲的,所以仅误差数值的大小不足以刻划近似的准确程度. 如量 (1.2)m m cm s μ50001230000005.023.15.0123±=±=±=为此,我们需要引入相对误差定义1.2 用作为量的近似,称为近似值的相对误差. 当0*≠x x )(:**x e xxx r =-*x 是x 的较好近似时,也可以用如下公式计算相对误差*x (1.3)***)(xx x x e r -= 显然,相对误差是一个无量纲量,它不随使用单位变化. 如式(1.2)中的量s 的近似,无论使用何种单位,它的相对误差都是同一个值.同样地,因为量x 的真值未知,我们需要引入近似值的相对误差限,它是相*x )(*x r ε对误差绝对值的较小上界. 结合式(1.1)和(1.3),相对误差限可通过绝对误差限除以近似*x 值的绝对值得到,即(1.4)***)()(xx x r εε=为给出近似数的一种表示法,使之既能表示其大小,又能体现其精确程度,需引入有效数字以及有效数的概念.定义1.3 设量的近似值有如下标准形式x *x p n ma a a a x 21*.010⨯±= (1.5)()pm p n m n m m a a a a ----⨯++⨯++⨯+⨯±101010102211 =其中且,m 为近似值的量级. 如果使不等式}9,,1,0{}{1 ⊂=pi i a 01≠a (1.6)n m x x -⨯≤-1021*成立的最大整数为n ,则称近似值具有n 位有效数字,它们分别是、、… 和 . *x 1a 2a n a 特别地,如果有,即最后一位数字也是有效数字,则称是有效数.p n =*x 从定义可以看出,近似数是有效数的充分必要条件是末位数字所在位置的单位一半是绝对误差限. 利用该定义也可以证明,对真值进行“四舍五入”得到的是有效数. 对于有效数,有效数字的位数等于从第一位非零数字开始算起,该近似数具有的位数. 注意,不能给有效数的末位之后随意添加零,否则就改变了它的精度.例1.1 设量,其近似值,,. 试回答这三个近π=x 141.3*1=x 142.3*2=x 722*3=x 似值分别有几位有效数字,它们是有效数吗?解 这三个近似值的量级,因为有1=m 312*110211021005.000059.0--⨯=⨯=≤=- x x 413*2102110210005.00004.0--⨯=⨯=≤=- x x571428571428.3*3=x 312*310211021005.0001.0--⨯=⨯=≤=- x x 所以和都有3位有效数字,但不是有效数. 具有4位有效数字,是有效数.*1x *3x *2x 二、误差的传播这里仅介绍初值误差传播,即假设自变量带有误差,函数值的计算不引入新的误差. 对于函数有近似值,利用在点处),,,(21n x x x f y =),,,(**2*1*n x x x f y =),,,(**2*1n x x x 的泰勒公式(Taylor Formula),可以得到 )(),,,()(*1**2*1**i i ni n i x x x x xf y y y e -≈-=∑=(1.7))(),,,(*1**2*1i ni n i x e x x xf ∑== 其中,是的近似值,是的绝对误差. 式(1.7)表明函ii x f f ∂∂=:*i x i x )(*i x e *i x ),,2,1(n i =数值的绝对误差近似等于自变量绝对误差的线性组合,组合系数为相应的偏导数值. 从式(1.7)也可以推得如下函数值的相对误差传播近似计算公式 (1.8))(),,,()(***1**2*1*i r i ni ni r x e yx x x x f y e ∑=≈对于一元函数,从式(1.7)和(1.8)可得到如下初值误差传播近似计算公式)(x f y = (1.9))()()(***x e x f y e '≈ (1.10))()()(*****x e yx x f y e r r '≈式(1.9)表明,当导数值的绝对值很大时,即使自变量的绝对误差比较小,函数值的绝对误差也可能很大.例1.2 试建立函数的绝对误差(限)、相对误差n n x x x x x x f y +++== 2121),,,(的近似传播公式,以及时的相对误差限传播公式.{}ni i x 1*0=> 解 由公式(1.7)和(1.8)可分别推得和的绝对误差、相对误差传播公式如下(1.11)∑∑==≈ni i ini nix e x e x x xf y e 1**1**2*1*)()(),,,()(= (1.12)∑∑==≈ni i r i i r i ni ni r x e yx x e y x x x x f y e 1******1**2*1*)()(),,,()(= 进而有∑∑∑===≤≤≈ni i n i ini ix x e xe y e 1*1*1**)()()()(ε于是有和的绝对误差限近似传播公式 ∑=≈ni ixy 1**)()(εε当时,由式(1.3)推得相对误差限的近似传播公式{}ni i x 1*=>)(max )(max )(max )()()(*11***11***11****1**i r ni ni i ir n i ni i i r n i ni i r i ni ir x yx x yx x x y x yxy εεεεεε≤≤=≤≤=≤≤====≤=≈∑∑∑∑ 例1.3使用足够长且最小刻度为1mm 的尺子,量得某桌面长的近似值3.1304*=a mm ,宽的近似值mm (数据的最后一位均为估计值). 试求桌子面积近似值的绝8.704*=b 对误差限和相对误差限.解 长和宽的近似值的最后一位都是估计位,尺子的最小刻度是毫米,故有误差限 mm ,mm 5.0)(*=a ε5.0)(*=b ε面积,由式(1.7)得到近似值的绝对误差近似为ab S =***b a S = )()()(*****b e a a e b S e +≈进而有绝对误差限 mm 255.10045.03.13045.08.704)()()(*****=⨯+⨯=+≈b a a b S εεε相对误差限 %11.00011.08.7043.130455.1004)()(***=≈⨯=≈S S S r εε§1.3 数值实验与算法性能比较本节通过几个简单算例说明解决同一个问题可以有不同的算法,但算法的性能并不完全相同,他们各自有自己的适用范围,并进而指出算法设计时应该注意的事项. 算例1.1 表达式,在计算过程中保留7位有效数字,研究对不同)1(1111+=+-x x x x 的x ,两种计算公式的计算精度的差异.说明1:Matlab 软件采用IEEE 规定的双精度浮点系统,即64位浮点系统,其中尾数占52位,阶码占10位,尾数以及阶码的符号各占1位. 机器数的相对误差限(机器精度)eps=2-52≈2.220446×10-16,能够表示的数的绝对值在区间(2.2250739×10-308,1.797693×10308)内,该区间内的数能够近似表达,但有舍入误差,能够保留至少15位有效数字. 其原理可参阅参考文献[2, 4].分析算法1: 和算法2: 的误差时,精确解用双精111)(1+-=x x x y )1(1)(2+=x x x y 度的计算结果代替. 我们选取点集中的点作为x ,比较两种方法误差的差异.301}{=i i π 从图1.1可以看出,当x 不是很大时,两种算法的精度相当,但当x 很大时算法2的精度明显高于算法1. 这是因为,当x 很大时,和是相近数,用算法1进行计算时出x 111+x 现相近数相减,相同的有效数字相减后变成零,于是有效数字位数急剧减少,自然相对误差增大. 这一事实也可以从误差传播公式(1.12)分析出. 鉴于此,算法设计时,应该避免相近数相减.在图1.2中我们给出了当x 接近时,两种算法的精度比较,其中变量x 依次取为1-. 从图中可以看出两种方法的相对误差基本上都为,因而二者的精度相当.{}3011=--i iπ710-图1.1 算例1.1中两种算法的相对误差图()+∞→x图1.2 算例1.1中两种算法的精度比较)1(-→x 算例1.2 试用不同位数的浮点数系统求解如下线性方程组⎩⎨⎧=+=+2321200001.02121x x x x 说明2:浮点数系统中的加减法在运算时,首先按较大的阶对齐,其次对尾数实施相应的加减法运算,最后规范化存入计算机.算法1 首先用第一个方程乘以适当的系数加至第二个方程,使得第二个方程的的系1x 数为零,这时可解出;其次将带入第一个方程,进而求得(在第三章中称该方法为高2x 2x 1x 斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法1a 和算法1b . 算法 2 首先交换两个方程的位置,其次按算法1计算未知数 (第三章中称其为选主元的高斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法2a 和算法2b .方程组的精确解为, ,用不同的算法计算出的...25000187.01=x ...49999874.02=x 结果见表1.1.表1.1 对算例1.2用不同算法的计算结果比较算例1.2*1x )(*1x r ε*2x )(*2x r ε算法1a 0.00000.10×1010.50000.25×10-7算法2a 0.25000.75×10-70.50000.25×10-7算法1b 0.26000000.40×10-10.49999870.10×10-6算法2b0.25000200.50×10-80.50000000.25×10-7对于算例1.2,表中的数据表明,当用4位尾数计算时,算法1给出错误的结果,算法2则给出解很好的近似. 这是因为在实现算法1时,需要给第一个方程乘以加00001.0/2-至第二个方程,从而削去第二个方程中的系数,但在计算的系数时需做如下运算1x 2x(1.13)661610000003.0104.0103.0104.03200001.02⨯⨯⨯⨯=+⨯+=-+--对上式用4位尾数进行计算,其结果为. 因为舍入误差,给相对较大的数加以6104.0⨯-相对较小的数时,出现大数“吃掉”小数的现象. 计算右端项时,需做如下运算(1.14)661610000002.0102.0102.0102.02100001.02⨯⨯⨯⨯=+⨯+=-+--同样出现了大数吃小数现象,其结果为. 这样,得到的变形方程组6102.0⨯-⎩⎨⎧⨯-=⨯-⨯=⨯+⨯62612114102.0104.0101.0102.0101.0x x x 中没有原方程组中第二个方程的信息,因而其解远偏离于原方程组的解. 该算法中之所以出现较大数的原因是因为运算,因而算法设计中尽可能避免用绝对值较大的数00001.0/2-除以绝对值较小的数. 其实当分子的量级远远大于分母的量级时,除法运算还会导致溢出,计算机终止运行.虽从单纯的一步计算来看,大数吃掉小数,只是精度有所损失,但多次的大数吃小数,累计起来可能带来巨大的误差,甚至导致错误. 例如在算法1a 中出现了两次大数吃小数现象,带来严重的后果. 因而尽可能避免大数吃小数的出现在算法设计中也是非常必要的. 当用较多的尾数位数进行计算,舍入误差减小,算法1和2的结果都有所改善,算法1的改进幅度更大些.算例1.3 计算积分有递推公式,已知⎰+=1055dx x x I n ),2,1(511 =-=-n I nI n n . 采用IEEE 双精度浮点数,分别用如下两种算法计算的近似值.56ln 0=I 30I算法1 取的近似值为,按递推公式计算0I 6793950.18232155*0=I *1*51--=n n I nI *30I 算法2 因为,取的近似值为)139(5156)139(611039103939+⨯=<<=+⨯⎰⎰dx x I dx x 39I ,按递推公式计算3333330.004583332001240121*39≈⎪⎭⎫ ⎝⎛+=I ⎪⎭⎫ ⎝⎛-=-**1151n n I n I *30I 算法1和算法2 的计算结果见表1.2. 误差绝对值的对数图见图1.3.表1.2 算例1.3的计算结果算法1算法2n *nI n n I I -*n *nI nn I I -*18.8392e-002 1.9429e-01639 4.5833e-0033.9959e-0042 5.8039e-0029.8532e-016384.2115e-0037.9919e-0053 4.3139e-002 4.9197e-01537 4.4209e-003 1.5984e-0054 3.4306e-002 2.4605e-01436 4.5212e-003 3.1967e-0065 2.8468e-002 1.2304e-01335 4.6513e-003 6.3935e-0076 2.4325e-002 6.1520e-01334 4.7840e-003 1.2787e-007………33 4.9255e-003 2.5574e-00825 1.1740e+001 1.1734e+00132 5.0755e-003 5.1148e-00926-5.8664e+001 5.8670e+00131 5.2349e-003 1.0230e-00927 2.9336e+002 2.9335e+002 305.4046e-003 2.0459e-01028-1.4667e+003 1.4668e+003 297.3338e+0037.3338e+003 30-3.6669e+004 3.6669e+004图1.3 算例1.3用不同算法计算结果的误差绝对值的对数图从表1.2中的计算结果可以看出,算法1随着计算过程的推进,绝对误差几乎不断地以5的倍数增长,即有0*02*221*1*555I I I I I I I I n n n n n n n -≈≈-≈-≈----- 成立. 对于逐步向前推进的算法,若随着过程的进行,相对误差在不断增长,导致产生不可靠的结果,这种算法称之为数值不稳定的算法. 对于算法1绝对误差按5的幂次增长,但真值的绝对值却在不断变小且小于1,相对误差增长的速度快于5的幂次,导致产生错误的结果,因而算法1数值不稳定,不能使用. 而算法2随着计算过程的推进,绝对误差几乎不断地缩小为上一步的1/5,即有m m n m n n n n n n n I I I I I I I I 5/5/5/*22*21*1*++++++-≈≈-≈-≈- 成立. 绝对误差不断变小,真值的绝对值随着过程向前推进却在变大,这样相对误差也越来越小,这样的方法称之为数值稳定的算法. 算法1和算法2的误差对数示意图见图1.3. 这个算例告诉我们应该选用数值稳定的算法.知识结构图⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧⎩⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧算法设计要点数值方法的稳定性数值方法的收敛性算法多元函数一元函数传播有效数字相对误差(限)绝对误差(限)度量截断误差舍入误差误差的产生误差误差与算法习题一1 已知有效数,,. 试给出各个近似值的绝对误105.3*1-=x 4*210125.0⨯=x 010.0*3=x 差限和相对误差限,并指出它们各有几位有效数字.2 证明当近似值是x 的较好近似时,计算相对误差的计算公式和相差一个*x x x x -***xxx -和同阶的无穷小量.2*⎪⎪⎭⎫⎝⎛-x x x 3 设x 的近似值具有如式(1.5)的表示形式,试证明*x 1)若具有n 位有效数字,则相对误差;*x n r a x e -⨯≤11*1021)(2)若相对误差,则至少具有n 位有效数字.n r a x e -⨯+≤11*10)1(21)(*x 4 试建立二元算术运算的绝对误差限传播近似计算公式.5 试建立如下表达式的相对误差限近似传播公式,并针对第1题中数据,求下列各近似值的相对误差限.1) ; 2) ; 3) *3*2*1*1x x x y +=3*2*2x y =*3*2*3/x x y =6若例题1.3中使用的尺子长度是80mm ,最小刻度为1mm ,量得某桌面长的近似值mm ,宽的近似值mm . 试估计桌子长度、宽度的绝对误差限,并3.1304*=a 8.704*=b 求用该近似数据计算出的桌子面积的绝对误差限和相对误差限.7 改变如下计算公式,使其计算结果更为精确.1) 且0,cos 1≠-x xx1<<x 2)1,1ln )1ln()1(ln 1>>--++=⎰+N N N N N xdx N N3) 1,133>>-+x x x 8 (数值试验)试通过分析和数值试验两种手段,比较如下三种计算近似值算法的可靠性.1-e 算法1 ;∑=--≈mn nn e 01!)1( 算法2 ;101!1-=-⎪⎭⎫ ⎝⎛≈∑m n n e算法3 ;101)!(1-=-⎪⎪⎭⎫ ⎝⎛-≈∑m n n m e9 (数值试验)设某应用问题归结为如下递推计算公式 ,,72.280=y 251-=-n n y y,2,1=n 在计算时取为具有5位有效数字的有效数. 试分析近似计算公式的2*c **1*5c y y n n -=-绝对误差传播以及相对误差传播情况,并通过数值实验验证 (准确值可以用IEEE 双精度浮点运算结果代替),该算法可靠可用吗?。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
* *

f * * f * * e ( z ) ( ) e ( x) ( ) e ( y ) x y
*
(1)
函数近似值 z* 的相对误差
e* ( z ) f * x * f * y * e ( z ) * ( ) * er ( x) ( ) * er ( y ) x z y z z
得到一个精度很高的近似值。
四、避免“大数除以小数”
由二元函数的误差传播规律式知
y e x x e y x e y y2
可知,当 y 相对
x e* x 小时, y
会很大。
五、 防止大数“吃掉”小数 由于计算机采用浮点制,在数值运算中,如果 数据的数量级相差很大,如不注意运算次序,就可
因而实际计算的递推公式是:
I 5I
* n
* n 1
1 n
n 1, 2, , 20

I I0 e0
* 0
(2)
误差 e0 是怎么传递的
(1)-(2)得
* * I n I n 5(I n1 I n1 )
n 1, 2,, 20
递推得到
I n I (5) e0
z f ( x, y)
时,
用 z* f ( x , y ) 作为函数 z f ( x, y) 的近似值,
于是函数近似值 z* 的绝对误差
f * f * e ( z) z z f ( x, y) f ( x , y ) ( ) ( x x ) ( ) ( y y ) x y
e* (v) V V * 2(v)
绝对误差可以刻画近似值的准确程度。
2、相对误差与相对误差限 若 x 的近似值 x* 的绝对误差为
e* ( x)
e* ( x) 则称比值 x 为近似值 x* 的相对误差
用 er ( x) 表示, 即

e* ( x ) x x* er ( x) x x
能出现大数“吃掉”小数的现象。 例4 、求一元二次方程实根
x2 ( ) x 109 0
( 109 , 1)
有两个互异实根
x1 109 , x2 1
b b 2 4ac 2a
e* ( x) e* ( x) x x* e ( x) * * 作为近似 因此将 r x x x
数的相对误差。如果 存在 r* 0 , 使
er ( x)

* r
* 成立,则称正数 r 为近似数 x* 的相对误
差限,常用百分数表示。
例如
x1 100 2
x2 10 1
* I n 1
1 * 1 In 5 5n
n 20,19,,1,0
* I 20 0.008731587
该方法对 I 20 的舍入误差 e20 传递情况是
1 * * I n 1 I n 1 ( I n I n ) 5 n 20,19, ,1
1 1 n * * I 0 I ( I1 I1 ) ( ) ( I n I n ) 递推可得 5 5
*
n 位有效数字。
x 3.14159 若
*
x* 3.14
则绝对误差限
1 e ( x) 0.00159 102 2
近似值
x* 3.14
具有三位有效数字。
x* 有如下规格化形式 一般地,对于非零近似数
x* 10m 0.x1x2 xn , x1 0,
* r
(2)
利用(1)、(2)两式,可以得到两数和、
差、积、商的绝对误差与相对误差传播的估计式
e x y e x e y , er x y max er x , er y , x, y同号;






er x , er x y e r y ,
模型 误差
观测 误差
截断 误差
舍入 误差
(1)模型误差:由实际问题转化为数学问题,在
建立数学模型时,数学模型与实际问题之间出现的
误差称为模型误差。 (2)观测误差:数学模型中一些物理量的观测值,
如:电压、温度、长度等,不可避免会带来误差,
称为观测误差。
(3)截断误差:计算机在求解数学模型时选用数

x5 1 1 I0 dx ln 6 ln 5 0 x5
n
可建立递推公式
1 I n 5I n 1 n n 1, 2, , 20
I 0 ln 6 ln 5
(1)
设计算 I 0 时的舍入误差为 e0
* I 0 的近似值为 I0 ,即
* e0 I0 I0
初始值有误差 0 ,中间不产生新误差,考察由 0
引起的误差积累是否增长,如不增长就认为是稳 定的,如严重增长就认为不稳定。
例2、建立积分
In
1
0
xn dx x5
n 0,1,, 20
的递推关系式,研究它的误差传递。
解:由 I 5I 1 x n 5 x n1 dx 1 x n1dx 1 n n 1 0 0
值计算方法,由此方法产生的误差称为截断误差。
(4)舍入误差:由于计算机字长有限,只能对有 限位进行运算,因而往往进行四舍五入,这样产生
的误差称为舍入误差。
误差是不可避免的,要做到与实际问题的绝对 准确是办不到的。因此,我们主要研究怎样尽量设 法减少截断误差和舍入误差,提高计算精度。
例如 在计算机上计算级数
r
§2 数值计算中应该遵循的原则
一、选择计算复杂性较好的算法
时间复杂性:乘除法计算量多少。 空间复杂性:算法所占计算机内存多少。
2 n 例1、计算 P x0 a0 a1x0 a1x0 an x0 n
k sk ak x0 , k 0,1,, n 解、算法一: n P k 0 sk
* n n
n 1, 2,, 20
可以看出误差 e0 对第
n
步的影响扩大了
5n 倍。当 n 较大时,误差将淹没真值。用
I
* n
近似 I n
e0 的 (5) n 倍。 绝对误差是
若由 解出
I n 5 I n 1
I n 1
1 n
1 1 In 5 5n
先求出 I 20 ,然后依次算出 由 In

x y y x
, x, y同号;
e xy x y max e x , e y ,

e xy e x e y ;
r r r
y e x x e y x e , 2 y y x e er x er y 。 y
1 3 1 5 1 7 1 9 sin x x x x x x 3! 5! 7! 9!
取前四项计算 sin x 的近似值
sin x x 1 3 1 5 1 7 x x x S 4 ( x) 3! 5! 7!
产生的误差即截断误差为:
1 9 R( x) sin x S 4 ( x) x 9!
数值分析
第一章 误差
数值分析是计算数学核心课程,它研究高
等数学和线性代数中基本数学问题的数值解法,
以及在求解过程中出现的收敛性、数值稳定性
和误差估计等问题。
§1 误差
数值解:满足一定精度的近似解。
精度:我们用误差或近似数的有效数字刻划。
一、 误差的产生和分类 实际 问题 建立 模型 收集 数据 选择 算法 编程 求解 验证 结果
二、绝对误差、相对误差与有效数字
x 是物理量
*
x的一个近似值。
1、绝对误差与绝对误差限 称 x x* 为近似数 x* 的误差, x * 为绝 x
对误差,用 e
*
e* ( x ) x x * 。 ( x) 表示,即
实际问题中,由于物理量未知,因而无 法计算绝对误差的大小,只能根据具体情况 估计绝对误差的上限,即求 * 0 使


e* ( x ) x*
较小时,由于
e* ( x) 2 [ * ] * * e* ( x) x* x [e* ( x)]2 e ( x) e ( x) x * * * e* ( x) x e* ( x) x* x x xx 1 * x
在实际计算中,由于 x 往往不知道,
的相对误差和相对误差限分别是
e* ( x1 ) 2 * er ( x1 ) 2% * x1 100

e* ( x2 ) 1 e ( x2 ) 10% * x2 10
* r
* * x1 比效数字 如果近似数 x 的绝对误差限是其准确数某位 数的半个单位,且该位数字直到 x* 左边第一位非 零数字共有 n 位,则称近似值 x* 有 例如
I19 , I18 , I1 , I 0

1
0
xn dx,由第二积分中值定理: x5
, b] 若函数 ( x) 在区间 [ a上不变号且可积,
f ( x )连续,则存在 a, b 使

b
a
f ( x) ( x)dx f ( ) ( x)dx 。
a
b

所以 于是 若取
算法二:
Tn an , Tk x0Tk 1 ak , k n 1, n 2,,2,1,0 P T0
二、选择算法数值稳定性较好的算法
从误差传播规律和计算机字长的特点,在运
算过程中舍入误差对结果影响不大的算法称为稳
相关文档
最新文档