How can I generate a binary matrix with a condition on the rows and columns?

1 次查看(过去 30 天)
Hello everyone!
i have a matrix (M,N)
i want to fill it with "0" and "1" values under the following condition : sum in each row equal to 1 and the sum of each colomun equal to k
this is an example of the required result , which k=2
1 0 0 0 0
1 0 0 0 0
0 1 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 1 0
0 0 0 0 1
0 0 0 0 1
Would you please help me ?

采纳的回答

Walter Roberson
Walter Roberson 2022-8-18
M = 10; N = 5;
k = 2;
if M ~= N * k
error('inconsistent sizes, would not be able to create a matrix with the required properties')
end
output = repelem(eye(N), k, 1)
output = 10×5
1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by