Thanks. That works! min() function didn't vectorized but "abs( )", "pmin" or "+ /-" did.
On Tue, Feb 12, 2013 at 12:18 PM, William Dunlap <wdun...@tibco.com> wrote: > integrate() want a vectorized function, one such that > length(f(x))==length(x). > Use pmin or pmax instead of min or max. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > > > > -----Original Message----- > > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] > On Behalf > > Of dan wang > > Sent: Tuesday, February 12, 2013 7:41 AM > > To: r-help@r-project.org > > Subject: [R] integrate function > > > > Hi All, > > > > Can any one help to explain why min and max function couldn't work in the > > integrate function directly. > > > > For example, if issue following into R: > > > > integrand <- function(x) {min(1-x, x^2)} > > integrate(integrand, lower = 0, upper = 1) > > > > it will return this: > > Error in integrate(integrand, lower = 0, upper = 1) : > > evaluation of function gave a result of wrong length > > > > > > However, as min(U,V) = (U+V)/2-abs(U-V)/2 > > > > Below code working; > > > > integrand <- function(x){(1-x+x^2)/2-0.5*abs(1-x-x^2)} > > > integrate(integrand, lower = 0, upper = 1) > > 0.151639 with absolute error < 0.00011 > > > > I am confused... > > > > > > Dan > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.