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.
Dear Bill: It looks great. many thanks *one more quick help:* how to graph only the x and y axis crossing through the origin, with xlim=c(-1,1,0.2) and ylim=c(0,1,0.2)? 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]]
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]]
showIntegral <- function (f, xmin, xmax, n = 16, fractionFromLeft = 0.5)
{
stopifnot(fractionFromLeft >= 0, fractionFromLeft <= 1, n >
1)
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 * (1 - fractionFromLeft)
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(function(x)1/x, 1, 4, n=3) - sum(1/(0.5 + (1:3)))
[1] 0> showIntegral(function(x)1/x, 1, 4, n=3, fractionFromLeft=0) - sum(1/(0 +
(1:3)))
[1] 0> showIntegral(function(x)1/x, 1, 4, n=3, fractionFromLeft=1) - sum(1/(1 +
(1:3)))
[1] 0
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Wed, Dec 16, 2015 at 9:00 AM, Steven Stoline <sstoline at gmail.com>
wrote:> 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
> On Dec 16, 2015, at 9:00 AM, Steven Stoline <sstoline at gmail.com> wrote: > > 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.I think it's actually Dalgaard's method.> > 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)Wouldn't it just involve skipping the 'mid' calculations and using either the right or left values? Illustration for right: showIntegral.rt <- 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 fr <- f(right) rect(left, 0, right, fr, density = 20, border = "red") points(right, fr, col = "red", cex = 1.25, pch = 19) sum(fr * dx) } You can make it prettier with plotmath: showIntegral.rt <- 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 fr <- f(right) rect(left, 0, right, fr, density = 20, border = "red") points(right, fr, col = "red", cex = 1.25, pch = 19) sum(fr * dx) text(0,10, # might want to do some adaptive positioning instead bquote( integral( .(body(f) )*dx, a, b) == .( sum(fr * dx )) ) ) } -- David.> > > > 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]] > > ______________________________________________ > 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.David Winsemius Alameda, CA, USA