【发布时间】:2018-03-19 06:24:25
【问题描述】:
我正在重新调整一组数字,并希望避免为重新调整的数字之和得到浮点零:
x <- c(-5, 1, 8)
y <- scale(x)
sum(y)
# [1] 1.249001e-16
有没有办法解决这个问题以强制总和为零?我不关心超过小数点后三位的精度。
【问题讨论】:
-
这个总和不是已经精确到小数点后三位了吗?
-
@hpesoj626 缩放向量
y进入需要sum(y) == 0的函数。需要一些东西让我超越这个 if 语句 -
在你的函数中要求
round(sum(y), 3) == 0怎么样? -
@hpesoj626 这不是我的功能...试图避免破解其他人的代码
-
如果传递给
y的例程要求用浮点运算计算的数字之和正好为零,那么它的设计不适合浮点运算,应该是固定的。强制 y 的元素总和为零不是一个好的解决方案,因为它会增加误差。
标签: r floating-point rescale