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

Learn moreOpportunities for recent engineering grads.

Apply TodayWrite 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.

18 correct solutions
42 incorrect solutions

Last solution submitted on May 20, 2013

4 Comments