how to add combinatorics function in matlab with n different objects divided into r groups and each group get at least 1 object
3 views (last 30 days)
Show older comments
I have 7 machines which I want to group in 3 cells such that each cell contain atleast 1 machine the numeric formula for this is
3^7−3⋅2^7+3=2187−3⋅(128)+3=1806
I want to generate a matrix with each combination and run loop over that. is there any way I can code this? for example the 1st array is 1 1 1 1 2 3 1 and running the 2nd time loop give another value for example 1 1 1 2 1 1 3
0 Comments
Accepted Answer
Roger Stafford
on 11 Jan 2017
C = zeros(r^n,n);
t = 0;
for k = 0:(r^n)-1
s = dec2base(k,r,n);
if length(unique(s))==r
t = t+1;
C(t,:) = s-‘0’+1;
end
end
C = C(1:t,:);
More Answers (0)
See Also
Categories
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!