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

Solution 223075

Submitted on 25 Mar 2013 by Jean-Marie SAINTHILLIER

Correct

32Size
Leading solution size is 20.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%% 1d integral: integrate x^2 from 0 to 1
fun = @(x) x^2;
assert(abs((dquad(1,fun) - 1/3)*3)<0.01)

                    
2
Pass
 
%% 2d integral from the example
fun = @(x) x(1)*x(2);
assert(abs((dquad(2,fun) - 0.25)*4)<0.01)

                    
3
Pass
 
%% constant in most dimensions
fun = @(x) 1+sin(x(1));
assert(abs((dquad(50,fun) -  1.45969769)/1.45969769)<0.01)

                    
4
Pass
 
%% volume of d-dimensional 2^d box with a spherical hole, d between 5 and 10
d = randi([5 10],1)
r = rand*0.8
fun = @(x) 2^d*(norm(x)>r);
dball = exp(d/2*log(pi)+d*log(r)-gammaln(d/2+1));
assert(abs((dquad(d,fun) - 2^d+dball)/(2^d-dball))<0.01)
d =
     8
r =
    0.6640