Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Monte Carlo Integration
Replies: 1   Last Post: Sep 10, 2012 9:48 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Steven Lord

Posts: 17,944
Registered: 12/7/04
Re: Monte Carlo Integration
Posted: Sep 10, 2012 9:48 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"kumar vishwajeet" <kwzeet@gmail.com> wrote in message
> I am integrating the following function between L and U using dblquad. I
> get "NaN" and a warning of singularity. F =
> real(constantForM.*((x-L).^(A(1)-1).*(y-L).^(A(2)-1).*(U-L-((x-L)+(y-L))).^(A(3)-1)).^2
> where, constantForM = 3.378137617443966e-038.
> L = 1e-7
> U = 3.2e5
> A = [3.75 0.25 0.02]
> In order to check for singularity, I generated 1e6 points between L and U
> and evaluated F at each of the points. I get a sharp peak(singularity) at
> halfway. But the value at that point is still less than 1. In fact the
> maximum value of F along these points is 0.00116 and minimum is close to
> zero. Then why do I get NaN??

When y = L (assuming you're integrating over the square [L, U] x [L, U] the
middle term in your integrand is 0^(A(2)-1) = 0^(-0.75). That's Inf.
If x is also equal to L, the first term in the product is 0^(2.75) = 0. Then
0*Inf = NaN and once one NaN value creeps into a calculation, it propagates.

> Another thing:
> I used Monte Carlo Integration using the following method:
> 1. Evaluated F at all 1e6 points.
> 2. Found the average of all those values.
> 3. Multiplied by the volume i.e. (U-L)*(U-L).
> 4. I get 119 as the answer.
> Which of these two methods is correct??

Your integrand isn't defined in the lower-left corner of your region of
integration, if my assumption about your region of integration is correct.
Therefore I'd say the NaN result you received is correct.

Steve Lord
To contact Technical Support use the Contact Us link on

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum 1994-2015. All Rights Reserved.