数值计算方法(第4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 误差的来源

在数值计算中,要大量地用数进行运算。这些数可以分成两类,一类是精确地反映实际情况的数,这类数称为精确数、准确数或真值,如教室里有42名学生,42就是准确数。另一类数则不是这样,它们只能近似地反映实际情况,这类数称为近似数或某准确数的近似值。例如,通过测量得到桌子的长度为956mm,一般来说,这个测量值956是不能精确反映桌子实际长度的近似值。一个数的准确值与其近似值之差称为误差。近似数是有误差的数。误差在数值计算中是不可避免的,也就是说,在数值算法中,绝大多数情况下是不存在绝对的严格和精确的,在考虑数值算法时应该能够分析误差产生的原因,并能将误差限制在许可的范围之内。

误差的来源,即产生误差的原因是多方面的,可以根据误差产生的原因对误差进行分类,下面介绍工程上最常遇到的四类误差。

定量分析客观事物时,要抓住其主要的、本质的方面,忽略其次要因素,建立已知量和未知量之间的数学关系式,即数学模型。因此,这样得到的数学模型只是客观现象的一种近似描述,而这种数学描述上的近似必然会产生误差。建立的数学模型和实际事物的差距称为模型误差或描述误差。

例如物体在重力作用下自由下落,其下落距离s与时间t满足自由落体方程

其中,g为重力加速度。该方程就是自由落体的数学模型,它忽略了空气阻力这个因素,因而由此求出的在某一时刻t的下落距离s,必然是近似的、有误差的。

在建立的各种计算公式中,通常会包括一些参数,而这些参数又往往是通过观测或实验得到的,它们与真值之间有一定的差异,这就给计算带来了一定的误差。这种误差称为观测误差或测量误差。

自由落体方程中的重力加速度g和时间t就是观测得来的。观测值的精度依赖于测量仪器的精密程度和操作仪器的人的素质等。

在数值计算方法中不研究模型误差和观测误差,总是认为数学模型正确、合理地反映了客观实际,只是对求解数学模型时产生的误差进行分析研究,求解数学模型时常遇到的误差是截断误差和舍入误差。

许多数学运算是通过极限过程来定义的,而计算机只能完成有限次的算术运算与逻辑运算。因此,实际应用时,需将解题方案加工成算术运算与逻辑运算的有限序列,即表现为无穷过程的截断,这种无穷过程用有限过程近似引起的误差,即模型的准确解与用数值算法求得的准确解之差称为截断误差或方法误差。例如,数学模型是无穷级数

在实际计算时,只能取前面的有限项(如n项)

来代替,这样就舍弃了无穷级数的后半段,因而出现了误差,这种误差就是一种截断误差。这个数学模型的截断误差是

当计算机执行算法时,由于受计算机字长的限制,参加运算的数据总是只能具有有限位的数据,原始数据在机器中的表示可能会产生误差,每一次运算又可能产生新的误差,这种误差称为舍入误差或计算误差。

例如,圆周率π=3.1415926…,=0.3333…,在计算机上表示这些数时只能用有限位小数,如对小数点后四位进行四舍五入,则3.1416-π=0.0000073…,=-0.000013…,=-0.000033…就是舍入误差。又比如计算机进行4位数乘4位数乘法运算,若乘积也只许保留4位,通常把第5位数字进行四舍五入,这时产生的误差就是舍入误差。