声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1565|回复: 5

[综合讨论] 如何生成一个n阶方阵,里面有30%的1和70%的0?谢谢

[复制链接]
发表于 2009-2-10 14:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题!谢谢
回复
分享到:

使用道具 举报

发表于 2009-2-10 20:05 | 显示全部楼层

  1. N=21;
  2. b=zeros(1,N^2);
  3. a=[zeros(1,3),ones(1,7)];
  4. n=floor(N^2/10);
  5. b(1:n*10)=repmat(a,1,n);
  6. R=reshape(b,N,N);
复制代码

自己再改进改进

评分

1

查看全部评分

发表于 2009-2-16 16:14 | 显示全部楼层
能注释一下吗,我是初学者

[ 本帖最后由 fromhit 于 2009-2-16 16:16 编辑 ]
发表于 2009-2-16 16:50 | 显示全部楼层
  1. clear
  2. clc
  3. n=3;
  4. a=zeros(n);
  5. b=randperm(n.^2);% 对数据a下坐标随机排列
  6. x7=fix(n.^2*0.7);
  7. a(b(1:x7))=0;% 70%的0
  8. a(b(x7+1:end))=1; % 30%的1
  9. disp(a)
复制代码

hehe,这样也行

评分

1

查看全部评分

发表于 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 编辑 ]
发表于 2009-2-16 20:40 | 显示全部楼层
呵呵,看懂了,谢谢楼上的两位
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 21:28 , Processed in 0.058181 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表