Help with the equation in making groups.

2 views (last 30 days)
Portgas Ace
Portgas Ace on 30 Sep 2012
i cant think of a syntax to do this.
for example #students : 43
min number of students per group: 2 max number of students per group: 3
%there will be 13 groups with 3 members and 2 groups with 2 members.
what if min =3, max = 4?
%there will be 10 groups with 4 members and 1 group with 3.
and so on. it differs depending on the given. i cant think of a syntax for this. :/

Answers (1)

Andrei Bobrov
Andrei Bobrov on 30 Sep 2012
Edited: Andrei Bobrov on 30 Sep 2012
min1 = 2;
max1 = 3;
s = 43;
ns = fullfact(floor(s./[min1 max1]));
out = ns(find(ns*[min1 max1]' == s);
OR without fullfact
min1 = 2;
max1 = 3;
s = 43;
ns = floor(s./[min1 max1]);
[x y] = ndgrid(1:ns(1),1:ns(2));
ns1 = [x(:) y(:)];
out = ns1(ns1*[min1 max1]' == s,:);
  4 Comments
Portgas Ace
Portgas Ace on 30 Sep 2012
fullfact doesn't work in my matlab. :(

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!