盒子大小为1时,将模拟集中在[0.5,0.5,0.5]中是不是一个缺陷?

Vin*_*ent 6 c++ floating-point precision floating-accuracy numerical-methods

我是一名数字物理学家,我在社区中看到了一些模拟代码,这些代码使用的是一个三维模拟框,其中心位于中心,[0.5, 0.5, 0.5]标准化长度为1(因此框坐标从中0.1.).在此框中,执行了许多物理计算,通常需要尽可能高的精度.

我认为做这样的事情可以被视为一种缺陷,但我想得到确认.我倾向于认为这是一个缺陷,因为由于我们附近有更多的数值精度0.,所以在整个方框中数值精度没有很好地平衡.

为了获得良好的平衡,我认为这样一个盒子:

  • 如果想要围绕盒子中心的对称精度,应该以0.(从-0.50.5)为中心
  • 如果想要在整个盒子中获得准同质精度,那么应该以1.5(从1.2.)为中心

我是正确还是完全错误?

Sti*_*sis 7

你是对的.

从表面到1.0到2.0的精度将是均匀的,就像使用固定点一样.

从-0.5到0.5的精度在中心点附近最高,在边缘附近较低(但仍然非常好).

从0.0到1.0的精度在(0.0,0.0)角附近最高,而在(1.0,1.0)角附近最低,因此它的行为会略微不均匀.