generate random binary matrix under a condition

10 ビュー (過去 30 日間)
Amira Akra
Amira Akra 2015 年 3 月 13 日
回答済み: Andrei Bobrov 2015 年 3 月 13 日
I want to generate a matrix with values that are either zero or one, but the sum of elements in each column is <=1. To generate a random m by n matrix, we use x=randi([0,1],m,n), but what to add to force the sum of elements in each column be <=1...that is only single '1' element in each column.

採用された回答

Brendan Hamm
Brendan Hamm 2015 年 3 月 13 日
m = 5;
n = 6;
A = zeros(m,n);
for k = 1:n
c = randi([0,m]);
if c > 0
A(c,k) = 1;
end
end

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2015 年 3 月 13 日
x = zeros(5,7);
s = size(x);
x(sub2ind(s,randi([1 5],s(2),1),(1:s(2))')) = 1;

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by