1.2 误差 1.2.1 误差的来源与分类 1.2.2 误差与有效数字 1.2.3 函数求值的误差估计 1.2 误差 1.2.1 误差的来源与分类 1.2.2 误差与有效数字 1.2.3 函数求值的误差估计 1.2.4 计算机中数的表示和舍入误差 总结
1.2 误差 /* Error */ 学习目标 掌握误差和有效数字、以及 算法的数值稳定性等概念;重点 是有效数字与相对误差的关系。
1.2.1 误差的来源与分类/* Source & Classification */ 误差在我们的日常生活中无处不在,无处不有,如在做热力学实验中,从温度计上读出的温度是23.4度,就不是一个精确的值,而是含有误差的近似值。又如量体裁衣,量与裁的结果都不是精确无误的,都含有误差。
—— 模型误差 /* Modeling Error */ 从实际问题中抽象出数学模型 —— 模型误差 /* Modeling Error */ 通过测量得到模型中参数的值 —— 观测误差 /* Measurement Error */ 求近似解 —— 方法误差 (截断误差 Truncation Error) 机器字长有限 —— 舍入误差 /* Roundoff Error */
(1). 模型误差 用数学方法解决一个具体的实际问题,首先要建立数学模型,这就要对实际问题进行抽象、简化,因而数学模型本身总含有误差,这种误差叫做模型误差 数学模型是指那些利用数学语言模拟现实而建立起来的有关量的描述 数学模型的准确解与实际问题的真解不同 实际问题的真解 数学模型的真解 为减化模型忽略次要因素 定理在特定条件下建立 与实际条件有别
(2). 观测误差 在数学模型中通常包含各种各样的参变量,如温度、长度、电压等,这些参数往往是通过观测得到的,因此也带来了误差,这种误差叫观测误差. 数学模型中的参数和原始数据,是由观测和试验得到的. 由于测量工具的精度、观测方法或客观条件的限制,使数据含有测量误差,这类误差叫做观测误差或数据误差. 根据实际情况可以得到误差上下界. 数值方法中需要了解观测误差,以便选择合理的数值方法与之适应.
数值运算的一个特点是: 参与运算的数必须是有限位的,而且位数往往是预先规定的(如在计算机高级语言中,单精度实数为6~7位有效数字)。如果运算的数是无限位的或超过规定,那么要用“四舍五入”规则或“截断”规则,将它们处理成规定的位数。 所谓“截断”规则就是:将超过规定位数的部分无条件地去掉。这样 取4 位小数,就为3.1415。
(3). 截断误差 精确公式用近似公式代替时,所产生的误差叫截断误差. 例如, 函数f(x)用泰勒(Taylor)多项式 近似代替,则数值方法的截断误差是 (介于0与x之间) 截断误差的大小直接影响计算结果的精度和计算 工作量,是数值计算中必须考虑的一类误差.
有的计算机是采用“截断”规则的, 但大多数计算机是采用“四舍五入”规则处理舍弃位数的。 例如,对函数 当 |x| 较小时,我们若用前三项作为sinx的近似值,则截断误差的绝对值不超过 . 有的计算机是采用“截断”规则的, 但大多数计算机是采用“四舍五入”规则处理舍弃位数的。
(4). 舍入误差 在数值计算中只能对有限位字长的数值进行运算. 需要对参数、中间结果、最终结果作有限位字长的处理工作,这种处理工作称作舍入处理. 用有限位数字代替精确数,这种误差叫做舍入误差,是数值计算中必须考虑的一类误差. “四舍五入”规则:四舍六入五成双
所谓“四舍五入”规则就是:将超过规定位数的部分按下列原则去掉: (1)如果舍弃的部分小于保留数的最后一位的单位的1/2,那么保留的数不变。 例如=3.1415926… ,如果取两位小数,那么保留数的最后一位单位是10-2 ,舍弃部分是0.1592610-2 ,小于0.5 10-2 ,因此取为3.14; (2)如果舍弃的部分大于所保留数的最后一位单位的1/2,那么将保留数最后一位数字加1。 例如限制取4位小数,最后一位单位为10-4,但去掉的部分是0.926 10-4,大于0.5 10-4 ,因此取成3.1416; (3)如果舍弃的部分恰等于所保留数的最后一位单位的1/2,此时如果保留的数最后一位是奇数,那么加1成偶数;如果保留的数最后一位是偶数,则就不动了。 例如:取2位小数,0.675成0.68,而0.605成0.60。
上述种种误差都会影响计算结果的准确性,因此需要了解与研究误差,在数值计算中将着重研究截断误差、舍入误差,并对它们的传播与积累作出分析.
1.2.2 误差与有效数字 (Error and Significant Digits) 绝对误差 /* absolute error */ 绝对误差界(限) 定义 1.1 设 是某实数的精确值, 是它的一个近似值,则称 为近似值 的绝对误差.(xA有时也可记作x*) 由于精确值一般是未知的,因而绝对误差不能求出来, 但可以根据测量误差或计算情况设法估计出它的取值范围,即误差绝对值的一个上界或称误差限。 定义1.2 设 是某实值的精确值, 是它的一个近似值,并可对 的绝对误差作估计 , 则称 是 的绝对误差界(限)。
可见,绝对误差限A不是唯一的,但A越小越好, 0.0015926…,有 - A =0.0015926… 0.002=0.210-2 例2 又近似值A =3.1416,它的绝对误差是0.0000074…,有 | - A |=0.0000074… 0.000008=0.810-5 例3 而近似值A =3.1415,它的绝对误差是0.0000926…,有 | - A |= =0.0000926… 0.0001=0.110-3 可见,绝对误差限A不是唯一的,但A越小越好, 绝对误差限都不超过末尾数字的半个单位。
相对误差 /* relative error */ 相对误差界(限) 只用绝对误差还不能说明数的近似程度,例如甲打字每100个错一个,乙打字每1000个错一个,他们的误差都是错一个,但显然乙要准确些,这就启发我们除了要看绝对误差外,还必须顾及量的本身。 定义1.3 绝对误差与精确值x的比值 称为xA的相对误差。 称R为 的相对误差限。 当 时,相对误差没有意义。在实际计算中,精确值 往往是不知道的,所以通常把 作为 的相对误差。
例4 解 但 是 的一个好的近似, 不是 的好的近似. 结论? 俗称“好坏”、“多少”是相对的
结论 近似数的相对误差是近似数精确度的基本度量, 一个近似数 的相对误差越小,则近似数越精确。 绝对误差 是一个无量纲的数 近似数的相对误差是近似数精确度的基本度量, 一个近似数 的相对误差越小,则近似数越精确。 结论 绝对误差 是一个无量纲的数 • 通常将 作为 的相对误差。
例5 测量一木板长是954cm,问测量的相对误差界是 是多大? 解 因为实际问题中所截取的近似数,其绝对误差界一般不超过最小刻度的半个单位,所以当 时,有 ,其相对误差界为
有效数字(significant digits) 1.定义:如果绝对误差限 ,则称近似数xA 准确到了n位小数,该数位到第一个非零数字的所有数位叫做该近似数的有效数位,有效数位上的数字叫做有效数字。 问: 有几位有效数字?请证明你的结论。 例6 精确到小数点后第 4 位, 有5位有效数字.
2.有效数字的等价定义 用十进制科学计数法,记 则称 为 的具有 位有效数字的近似值。 则称 为 的具有 位有效数字的近似值。 通常在 的准确值已知的情况下,若要取有限位数的数字作为近似值,就采用四舍五入得到的近似值,其绝对误差界可以取被保留的最后数位上的半个单位。
例7. 3.142作为π的近似值时有几位有效数字 解: 3.141592…= 0.3141592…× 3.142 = 0.3142× k = 1 |π-3.142 |=|0.3141592…× -0.3142× | < 0.000041× < 0.0005= × k –n =1–n = –3 所以 n =4,具有4位有效数字
练习 k-n=-2,即 n =3 , 3位有效数字, k-n=-4 , 即 n =5 , 5位有效数字 有效数字的位数不能仅考虑
例8 但 最多有5位 有效数字 1位有效数字,即n =1 5位有效数字,即n=5 显然,近似值的有效数字位数越多,相对误差越小,反之也对。下面,我们给出相对误差界与有效数字的关系。
3. 有效数字与相对误差之间的关系 定理 设 的近似值 有(1.2.1)的表达式。 (1)如果 有 位有效数字,则 (1.2.2) 定理 设 的近似值 有(1.2.1)的表达式。 (1)如果 有 位有效数字,则 (1.2.2) 有效数字的位数 估计相对误差限 有效数字的位数越多,相对误差限就越小 则 至少具 位有效数字。 (2)如果 (1.2.3) 相对误差限越小, 有效数字的位数就越多 相对误差限估计有效数字的位数
定理 设 的近似值 有(1.2.1)的表达式。 (1)如果 有 位有效数字,则 (1.2.2) 证 由(1.2.1)可得到 (1.2.4) 所以,当 有 位有效数字时, 即(1.2.2)得证。
证 定理 设 的近似值 有(1.2.1)的表达式。 (2)如果 (1.2.3) 则 至少具 位有效数字。 由(1.2.3)和(1.2.4)有 定理 设 的近似值 有(1.2.1)的表达式。 则 至少具 位有效数字。 (2)如果 (1.2.3) 证 由(1.2.3)和(1.2.4)有 即说明 有 位有效数字,(2)得证。
例9 取3.14作为的四舍五入的近似值时,求其相对误差。 解:3.14=0.314 101 a1=3 k=1 ∵ 四舍五入的近似值,其各位都是有效数字 ∴ n=3 R=(1/2a1 )10-(n-1) =(1/2*3) 10-2=17%
例10 已知近似数xA有两位有效数字,试求其相 对误差限. 解:3.14=0.314 101 a1=3 m=1 ∵ 四舍五入的近似值,其各位都是有效数字 ∴ n=3 R=(1/2a1 )10-(n-1) =(1/2*3) 10-2=17% xA的第一位有效数字a1没有给出,可进行如下讨论: 当 a1=1 R=1/2a1 10-1=1/2*1 10-1=5% a1=9 R=1/2a1 10-1=1/2*9 10-1=0.56% 取 a1=1 时相对误差为最大,即 5%
x 例11 已知近似数 的相对误差界为0.3%,问 至少有几位有效数字? 例11 已知近似数 的相对误差界为0.3%,问 至少有几位有效数字? 解 设 有 位有效数字,由于 的第一个有效数 没有具体给定,而我们知道 一定是1,2, ,9中的一个,由 故由(1.2.3)式知 =2,即 至少有2位有效数字。 A x
注意: 已知有效数字,求相对误差用公式 已知相对误差,求具有几位有效数字公式
1.2.3 函数求值的误差估计 若 具有2阶连续导数,由Taylor展开式 1.2.3 函数求值的误差估计 对一元函数 , 自变量 x的一个近似值为 ,以 近似 ,其误差界记作 。 若 具有2阶连续导数,由Taylor展开式
其中 可以得到函数值的一个近 似误差界: 对n元函数 ,自变量 的近似值分别为 ,则有 特别地,对 有 同样,可以得到
例13 设有长为 ,宽为 的某场地。现测得 的近似值 M,d 的近似值 =90M,并已知它们的差界为 试估计该场地面积 的误差界和相对误差界。 解 这里 并且有 于是有误差界 相对误差界
它们都有三位有效数字。试计算 的误差界,并问 的计算结果能有几位有效数字? 例14 设有三个近似数 它们都有三位有效数字。试计算 的误差界,并问 的计算结果能有几位有效数字? 解 于是有误差界 相对误差界 因为 所以 能有两位有效数字。
1.2.4 计算机中数的表示和舍入误差 任意一个非零实数用(1.2.1)表示,是规格化的十进制科学记数方法。在计算机中通常采用二进制的数系(或其变形的十六进制等),并且表示成与十进制类似的规格化形式,即浮点形式 这里整数m称为阶码,用二进制表示为 或 1 , S是阶的位数。小数 称为尾数,其中 或 t是尾数部位的位数。S和t与具体的机器有关。 由于计算机的字长总是有限位的,所以计算机所能表示的数系是一个特殊的离散集合,此集合的数称为机器数。
十进制输入计算机时转换成二进制,并对 位后面的数做舍入处理, 使得尾数为 位,因此一般都有舍入误差。两个二进制数作算术运算时,对计算结果也要作类似 的舍入处理,使得尾数为 位,从而也有舍入误差。 在实现计算时,计算的最后结果与计算的精确解之间的误差,从根本上说是由机器的舍入误差造成的,包括输入数据和算术运算的舍入误差。因此有必要对计算机数的浮点表示方法和舍入误差有一个初步的了解。有时为了分析某一个计算方法可能出现的误差现象,为了适应人们的习惯,我们会采用十进制实数系统进行误差分析。