Применить пакет mpfr для функции в R
Я хочу применить пакет 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?
1 ответ
Решение
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