how to permute all combinations of this vector??
3 views (last 30 days)
Show older comments
hello i'm struggling to write code for this problem; I want to display all possible combinations of the vectors of the form (1,b1,b2,b3,.....bN),where bi∈{0,1}
so the first entry of the vector is always 1 and the rest take the value 0 or 1. I then want to print every combination of this. How would you go about coding this ?? thanks for your help in advance
2 Comments
John D'Errico
on 3 Mar 2018
Edited: John D'Errico
on 3 Mar 2018
How large is N?
You should recognize that for large N, the solution might require billions of permutations.
Essentially, you can think of the result as the binary representations of all integers of the form
2^(N+1) + K
where K is any integer < 2^N with exactly sum(B) non-zero bits. I'm not sure that really helps a lot.
Accepted Answer
Jos (10584)
on 3 Mar 2018
This is one approach:
N = 4 ;
[b{1:N}] = ndgrid([0 1])
c = reshape(cat(N+1, ones(size(b{1})), b{:}), [], N+1)
3 Comments
More Answers (0)
See Also
Categories
Find more on Logical 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!