6456391 发表于 2009-2-10 14:48

如何生成一个n阶方阵,里面有30%的1和70%的0?谢谢

如题!谢谢

sogooda 发表于 2009-2-10 20:05


N=21;
b=zeros(1,N^2);
a=;
n=floor(N^2/10);
b(1:n*10)=repmat(a,1,n);
R=reshape(b,N,N);

自己再改进改进

fromhit 发表于 2009-2-16 16:14

能注释一下吗,我是初学者

[ 本帖最后由 fromhit 于 2009-2-16 16:16 编辑 ]

friendchj 发表于 2009-2-16 16:50

clear
clc
n=3;
a=zeros(n);
b=randperm(n.^2);% 对数据a下坐标随机排列
x7=fix(n.^2*0.7);
a(b(1:x7))=0;% 70%的0
a(b(x7+1:end))=1; % 30%的1
disp(a)
hehe,这样也行

ChaChing 发表于 2009-2-16 16:53

2楼的0/1是较有规律的, 若要random参考下!
N=21; Per=0.3;
b=randn(N); c=sort(b(:)); nn=round(N*N*Per); Ref=c(nn);
c=ones(N); c(find(b<=Ref))=0;
sum(c(:))/(N*N), % check

发完才发现楼上跟我有相同想法! 但LZ的比较高竿!

[ 本帖最后由 ChaChing 于 2009-2-16 16:59 编辑 ]

fromhit 发表于 2009-2-16 20:40

呵呵,看懂了,谢谢楼上的两位
页: [1]
查看完整版本: 如何生成一个n阶方阵,里面有30%的1和70%的0?谢谢