MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NIntegrate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71425] Re: NIntegrate
  • From: "dimitris" <dimmechan at yahoo.com>
  • Date: Sat, 18 Nov 2006 04:40:57 -0500 (EST)
  • References: <ejjvm3$l6r$1@smc.vnet.net>

Thanks for Anton Antonov for its reply.


dimitris wrote:
> Clear["Global`*"]
>
> Consider the following simple function
>
> f[x_] := Exp[-5*x^2] + 1/2
>
> As far as I know the default setting for the option Method of
> NIntegrate is the Gauss-Kronrod algorithm for 1D integrals.
>
> In view of this note I can't understand the difference between the
> outputs of
>
> Reap[NIntegrate[f[x], {x, -3, 3}, Method -> Automatic,
> EvaluationMonitor :> Sow[x]]]
> Length[%[[2,1]]]
>
> and
>
> Reap[NIntegrate[f[x], {x, -3, 3}, Method -> GaussKronrod,
> EvaluationMonitor :> Sow[x]]]
> Length[%[[2,1]]]
>
>
> The following user defined functions will demostrate better the
> difference in the sampled points between the two settings of the Method
> option:
>
> NIntSampledPointsPlot[f_, {x_, a_, b_}, method_, {optsint___},
> {optsplot___}] :=
>   Block[{lst = {}}, lst = Reap[NIntegrate[f, {x, a, b}, Method ->
> method, optsint, EvaluationMonitor :> Sow[x]]];
>     ListPlot[lst[[2,1]], optsplot, PlotLabel ->
> StringJoin["method\[Rule]", ToString[method], ",  sampled points: ",
>        ToString[Length[lst[[2,1]]]], "\nestimate value: ",
> ToString[lst[[1]]]]]]
>
> NIntLinePlot[f_, {x_, a_, b_}, method_, {optsint___}, {optsplot___}] :=
>
>   Block[{lst = {}, ff}, ff = Function[{x}, f]; lst = Reap[NIntegrate[f,
> {x, a, b}, Method -> method, optsint,
>        EvaluationMonitor :> Sow[x]]]; Show[(Graphics[{Red, Line[{{#1,
> 0}, {#1, ff[#1]}}]}] & ) /@ lst[[2,1]], optsplot]]
>
> Then
>
> (NIntSampledPointsPlot[f[x], {x, -3, 3}, #1, {PrecisionGoal -> 20,
> WorkingPrecision -> 30},
>     {ImageSize -> 600, PlotStyle -> PointSize[0.01], Frame -> {True,
> True, False, False},
>      TextStyle -> {FontFamily -> "Times"}}] & ) /@ {GaussKronrod,
> Automatic}
> (*plot to be displayed*)
>
> Show[GraphicsArray[(NIntLinePlot[Exp[-5*x^2] + 1/2, {x, -3, 3}, #1, {},
> {Frame -> True, DisplayFunction -> Identity,
>        PlotLabel -> ToString[#1]}] & ) /@ {Automatic, GaussKronrod}],
> ImageSize -> 800]
> (*plot to be displayed*)
> 
> 
> Thanks in advance
> Dimitris


  • Prev by Date: Re: will someone explain the behavior of Unevaluated in this example?
  • Next by Date: Re: Non linear system solving
  • Previous by thread: NIntegrate
  • Next by thread: Re: NIntegrate