MathGroup Archive 2004

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

Search the Archive

Re: newbie problem with NIntegrate


In article <cei8o5$2he$1 at smc.vnet.net>,
 "Xiaoxun" <dbjunxiao at hotmail.com> wrote:

> Please advices:
> 
> Geom = (200 >=x>= 100 && 50 >= y >= -50 && -20 <= z <= 20);
> gr[x_, y_, z_] := 2 /; Geom;
> gr[x_, y_, z_] := 0 /; ! (Geom);
> N[Integrate[gr[x, y, z], {x, 0, 300}, {y, -100, 100}, {z, -30, 30}]
> This gives a result of 799995.
> However, if changing the x range to {x,0,600} results 799993.
>                                 and {x,0,900} results 0;
> 
> So what could we do to ensure the right answer?

In version 5.0, load

  << Calculus`Integration`

and us Boole:

  Integrate[2 Boole[200 >=x>= 100 && 50 >= y >= -50 && -20 <= z <= 20],
     {x, 0, 300}, {y, -100, 100},   {z, -30, 30}]

  800000

The answer does not change when the upper limit of x changes.

Cheers,
Paul

-- 
Paul Abbott                                   Phone: +61 8 9380 2734
School of Physics, M013                         Fax: +61 8 9380 1014
The University of Western Australia      (CRICOS Provider No 00126G)         
35 Stirling Highway
Crawley WA 6009                      mailto:paul at physics.uwa.edu.au 
AUSTRALIA                            http://physics.uwa.edu.au/~paul


  • Prev by Date: Re: newbie problem with NIntegrate
  • Next by Date: Re: newbie problem with NIntegrate
  • Previous by thread: Re: newbie problem with NIntegrate
  • Next by thread: Re: newbie problem with NIntegrate