生成具有特定行数的二进制矩阵

时间:2017-10-13 09:26:49

标签: matlab matrix binary

编辑:我还必须让每列的总和等于一个特定的数字!!

我想生成二进制NxN矩阵,使得每行包含特定数量的1而不重复行。示例:生成4x4矩阵,每行2个,并且列值的总和等于2,即生成

enter image description here

因此,每一行都是唯一的,并且恰好有2行,每列的总和为2.错误的答案是:

B =

 1     1     0     0
 1     0     1     0
 1     0     0     1
 0     1     1     0

因为第1列的总和不等于2(但是3),第4列的总和不等于2(但是1)。每列应加起来2.如何在matlab中获得正确的答案?

1 个答案:

答案 0 :(得分:1)

您可以尝试随机生成矩阵 列表p = randperm(n,k)的排列 https://fr.mathworks.com/help/matlab/ref/randperm.html?requestedDomain=www.mathworks.com

从这些行生成一个矩阵(带有循环的列表)