matlab 随机生成每列只有一个1 其余为0的矩阵
答案:4 悬赏:0 手机版
解决时间 2021-11-28 20:12
- 提问者网友:沦陷
- 2021-11-27 19:51
matlab 随机生成每列只有一个1 其余为0的矩阵
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-11-27 20:09
m=10;%行数
n=15;%列数
A=zeros(m,n); %生成全零矩阵
b=randi(m,[1 n]); %生成n个从1到m的随机整数
ind=sub2ind([m,n],b,1:n);%形成位置
A(ind)=1;%将对应位置变为1
n=15;%列数
A=zeros(m,n); %生成全零矩阵
b=randi(m,[1 n]); %生成n个从1到m的随机整数
ind=sub2ind([m,n],b,1:n);%形成位置
A(ind)=1;%将对应位置变为1
全部回答
- 1楼网友:几近狂妄
- 2021-11-27 23:03
可以先生成一个M*N的零矩阵,然后再每列随机选择某行的数赋值为1
A=zeros(M,N);
for ni=1:N
p=randperm(M);%随机排序1到M的整数
A(p(1),ni)=1;
end
A=zeros(M,N);
for ni=1:N
p=randperm(M);%随机排序1到M的整数
A(p(1),ni)=1;
end
- 2楼网友:神的生死簿
- 2021-11-27 22:24
就相当于每列生成一个随机整数,范围1~M,对应的位置位1,其余位置为0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯