How can I generate all possible combinations of a vector containing specific numbers in it?

2 views (last 30 days)
For example, consider this vector A
A = [1 1 1 0 0 0 0 0].
I need all combinations of this vector so that there are 3 ones and 5 zeros. the number of combinations is 56 here.
I tried using randperm but I'm getting repeated vectors.
Kindly help solve this

Accepted Answer

Bruno Luong
Bruno Luong on 3 Apr 2021
J=nchoosek(1:8,3);
[m,n]=size(J);
I=repmat((1:m)',1,n);
accumarray([I(:) J(:)],1)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!