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 76070

Submitted on 13 Apr 2012 by @bmtran

Correct

66Size
Leading solution size is 33.
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
 
%%
pmin = 20;
pmax = 30;
d = [1 2 3 4 5];
n = [10 9 4 7 2];
p = fit_distribution(d,n,pmin,pmax)
assert(~any(p<pmin) && ~any(p>pmax))
for i = 1:length(d)
    assert(isequal(n(i), sum(rem(p,d(i))==0)))
end
p =
    28    28    24    26    24    24    20    23    28    30
2
Pass
 
%%
pmin = 1;
pmax = 50;
d = [1 3 5 7 8 9];
n = [40 14 12 6 4 1];
p = fit_distribution(d,n,pmin,pmax);
assert(~any(p<pmin) && ~any(p>pmax))
for i = 1:length(d)
    assert(isequal(n(i), sum(rem(p,d(i))==0)))
end

                    
3
Pass
 
%%
pmin = 100;
pmax = 200;
d = [1 8 9 15 22];
n = [20 2 1 0 2];
p = fit_distribution(d,n,pmin,pmax);
assert(~any(p<pmin) && ~any(p>pmax))
for i = 1:length(d)
    assert(isequal(n(i), sum(rem(p,d(i))==0)))
end

                    
4
Pass
 
%%
pmin = 5;
pmax = 37;
d = [1 10 20 3 11];
n = [60 7 1 19 5];
p = fit_distribution(d,n,pmin,pmax);
assert(~any(p<pmin) && ~any(p>pmax))
for i = 1:length(d)
    assert(isequal(n(i), sum(rem(p,d(i))==0)))
end