我无法以足够的精度计算向量的平均值。我当前的解决方案有效,但速度很慢并且性能不可预测:
mean_sum = mean = math.fsum(values) / n
值 = 值 - 平均值
平均值 = math.fsum(values) / n
而 np.abs(mean) > np.finfo(np.float32).eps:
值 = 值 - 平均值
mean_sum += 均值
平均值 = math.fsum(values) / n
返回均值和,值
有没有更好的办法?
编辑:所有值都是非负的。所需的精度由下式定义
np.finfo(np.float32).eps
作为结果系列的平均值。我对代码进行了一些编辑以使其更清晰。