我想对函数应用包mpfr,如下所示:
f1 =function(x) exp(x)
例如x = c(-1500, -2000, -6400, -7200)
> x = c(-1500, -2000, -6400, -7200)
> mpfr(f1(x), precBits=64)
4 'mpfr' numbers of precision 64 bits
[1] 0 0 0 0
我想得到函数f1的值,即使它很小,我怎样才能在R中得到它?
答案 0 :(得分:0)
64位不是很多。但主要是,我们很多人都犯了一个错误:f1(x)
的值已经为零,因为它是在转换为bignum之前计算的。
以这种方式尝试:
> exp(mpfr(c(-1000,-5000),200))
2 'mpfr' numbers of precision 200 bits
[1] 5.0759588975494567652918094795743369193055992828928373618323948e-435
[2] 3.3696941483089175144500323238132201679550979027292655581078801e-2172