[R] Graphing the Area of Definite Integral

Steven Stoline sstoline at gmail.com
Wed Dec 16 18:00:26 CET 2015


Dear William: *Left and Right Riemann Sums*


Is there is a way to modify your function to compute Left Riemann Sum and
Right Riemann Sum. I tried to modify yours, but i was not be able to make
it work correctly.

This is your function used to compute the Middle Riemann Sum.



showIntegral.med <- 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)
}



### Example 1: f(x) = x^2  , xmin=-4, xmax=4
### ===============================



showIntegral.med(f=function(x)x^2, xmin=-4, xmax=4, n=16)



with many thanks
steve

On Sat, Nov 28, 2015 at 1:11 PM, William Dunlap <wdunlap at tibco.com> wrote:

> 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 <sstoline at 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 <sstoline at gmail.com>
> wrote:
> >
> >> many thanks
> >>
> >> steve
> >>
> >> On Fri, Nov 27, 2015 at 9:20 AM, peter dalgaard <pdalgd at 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 <sstoline at 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
> >>> > sstoline at gmail.com
> >>> >
> >>> >       [[alternative HTML version deleted]]
> >>> >
> >>> > ______________________________________________
> >>> > R-help at 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.mes at cbs.dk  Priv: PDalgd at gmail.com
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >> --
> >> Steven M. Stoline
> >> 1123 Forest Avenue
> >> Portland, ME 04112
> >> sstoline at gmail.com
> >>
> >
> >
> >
> > --
> > Steven M. Stoline
> > 1123 Forest Avenue
> > Portland, ME 04112
> > sstoline at gmail.com
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at 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.
>



-- 
Steven M. Stoline
1123 Forest Avenue
Portland, ME 04112
sstoline at gmail.com

	[[alternative HTML version deleted]]



More information about the R-help mailing list