[R] Numerical Integration in 1D

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Mar 7 19:51:15 CET 2008


On Fri, 7 Mar 2008, Max wrote:

> Dear UseRs,
>
> I'm curious about the derivative of n!.
>
> We know that Gamma(n+1)=n! So when on takes the derivative of
> Gamma(n+1) we get Int(ln(x)*exp(-x)*x^n,x=0..Inf).
>
> I've tried code like
>
>> integrand<-function(x) {log(x)*exp(x)*x^n}
>> integrate(integrand,lower=0,upper=Inf)
>
> It seems that R doesn't like to integrate for any n, and I was
> wondering if anyone knew a way around this?

ln(x) e^x x^n is not integrable on (0, Inf).  You presumably slipped over 
a minus sign, but your definition of gamma(n) is wrong -- see ?gamma.

integrate(function(x) exp(-x)*x^n, lower=0, upper=Inf)

will work for gamma(n+1).

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list