matlab随机产生0-1矩阵,要求每行不同,求解,谢谢

我想产生一个随机的0-1矩阵,比如
110
101
110
111
但是这里面第一行和第三行重复了,想把第三行再重新随机一下,满足每行不一样~谢谢

第1个回答  2012-03-30
程序如下:
A=randi([101,111],4,1)
执行结果为:
>> A=randi([101,111],4,1)

A =

111
106
109
102
由于是随机产生的
第2个回答  2012-03-30
dec2bin(randperm(7),3)

思路:
0到7产生一个全排列.
然后将这8个数转成二进制。
你要的应当就是这个。
第3个回答  2012-04-05
假设要m*n的0-1矩阵
那先求集合{0,1}的n次笛卡尔幂,然后在笛卡尔积里面随机取m行就可以了
function y=fff(x)
if x>1
z=fff(x-1);
y=[ones(size(z,1),1),z;zeros(size(z,1),1),z];
else
y=[1;0];
end
%%求[1 0]笛卡尔幂的函数
m=7;
n=4;
aa=fff(n);
cc=randperm(size(aa,1));
ans1=aa(cc(1:m),:)
相似回答