Применить пакет 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
Другие вопросы по тегам