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

3 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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!