Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Monte Carlo Integration
Posted:
Sep 10, 2012 9:48 AM


"kumar vishwajeet" <kwzeet@gmail.com> wrote in message news:k2hia8$so5$1@newscl01ah.mathworks.com... > I am integrating the following function between L and U using dblquad. I > get "NaN" and a warning of singularity. F = > real(constantForM.*((xL).^(A(1)1).*(yL).^(A(2)1).*(UL((xL)+(yL))).^(A(3)1)).^2 > > where, constantForM = 3.378137617443966e038. > L = 1e7 > 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. (UL)*(UL). > 4. I get 119 as the answer. > > Which of these two methods is correct??
Your integrand isn't defined in the lowerleft 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 slord@mathworks.com To contact Technical Support use the Contact Us link on http://www.mathworks.com



