需要帮助创建一个矩阵,在不同位置的每行/每列中只有一个1

时间:2016-09-01 08:55:53

标签: matlab

此代码生成一个矩阵,每行1个,这个1可能位于行的相同位置 我希望每行1的位置必须不同,即1不得在列中重叠。

1 个答案:

答案 0 :(得分:0)

假设您希望结果矩阵的大小为 df['columnname'] = [''.join(c.split()) for c in df['columnname'].astype(str)] 首先,为每列随机选择[m, n]

的索引
1

其次,分配一个大小为idx = randi(m, 1, n);

的全零矩阵
[m,n]

最后,将相应的条目设置为:

res = zeros(m,n);

res( sub2ind([m,n], idx, 1:n) ) = 1; 矩阵的示例结果:

[3,4]