如何在不获得0的情况下将多个小数相乘?

时间:2014-02-25 00:24:45

标签: r math

例如,

Reduce("*",rnorm(100,mean=0,sd=.0001))

通常会得到0.如何获得乘法运算的实际值,无论它有多小(例如1e-10000000)?

乘以常数是一种解决方案,但我正在寻找实际值。

2 个答案:

答案 0 :(得分:1)

http://cran.r-project.org/web/packages/Rmpfr/vignettes/Rmpfr-pkg.pdf

这个包应该有所帮助。您可以定义准确性。

如果您无法弄明白:

test <- mpfr(rnorm(100,mean=0,sd=.0001), 240)

Reduce("*", test)

答案 1 :(得分:0)

您可以通过添加数字的对数而不是将它们相乘来避免下溢一段时间。

这仅适用于正数,因此您必须拆分标志并将其保留在一些额外的产品中。

最后你必须计算指数,在那里最好首先从对数之和中提取10的幂。

但我不知道如何制定减少。