[Rd] integrate function (PR#9557)
Thomas Lumley
tlumley at u.washington.edu
Mon Mar 12 19:23:37 CET 2007
This is what numerical integration functions are like, unfortunately.
That's why the help page says:
"Like all numerical integration routines, these evaluate the function on a
finite set of points. If the function is approximately constant (in
particular, zero) over nearly all its range it is possible that the
result and error estimate may be seriously wrong."
If you know anything about where the function has jumps you can use this
knowledge to pick better intervals. Changing the subdvisions argument has
no effect, since this is the *maximum* number, not the minimum number.
I don't think we know of numerical quadrature routines that are uniformly
better than these and GPL-compatible.
-thomas
On Thu, 8 Mar 2007, Bert.DeBoeck at Ugent.be wrote:
> Full_Name: Bert De Boeck
> Version: R 2.2.0
> OS: Windows
> Submission from: (NULL) (157.193.193.152)
>
>
> I think there is a bug when using integrate for integrating a function which is
> 0 in a whole sub-interval. For example:
>
> #define uniform function
> f<-function(x){ifelse(x<1,0,ifelse(x<3,1,0))}
>
> #this is the correct integral
> integrate(f,-10,10)
>
> #here there is a problem
> integrate(f,-50,50)
> integrate(f,-10,50)
> integrate(f,-50,10)
> integrate(f,-50,50,sub=10000)
>
> # I noticed this for a more complex function, but as you see even for a trivial
>
> # function there is a serious problem
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
Thomas Lumley Assoc. Professor, Biostatistics
tlumley at u.washington.edu University of Washington, Seattle
More information about the R-devel
mailing list