How to handle large numbers?
Try Ryacas. N means numerically evaluate in yacas (as we don't want it evaluated on the R side where we already know we get NaN).
library(Ryacas)
Eval(yacas("N(Exp(1000)/(Exp(1007)+5))")
[1] 0.000911882 You can explore it somewhat in R via: curve(exp(x)/(exp(x+7)+5), 1, 500)
On Wed, Feb 11, 2009 at 5:40 AM, Feng Li <840116 at gmail.com> wrote:
Dear R, I have two questions: 1, Why both R and Matlab give 0*Inf==NaN? To my knowledge, it should be zero mathematically. Am I right? 2, I need to calculate e.g. exp(a)/(exp(b)+c), where both a and b are very large numbers (>>1000, e.g a=1000, b=1007, and c=5). R gives me NaN when I use the following command:
exp(1000)/(exp(1007)+5)
[1] NaN
I am pretty sure this should be close to zero. My question is whether there
is a general way to solve this kind of question or should I do some settings
before computing?
Thanks in advance!
Feng
--
Feng Li
Department of Statistics
Stockholm University
106 91 Stockholm, Sweden
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.