Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 179. Monte-Carlo integration

Created by Tomasz

Write a function that estimates a d-dimensional integral to at least 1% relative precision.

Inputs:

  • d: positive integer. The dimension of the integral.
  • fun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.

Output:

  • I: is the integral over fun from 0 to 1 in each direction.
     1     1        1            
     /     /        /           
 I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])
     /     /        /            
     0     0        0            

Example:

fun = @(x) x(1)*x(2)
d = 2

The result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.

The functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.

Problem Group

Solution Statistics

18 correct solutions 42 incorrect solutions
Last solution submitted on May 20, 2013

Problem Comments

Solution Comments