matlab 随机生成每列只有一个1 其余为0的矩阵
请教诸位一个问题,如何用matlab随机生成M*N的矩阵,矩阵的每列只有一个元素为1,其余元素为0...
请教诸位一个问题,如何用matlab 随机生成M*N的矩阵,矩阵的每列只有一个元素为1, 其余元素为0
展开
展开全部
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以先生成一个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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m=6;n=5;%6行5列
full(sparse(randint(1,n,[1,m]),1:n,1,m,n))
full(sparse(randint(1,n,[1,m]),1:n,1,m,n))
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就相当于每列生成一个随机整数,范围1~M,对应的位置位1,其余位置为0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询