How to make combinations of given condition?

1 view (last 30 days)
Hi, all,
For example, if I want to make all combination of 5-dim vectors have only 2 two's, other entries are all 0. Is there a command in Matlab can do it? That is 22000 20200 20020 20002 02200 02020 02002 00220 00202 00022
Thanks.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 28 Dec 2012
Edited: Andrei Bobrov on 28 Dec 2012
k = dec2bin(0:sum(pow2(0:4)))-'0';
out = 2*k(sum(k,2) == 2,:);
  1 Comment
C Zeng
C Zeng on 28 Dec 2012
Andrei, thanks, can you explain?
Actually I want all other entries to be 1. Is there a way to do it easily?
I tried your code, it works here though not understood here. :-(

Sign in to comment.

More Answers (1)

Roger Stafford
Roger Stafford on 28 Dec 2012
This is a problem for matlab's 'nchoosek' function.

Categories

Find more on MATLAB 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!