how to build all binary vectors of length n whose number of its zero elements is m<n?
2 次查看(过去 30 天)
显示 更早的评论
how to build all binary vectors of length n whose number of its zero elements is m<n?
0 个评论
回答(2 个)
Image Analyst
2013-6-29
If you specify m, and want all binary vectors with length longer than m, then there is an infinite number of vectors satisfying that. For example
m = 4;
output = false(1, 7) % This one has length 7.
output = false(1, 42) % This one has length 42.
0 个评论
Roger Stafford
2013-6-29
编辑:Roger Stafford
2013-6-29
N = 0;
for k = 0:m
N = N + nchoosek(n,k);
end
A = ones(N,n);
q = 1;
for k = 1:m
p = nchoosek(1:n,k);
for r = 1:size(p,1)
q = q+1;
A(q,p(r,:)) = 0;
end
end
The n-element rows of array A have all possible combinations of ones and zeros in which there are no more than m zeros. I assumed here that m and n were fixed quantities which you specify.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!