第一章基本知识 11计算机中的数 1.2误差分析 1.3数值计算中出现的问题 1.4求解题目本身的特性 1.5典型示例分析 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 1 第一章 基本知识 1.1 计算机中的数 1.2 误差分析 1.3 数值计算中出现的问题 1.4 求解题目本身的特性 1.5 典型示例分析
1.计算机中数的表示的近似性 2.误差的来源和传播 3.数值方法的稳定性计算步骤的合理性 4.题目本身数学模型的特性 5应注意的要点 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 2 1. 计算机中数的表示的近似性 2. 误差的来源和传播 3. 数值方法的稳定性,计算步骤的合理性 4. 题目本身数学模型的特性 5. 应注意的要点
1.1计算机中的数 整数 Integer 离散无限 实数 Real number 连续无限 有理数 Rational number稠密无限 复数 Complex Number连续无限 浮点数 Floating Point Number 1.1.1浮点数集F 离散无限 数基 Number base B 精度 Precision 阶域 Exponentia1 Range上界U 下界L Fx=±×B 土( 2 e。非 BB )×B B 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 3 1.1 计算机中的数 整数 Integer 离散 无限 实数 Real Number 连续 无限 有理数 Rational Number 稠密 无限 复数 Complex Number 连续 无限 浮点数 Floating Point Number 1.1.1 浮点数集 F 离散 无限 数基 Number Base 精度 Precision t 阶域 Exponential Range 上界 U 下界 L e t t e d d d F x = + + + = ( ) 2 1 2
X的尾数 mantissa 分式 fraction 尾数数字 digit figure(整数) 0≤d1≤B-1,i=12,…,t ex阶数 exponent,或 Characteristic L≤e≤U往往L L=-U±1 规格化浮点数系Fn Normalized Floating Point Number System t位有效数的相对精度 Minimum Relative Accuracy B B 8765432 876.5432=+(+,2+ 1010 0210310410510°10 B=10,t=7,e=3,a=B=106 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 4 x的尾数 mantisa 分式 fraction di 尾数数字 digit figure (整数) e x的阶数 exponent, 或characteristic 往往 规格化浮点数系 Fn Normalized Floating Point Number System d10 t位有效数的 相对精度 Minimum Relative Accuracy d i t i 0 −1, =1,2, , L e U = − 1 = − L U L U 1 6 3 2 3 4 5 6 7 1 1 10, 7, 3, 10 ) 10 10 2 10 3 10 4 10 5 10 6 10 7 10 8 876.5432 ( ) 1 ) ( 1 ( − − − − = = = = = = + + + + + + + = = t t t t t e 1.1.1
Fn中的浮点数的总数 N=2*(B-1)*B一*(一L+1)+1 从L到U的阶次个数 从2到t共t1位的d有β种选择 第1位的d1可以有(β-1)种选择 正数和负数有相同个数 示例 B=2,t=3,L=-1,U=2 N=2*(2-1)*2*(2+1+1)+1=33 即相对误差界 Relative error bound 浙江大学研究生 《实用数值计算方法》 学位课程
浙江大学研究生 学位课程 《实用数值计算方法》 5 Fn 中的浮点数的总数 0 从L到U的阶次个数 从2到t,共t-1位的di有种选择 第1位的d1可以有(-1)种选择 正数和负数有相同个数 示例: 2 ( 1) ( 1) 1 1 = − − + + − N U L t 2 (2 1) 2 (2 1 1) 1 33 2, 3, 1, 2 3 1 = − + + + = = = = − = − N t L U 即相对误差界 Relative Error Bound 1.1.1
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