即有效数字位数越多,则x的绝对误差与相对误差越小。
例3 已知近似数的相对误差限为0.3%,问x*至少有几位有效数字?
解 设a1是1到9之间的数字,则有
*r x 0.3%
3111 1 1
10 1010002 1022 9 12a1 1
*
设x*具有n位有效数字,令 n 1 1,则n 2,从而x*至少具有2位有效数字。
5 误差定性分析与避免误差危害
数值运算中的误差分析是个很重要而复杂的问题。一个工程或科学计算问题往往要运算千万次,由于每步运算都有误差,如果每步都做误差分析是不可能的,也不科学,因为误差积累有正有负,绝对值有大有小,按照最坏情况估计误差限得到的结果比实际误差大很多,这种保守的误差估计不反映实际误差积累。考虑到误差分布的随机性,有人用概率统计方法,将数据和运算中的舍入误差视为适合某种分布的随机变量,然后确定计算结果的误差分布,这样得到的误差估计更接近实际,这种方法称为概率分析法。
20世纪60年代以后对舍入误差估计提出了一些新方法,较重要的是威尔金森的向后误差分析法和穆尔的区间分析法。但都不是十分有效,到目前为止舍入误差的定量估计尚无有效的分析方法,为确保数值计算的正确性通常只进行定性分析。
一个算法如果输入数据有误差,而在计算过程中舍入误差不增长,则称此算法是数值稳定的;否则称此算法是不稳定的。
6 为了避免误差危害,在数值计算中应注意的一些问题:
(1)要使用数值稳定的计算公式; (2)要避免两个相近的数相减;
(3)要避免除数的绝对值远小于被除数的绝对值; (4)要防止大数“吃掉”小数的现象; (5)要尽量简化计算步骤,减小运算次数。
三、数值计算中算法的设计