【发布时间】:2017-01-03 20:25:10
【问题描述】:
我想用MATLAB生成一个满足条件的随机二进制矩阵A(n x m):
每一行包含一个值为1 的位置。其他职位是价值0。具有1 值的位置是随机位置。
我试过这段代码
n=5;m=10;
%% A = randi([0 1], n,m);
A=zeros(n,m);
for i=1:n
rand_pos=randperm(m);
pos_one=rand_pos(1); % random possition of 1 value
A(i,pos_one)=1;
end
对吗?
【问题讨论】:
-
正确吗?嗯,你试过运行它吗?
-
我运行它,它给了我一个随机二进制矩阵,如上条件。我不确定我的代码是否正确
-
我运行它,它满足每个 row 包含一个值为 1 的位置的条件。
-
是的。我可能在行和列之间搞错了