如何处理R中的下溢?
How to deal with underflow in R?
我想计算这个数字:
0.34911191^1157
我正在使用 R 编程语言,它 returns 我 0 (这是一个下溢问题)。我该如何解决?谢谢。
可以使用Numerical Characteristics of the Machine(.Machine {base}
)来测试结果,如下图:
> 0.34911191 ^ 10 < .Machine$double.neg.eps
[1] FALSE
> 0.34911191 ^ 1157 < .Machine$double.neg.eps
[1] TRUE
double.neg.eps
是一个小的正浮点数 x 使得 1 - x != 1.
您在找这样的东西吗?
CRAN 包 Brobdingnag
有两个小插图解释了它的用途。
library(Brobdingnag)
x <- 1157 * log(0.34911191)
y <- as.brob(x)
exp(y)
#[1] +exp(-1217.6)
exp(y) < .Machine$double.neg.eps
#[1] TRUE
我想计算这个数字: 0.34911191^1157 我正在使用 R 编程语言,它 returns 我 0 (这是一个下溢问题)。我该如何解决?谢谢。
可以使用Numerical Characteristics of the Machine(.Machine {base}
)来测试结果,如下图:
> 0.34911191 ^ 10 < .Machine$double.neg.eps
[1] FALSE
> 0.34911191 ^ 1157 < .Machine$double.neg.eps
[1] TRUE
double.neg.eps
是一个小的正浮点数 x 使得 1 - x != 1.
您在找这样的东西吗?
CRAN 包 Brobdingnag
有两个小插图解释了它的用途。
library(Brobdingnag)
x <- 1157 * log(0.34911191)
y <- as.brob(x)
exp(y)
#[1] +exp(-1217.6)
exp(y) < .Machine$double.neg.eps
#[1] TRUE