On Mar 4, 2011, at 6:01 PM, santiagorf wrote:

I'm having a function of the form

1> f<-function(x){
1+
1+    return(x^p)
1+
1+ }

,and I would like to integrate it with respect to x, where p should be any
constant.

One way would be to set a value for p globally and then call integrate
function:
p=2
integrate(f, lower = -1, upper = 1)

However, I would like to use 'integrate' inside a function, so I could call
it passing p as a parameter. I tried something like this:

1> p=1
1> integral<-function(p){
1+    integrate(f, lower = -1, upper = 1)
1+
1+ }
1>
1> integral(2)
0 with absolute error < 1.1e-14

,but it doesn't work as the integral of f is evaluated with p=1 (the value of the global variable p) and not with the value of p=2 when the function
integral is called.

Functions carry with them environments in whaich they are defined.


Does anyone knows how can I solve this problem?


Build `f` to have two parameters.

--
David

Thanks in advance
santiagorf



--
View this message in context: 
http://r.789695.n4.nabble.com/integrate-a-fuction-tp3336066p3336066.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@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.

Reply via email to