mtlab 怎么随机产生一个每列只有一个1的0-1矩阵

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:05:35
我想随机产生一个0-1矩阵,但是要求每列只能有一个1,行不限制!谁知道怎么产生啊??
谢谢了 用MATLAB
要求每列只有且必有一个1.

clc;clear
for k=1:15
R=10;
while sum(R)~=1
R=round(rand(1,10));
end
M(:,k)=R;
sumM(:,k)=sum(M(:,k));
end
M,sumM

结果:
M =

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