In this exercise, we compute the double integral of the function
f(x,y) = ( 1+ x e-y3)1/2
over the rectangle [0,1] x [0,1]. There is no expression using known functions
and numbers to get the answer, but we do it numerically: |
1) Find a Riemann Sum with dx=1/M, dy =1/M, where M is an integer like 100. Call this sum "RiemannSum".
2) Find a Monte Carlo Sum by choosing two random numbers x,y in [0,1] and compute the mean f(x,y) over 10'000 experiments. Call this average of random variables "MonteCarlo".
3) Find a numerical integral on the square [0,1] x [0,1]. Call this integral "Numerical"
4) Find the fraction |RiemannSum-Numerical|/|MonteCarlo-Numerical| This tells us by which factor the Riemann Sum error is larger than the Monte Carlo Sum error. To get full credit, we need to have the Mathematica lines and the numerical answers. Below is Mathematica sample code for f(x,y) = exp(x*y) + sqrt(x): Note that all built in functions like Exp[x]=E^x are capitalized.
1) Take M=6 and add the sum of M2=36 numbers
RiemannSum = [ f(1/M,1/M) + f(2/M,1/M) + ....+ f(M/M,M/M) ]/M2This number "RiemannSum" is a Riemann approximation of the integral.
2) Now use a random number generator to generate 36 random numbers x(i),y(i) in the interval [0,1]. Then produce the average:
MonteCarlo = [f(x(1),y(1)) + ... + f(x(36),y(36))]/36You can do this with a friend. One generates random numbers, the other punches in the numbers.
3) Finally, use the integrator in the calculator to find the integral
Numerical = integrate f(x,y) , (x,0,1), (y,0,1)on the interval [0,1] x [0,1].
4) Find |RiemannSum-Numerical|/|MonteCarlo-Numerical| as before