m=5;n=6;%5行6列
A=sparse(m,n);
for k=1:m
temp=randperm(n);
A(k,temp==1)=1;
A(k,temp==2)=-1;
end
每行随机有两个不为0,一个为1,一个-1,先随机分配这两个数在行的位置,然后随机分配1和-1。然后将矩阵转换为稀疏矩阵,代码为
clear;m=6,n=5 %m×n的矩阵,大小你自定
A=zeros(m,n);
for i=1:m
a=[0 0];
while a(1)==a(2)
a=round(random('unif',1,n,1,2));
end
b=round(round(rand)-0.5);
A(i,a)=[b,-b];
end
B = sparse(A);
greatdiu的代码很直观!ranperm太好用了,学习了。。。