Your right <- (1:n)*dx mean that your leftmost rectangle's left edge is at 0, but you want it to be at -4. You should turn this into a function so you don't have to remember how the variables in your code depend on one another. E.g.,
showIntegral <- function (f, xmin, xmax, n = 16) { curve(f(x), from = xmin, to = xmax, lwd = 2, col = "blue") abline(h = 0) dx <- (xmax - xmin)/n right <- xmin + (1:n) * dx left <- right - dx mid <- right - dx/2 fm <- f(mid) rect(left, 0, right, fm, density = 20, border = "red") points(mid, fm, col = "red", cex = 1.25, pch = 19) sum(fm * dx) } > showIntegral(f=function(x)x^2, xmin=-4, xmax=4, n=16) [1] 42.5 > showIntegral(f=function(x)x^2, xmin=-4, xmax=4, n=256) [1] 42.66602 > showIntegral(f=function(x)x^2, xmin=-4, xmax=4, n=1024) [1] 42.66663 > 2*4^3/3 [1] 42.66667 > showIntegral Bill Dunlap TIBCO Software wdunlap tibco.com On Fri, Nov 27, 2015 at 9:50 PM, Steven Stoline <sstol...@gmail.com> wrote: > Dear Peter: in my previous email I forgot to reply to the list too > > I used your code for more than one examples, and it works nicely. But when > I tried to use for the the function: f(x) = x^2, it looks like I am missing > something, but I could not figured it out. > > This what I used: > > > > f <- function(x) x^2 > > curve(f(x), from=-4, to=4, lwd=2, col="blue") > abline(h=0) > n <- 16 > dx <- 8/n > right <- (1:n)*dx > left <- right - dx > mid <- right - dx/2 > fm <- f(mid) > rect(left,0,right,fm, density = 20, border = "red") > points(mid, fm, col = "red", cex = 1.25, pch=19) > sum(fm*dx) > > > > 1/3 * (64+64) > > > > with many thanks > steve > > On Fri, Nov 27, 2015 at 3:36 PM, Steven Stoline <sstol...@gmail.com> wrote: > >> many thanks >> >> steve >> >> On Fri, Nov 27, 2015 at 9:20 AM, peter dalgaard <pda...@gmail.com> wrote: >> >>> Something like this? >>> >>> f <- function(x) x^3-2*x >>> curve(f(x), from=0, to=4) >>> abline(h=0) >>> n <- 16 >>> dx <- 4/n >>> right <- (1:n)*dx >>> left <- right - dx >>> mid <- right - dx/2 >>> fm <- f(mid) >>> points(mid, fm) >>> rect(left,0,right,fm) >>> >>> sum(fm*dx) >>> >>> 1/4 * 4^4 - 4^2 >>> >>> >>> -pd >>> >>> >>> On 27 Nov 2015, at 13:52 , Steven Stoline <sstol...@gmail.com> wrote: >>> >>> > Dear All: >>> > >>> > I am trying to explain to my students how to calculate the definite >>> > integral using the Riemann sum. Can someone help me to graph the area >>> under >>> > the curve of the function, showing the curve as well as the rectangles >>> > between 0 and 4.. >>> > >>> > *f(x) = x^3 - 2*x * >>> > >>> > over the interval [0 , 4] >>> > >>> > >>> > >>> > with many thanks >>> > steve >>> > >>> > -- >>> > Steven M. Stoline >>> > 1123 Forest Avenue >>> > Portland, ME 04112 >>> > sstol...@gmail.com >>> > >>> > [[alternative HTML version deleted]] >>> > >>> > ______________________________________________ >>> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> > 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. >>> >>> -- >>> Peter Dalgaard, Professor, >>> Center for Statistics, Copenhagen Business School >>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark >>> Phone: (+45)38153501 >>> Office: A 4.23 >>> Email: pd....@cbs.dk Priv: pda...@gmail.com >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> >> >> -- >> Steven M. Stoline >> 1123 Forest Avenue >> Portland, ME 04112 >> sstol...@gmail.com >> > > > > -- > Steven M. Stoline > 1123 Forest Avenue > Portland, ME 04112 > sstol...@gmail.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.