1.1.1示例浮点数集 序数 4 6 2830 33 数值 位置 + +=∞∥S +tS9Xf 二 + 心+=∞X x=+-+…+ B 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 6 1.1.1 示例浮点数集 序数 1 2 3 4 6 8 12 17 22 26 28 30 31 32 33 数值 -3 -2 -1 0 1 2 3 位置 e t d d dt x = + ++ 2 1 2 (1/2+0/4+0/8) 2 2=32/16 (1/2+1/4+1/8) 2 2=56/16 (1/2+0/4+1/8) 2 2=40/16 (1/2+1/4+0/8) 2 2=48/16 (1/2+1/4+1/8) 2 1=28/16 (1/2+1/4+0/8) 2 1=24/16 (1/2+0/4+1/8) 2 1=20/16 (1/2+0/4+0/8) 2 1=16/16 (1/2+1/4+1/8) 2 0=14/16 (1/2+1/4+0/8) 2 0=12/16 (1/2+0/4+1/8) 2 0=10/16 (1/2+0/4+0/8) 2 0=8/16 (1/2+1/4+1/8) 2 -1=7/16 (1/2+1/4+0/8) 2 0=12/16 (1/2+0/4+1/8) 2 -1=5/16 (1/2+0/4+0/8) 2 -1=4/16
1.1.2浮点数表示实数的问题 (1)最接近实数Z的浮点数 两浮点数间的绝对值差B)*B 相对差(B*B)(B*B)=B 浮点数x=f(Z)和实数Z的最大相对误差 fl(z)-Z ≤*B 即相对误差界 Relative error bound 用任何β=2作数基表示(0.1)10均需无穷位 (0.1)10=(0.0001001100100 (0.012121212121212. (0.0631463146314 0.19999999996 因此10×f(0.1)≠1.0 (2)F中绝对值最大的数 B-1 B B B B BB B B 浙江大学研究生 《实用数值计算方法》 7 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 7 1.1.2 浮点数表示实数的问题 (1) 最接近实数Z的浮点数 两浮点数间的绝对值差 相对差 浮点数 x=fl(Z) 和 实数 Z 的最大相对误差 即相对误差界 Relative Error Bound 用任何=2k作数基表示(0.1)10均需无穷位 (0.1)10=(0.000110011001100…...)2 =(0.012121212121212…...)4 =(0.0631463146314……)6 =(0.1999999999999…...)16 因此 10fl(0.1)1.0 (2) F 中绝对值最大的数 t Z fl Z Z − − 1 2 ( ) 1 ( ) 1 (1 ) ( ) ( ) −t e − e −t = t e (− ) U t U t = − − + + − + − 1 1 1 1 1 2
1.1.2 它近似表示的Z的最大绝对值 M=1 B 2*B 对前例 15 M=1 米2 2米2 4 对于x,+x 358 S M 222 则产生上溢错误 Overflow (3)F中绝对值最小的非零Z B=B-1 B 它近似表示的非零最小绝对值 AN=-*B 2 对前例 MN=2*2-11= 浙江大学研究生 《实用数值计算方法》 8 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 8 它近似表示的Z的最大绝对值 对前例 对于 则产生上溢错误 Overflow (3) F 中绝对值最小的非零Z 它近似表示的非零最小绝对值 对前例 x x MX MX MX U t + = + = = = − = − 2 8 2 5 2 3 4 15 2 2 2 1 1 2 1 1 1 2 2 3 1 −1 = L L 1 2 1 − = L MN 8 1 2 2 1 1 1 = = − − MN 1.1.2
1.1.2 对于 <MN 则机器将给出结果为0 或产生下溢错误 Underflow (4)对Z成立的运算律,对F不一定成立 设 A B 16 A+(B-C)=(4+B)C 然而m4)(6)-m(C小=田0-5 1266 fl(a)e f (B)]-fl(c) 161616 所以 (A)[1(B)-f(C≠[f(A)④f(B)-(C) 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 9 对于 则机器将给出结果为0 或产生下溢错误 Underflow (4) 对Z成立的运算律,对F不一定成立 设 则 然而 所以 x − x = − = MN 16 1 16 6 16 7 1 2 16 6 , 16 7 , 16 5 A = B = C = A+(B−C)= (A+ B)−C 16 6 16 6 16 12 [ ( ) ( )] ( ) 16 5 0 16 5 ( ) [ ( ) ( )] − = − = − = = fl A fl B fl C fl A fl B fl C fl(A)[ fl(B) − fl(C)] [ fl(A) fl(B)]− fl(C) 1.1.2
1.13机器最小数 Machine epsilon 能使1.0⊕eps>1.0 的最小浮点数eps 可以用来表示该机器浮点运算的准确程度 自动找出该计算机eps值的程序 EPS=1.0 10EPS=0.5×EPS EPSI=EPS+1.0 IF(EPSIGT. 1 GOTO 10 EPS=1.4×EPS 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 10 1.1.3 机器最小数 Machine Epsilon 能使 1.0 eps > 1.0 的最小浮点数 eps 可以用来表示该机器浮点运算的准确程度 自动找出该计算机eps 值的程序 EPS = 1.0 10 EPS = 0.5 EPS EPSI = EPS + 1.0 IF(EPSI.GT.1.) GOTO 10 EPS = 1.4 EPS