数值计算方法第2章
d2 0 0 1 d3 0 1 0
0 d i 2 , 1 i 3 , d1 0 , 1 j 2 0
四种排列: d1
1 1 1 1
1 1 4 1 2 3 尾数只能为4个数: (0.100)2 1 2 0 2 0 2 8 5 1 2 3 (0.101)2 1 2 0 2 1 2 8 6 1 2 3 (0.110)2 1 2 1 2 0 2 8 7 1 2 3 (0.111)2 1 2 1 2 1 2 8
定义:设x的一个近似值x*,把x*写成规范化的科学计数 形式x*=±0.a1a2…an…×10k(有限或无限),其中k为 整数,a1,a2,…,an,…是0~9中的一个数字,且a1≠0,如 果有 |x-x*|≤0.5×10k-n , 则称x*为x的具有n位有效数字的近似值。
如: 3.1415926
二 误差分析初步
1 数值计算中的重要公式Taylor公式 设f在含有点x0的某个开区间(a,b)内具有n+1阶导数,则
x (a, b)有 f ' ' ( x0 ) f ( n ) ( x0 ) f ( n 1) ( ) 2 n f ( x) f ( x 0 ) f ' ( x 0 )( x x0 ) ( x x0 ) ... ( x x0 ) ( x x 0 ) n 1 2 n! (n 1)! 其中在x和x 0 之间
2证明:x的相对误差约等于x的相对误差的一半。
解:设x * 为x的近似值,则 e( x * ) ( x * )' | x x* | 1 2 x* 1 | x x* | e( x * ) 2 x * e ( x *) r x* x* | x x* | 1 e( x*) 2 | x* | 2 命题得证 | x x* |
故F中有33个浮点数(加上0):
j 1 1 4 5 16 3 8 7 16
j0 1 2 5 8 3 4 7 8
j 1 1 5 4 3 2 7 4
j2 2 5 2 3 7 2
三 计算机算术运算规则
1 加减法运算:首先比较加减两数的阶码, 将阶码较小的数的阶码、尾数分别移位至 两数阶吗相同后,尾数相加减。
3 算术运算的误差估计
(x * y*) ( x*) ( y*) ( x * y*) | x* | ( y*) | y* | ( x*) x* | x* | ( y*) | y* | ( x*) ( ) 2
y* | y* |
例3:①设x>0,x的相对误差为δ ,求㏑x的误差. ②设x>0,x的相对误差为2%,求xn的相对误差.
计算机所表示的数的集合(规格化浮点数系):
F f 0.d1d 2 d t j
阶
0 d i , 1 i t , d1 0 , L j U 0
例如:
F f 0.d1d 2d3 2 j
F ( , t , L, U ) 2, t 3, L 1, U 2
2 乘法运算:阶码相加,尾数相乘,得两倍 字长尾数,对其舍入成规格化的形式,并 冠以乘积符号。
3 除法运算:将被除数的尾数扩大为双倍字 长做除法,最后舍入为规格化形式,并冠 以数符。
四 算法的数值稳定性
数 值 算 法
串行算法:只有一个进程(一个或多个算法元 组成)的算法 适用于串行计算机
并行算法:具有两个或两个以上进程的算法 适用于并行计算机 一个数值问题包括以下几个部分:
x1 r x 2 1r 2 r
计算机的数系结构/* Structure of Number System */
计算机的数系是一个不完整的数系。计算机只能表示 有限个数,即计算机的精度是有限的。 每种计算机内部运算是按固定的有限位数进行的,也 就是按固定位数的有限位浮点数进行运算的。 浮点数系统由四个整数表征:基 ,精度(尾数)位 数 t ,下溢界 L 和上溢界U 称为尾数,j为
* 3.141592 0.3141592 101 1 1 -5 e | * | 0.0000006... 10 101-6 6位 2 2
1 1 2 e | * | 0.0015926... 10 1013 3位 2 2
* 3.14 0.314 101
f 的条件数在某一点是小\大,则称 f 在该点是好条 相对误差条件数 件的 /* well-conditioned */ \坏条件的 /* ill-conditioned */。 /* relative condition number*/
例: 设 x 10 5% ,试求函数 f ( x )
e ( y ) | er ( y ) | f ( x )
e ( x ) | er ( x ) | x
f ( x ) f ( x ) x x x er ( y ) x x f (x ) x ( x ) f ( x ) x f e ( x ) er ( x ) f ( x ) f ( x )
| e ( y) || f ' (x ) | | e (x) |
* * *
即: 产生的误差经过 f 作用后被放大/缩小了 f ( x ) 倍。 x ( x ) f为放大/缩小因子 /* amplification factor */ 或 绝对 故称 条件数 /* absolute condition number */.
3、数学模型与数值算法之间的误差求近似解 —— 方法误差 (截断误差 /* Truncation Error */ ) 4、由于机器字长有限,原始数据和计算过程会产生新的误差 —— 舍入误差 /* Roundoff Error */
2 绝对误差/相对误差
① 绝对误差的定义:设x为正确值,x*为x的一个近 似值,定义e(x*)=x-x*为近似值x*的绝对误差。
一 误差的基本概念
1 误差的概念 一个量的准确值与其近似值之差。
误差的来源与分类 /* Source & Classification */
1、从实际问题中抽象出数学模型 —— 模型误差 /* Modeling Error */
2、通过观测得到模型中某些参数(或物理量)的值 —— 观测误差 /* Measurement Error */
n
x 的相对误差限.
解: 由题设知:近似值为 x 10 ,绝对误差限为 ( x ) 5%
1 1 n 1 n 1 f ( x ) ( x ) x n nx
e( f ) f ( x )e( x ) e( x ) 0.005 er ( f ) f (x ) f (x ) nx n
er ( x*) x x* x
e(x*)可以简写为e
误差可正可负,常常是无限位的 绝对误差还不能完全表示近似值的好坏
②相对误差的定义:在 x≠0(或x* ≠0时), x x* x x* e ( x*) e 或 ( x*) x* 定义 为近似值x*的相对误 x 差。
r
r
er(x*)可以简写为er
相对误差也可正可负
例1:设近似值5000的绝对误差为1,近似值 5的绝对误差为0.1,则哪个近似值准确度高?
解:
er(5000)=1/5000=0.0002=0.02%
er(5)=0.1/5=0.02=2%
在实际情况中,有些e和er无法直接计算,需 要进行误差估计。
③ 绝对误差界:设x为准确值,x*为x的一个 近似值,如果能对x*的绝对误差做出估计 |e|≤|x-x*|≤ε ,则称ε 为x*的绝对误差界。
课堂练习
1 我们所熟悉的圆周率π =3.1415926„„,问: ① 若取x*=3.14,则该近似值有多少位有效数 字? ②若取x*=3.1416,则该近似值有多少位有效 数字?
答案
1 解: π =0.31415926„„ ×101 ① |e|=|π -x*|=|0.0015926„„| ≤0.002≤0.005=0.5×10-2=0.5×101-3 ∴ x*有3位有效数字 ② |e|=|π -x*|=|-0.0000073„„| ≤0.000008≤0.00005=0.5×101-5 ∴ x*有5位有效数字
如: 3.14159
1 105 ( 3.1415926) 2
④相对误差界:如果能对x*的相对误差做出 | x x* | | e | 或 | e | 估计 ,则称ε r为x* | x| | x* | 的相对误差界。
r r r r
3 有效数字
作业:
已测量得某矩形面积,长a=110m,宽b=8m,若 |a-a*|≤0.1m, |b-b*|≤0.1m,试求其面积 s=ab 的绝对误差界和相对误差界.
算术运算的相对误差
x1 x2 r ( x1 x 2 ) 1r . 2 r x1 x 2 x1 x 2
r ( x1 .x 2 ) 1r 2 r
例2:设x=103×0.7136……,问: ① 若取x*=103×0.714,则x*有多少位有效数 字? ②若取x*=103×0.715,则x*有多少位有效数字? ③若取x*=103×0.7131,则x*有多少位有效数 字?
4 截断误差/舍入误差
① 截断误差:也称为方法误差,它是指在构造数值 计算方法时,用有限过程代替无限过程,其计算结 x x x sin(x) x ...... 果所存在的误差。 3! 5! 7!
f (x* )
对于函数 y = f (x),若用 x* 取代 x,将对y 产生什 么影响? 分析:e*(y) = f (x*) f (x) Mean Value e*(x) = x* x Theorem