Monte-Carlo integration - MATLAB Cody - MATLAB Central

Problem 179. Monte-Carlo integration

Difficulty:Rate

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.

Solution Stats

22.46% Correct | 77.54% Incorrect
Last Solution submitted on Jan 16, 2025

Problem Comments

Solution Comments

Show comments

Group

Randomness Image
Randomness
  • 11 Problems
  • 19 Finishers

Problem Recent Solvers112

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Go to top of page