浮点数x的相对舍入误差定义为
e_r = |(round(x)-x)/ x | = |轮(x)/ x-1 | (1)
假设round(x)
使用四舍五入到最接近的模式,则绝对四舍五入误差|round(x) - x|
将小于0.5 ulp(x)
,其中ulp
是单位最后一个地方
ulp = 2 ^ E * epsilon
,E是x
的指数,epsilon
是机器精度epsilon=2^-(p-1)
,p
是精度(单精度为24,双精度为53精确的IEEE格式)。
使用此值,可以表示任意实数x的相对误差
e_r = |(round(x)-x)/ x | = |(round(x)-x)| / | x | <| 0.5 * 2 ^ E * 2 ^-(p-1)| / | 2 ^ E | <0.5ε
问题是,对于非规范化数字0 < x < 2^Em
,其中Em
是最小指数(单精度为-126,双精度为-1022),
0 舍入始终为0! 如果 e_r = |(0-x)/ x | = | 1 | ! 如何计算此类数字的相对误差?相对误差甚至应该用于四舍五入到round(x)
为0,则乘以(1)0
的数字吗?
答案 0 :(得分:0)
当一个运算的精确数学结果为非零,并且计算机为该运算提供的最终结果为零时,相对误差为100%。
公式 e r = |(0- x )/ x | = | 1 |,其中 x 不为零,可以正确表示这一点。
关于“相对误差是否应四舍五入为0
的数字?”问题,相对误差作为度量的适用性取决于应用程序。如果交付的结果丢失了对应用程序有用的所有信息,则相对误差为100%。如果传递的结果对应用程序有一定用处,因为知道结果较小而其他结果较大则可能很有用,则相对误差可能无关紧要。如果没有有关该应用程序的更多信息,则无法提供具体答案。