Dear @ll. I have to calculate numerical integrals for triangular and trapezoidal figures. I know you can calculate the exactly, but I want to do it this way to learn how to proceed with more complicated shapes. The code I'm using is the following:
integrand<-function(x) { print(x) if(x<fx[1]) return(0) if(x>=fx[1] && x<fx[2]) return((x-fx[1])/(fx[2]-fx[1])) if(x>fx[2] && x<=fx[3]) return(1) if(x>fx[3] && x<=fx[4]) return((x-fx[4])/(fx[3]-fx[4])) if(x>fx[4]) return(0) } fx<-data[i,j,] reltol<-1e-07 integrate(Vectorize(integrand),0,1,rel.tol=reltol,subdivisions=200)$value It works for most cases, but then, I tried for the triangle fx<-[0.3,0.5,0.5,0.6] and the following error was presented: > integrate(Vectorize(integrand),0,1,rel.tol=reltol,subdivisions=200) [1] 0.5 [1] 0.01304674 [1] 0.9869533 [1] 0.06746832 [1] 0.9325317 [1] 0.1602952 [1] 0.8397048 [1] 0.2833023 [1] 0.7166977 [1] 0.4255628 [1] 0.5744372 [1] 0.002171418 [1] 0.9978286 [1] 0.03492125 [1] 0.9650787 [1] 0.1095911 [1] 0.8904089 [1] 0.2186214 [1] 0.7813786 [1] 0.3528036 [1] 0.6471964 Error in integrate(Vectorize(integrand), 0, 1, rel.tol = reltol, subdivisions = 200) : evaluation of function gave a result of wrong type Does anybody know what happened? Thanks in advance!!! ____________________________________________________________________________________ ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 ______________________________________________ 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.