数值舍入造成的误差

当步长 $\Delta x\to0$ 时,截断误差理应减小,然而这是忽略舍入误差的情况.

大多数的计算中,使用的 double 型数据为 16 字节,在数值计算中舍入造成的误差不可忽略.

考虑下面这个一阶导数的近似值

其中的 $\varepsilon(y(x),\Delta x)$ 就是估算的截断误差. 在计算机上求解时,会产生舍入误差

其中 $Y$ 是计算机给出的近似值,$e$ 是近似值与真值之间的误差值.

同时考虑 $e$ 和 $\varepsilon$ ,式 (2.1) 就可以写成

其中 $E$ 是总误差,包括了截断误差和舍入误差,即

舍入误差可以被控制,最大值为 $e_r$;截断误差也存在一个最大值,设为 $M$,从而得知最大误差

从上式可以得知一个事实:并不是步长越小计算就越精确. 当 $\Delta x\to 0$ 时,截断误差会减小,而舍入误差会增大.

用同样的方法可以计算出四阶精度情况下的最大误差

误差舍入和最佳步长

最佳步长

当误差取最小时,意味着其对步长的偏导数为 0. 对二阶精度的情况,即

可以得到最佳步长

对四阶精度的情况同样可以计算出