主题:我想做一个10*10的矩阵,里面的所有元素都是0或1,由MATLAB随机产生
qiqik0521
[专家分:0] 发布于 2007-07-22 20:52:00
大家好初次见面我想请教大家一个问题
我想做一个10*10的矩阵,里面的所有元素都是0或1,由MATLAB随机产生
但是更深层的要求是,我希望里面的1的数量是20个相应的0的数量是80个
这个要求需要怎么达到啊
我知道c=randint(10,10)
能产生0和1的随机矩阵,但是里面的0/1的数量怎么控制啊请大家帮忙
谢谢大家
我的QQ8037450
回复列表 (共11个回复)
沙发
Guassfans [专家分:4090] 发布于 2007-07-23 12:07:00
不是很好搞
用循环 加 判断 试试!
板凳
dzdhome [专家分:50] 发布于 2007-07-23 14:03:00
n=0*ones(10,10);
m=0;
while m < 20
i=int8(rand*9+1);
j=int8(rand*9+1);
n(i,j)=1;
m=sum(sum(n));
end
3 楼
dzdhome [专家分:50] 发布于 2007-07-23 14:16:00
n=0*ones(10,10);
m=0;
while m < 20
i=ceil(rand*10);
j=ceil(rand*10);
n(i,j)=1;
m=sum(sum(n));
end
4 楼
dzdhome [专家分:50] 发布于 2007-07-23 15:34:00
n=zeros(10);
m=0;
while m < 20
i=ceil(rand*10);
j=ceil(rand*10);
n(i,j)=1;
m=sum(sum(n));
end
5 楼
rocwoods [专家分:140] 发布于 2007-07-23 17:49:00
A=zeros(10);
C=randperm(100);
A(C(1:20))=1;
6 楼
Guassfans [专家分:4090] 发布于 2007-07-24 11:40:00
[quote]A=zeros(10);
C=randperm(100);
A(C(1:20))=1;[/quote]
高人!
7 楼
dzdhome [专家分:50] 发布于 2007-07-25 14:22:00
[quote]A=zeros(10);
C=randperm(100);
A(C(1:20))=1;[/quote]
good.
8 楼
dzdhome [专家分:50] 发布于 2007-07-25 14:31:00
tic;
A=zeros(10);
C=randperm(100);
A(C(1:20))=1;
toc
Elapsed time is 0.000131 seconds.
Elapsed time is 0.000128 seconds.
Elapsed time is 0.000129 seconds.
Elapsed time is 0.000138 seconds.
Elapsed time is 0.000129 seconds.
Elapsed time is 0.000129 seconds.
Elapsed time is 0.000259 seconds.
Elapsed time is 0.000128 seconds.
Elapsed time is 0.000129 seconds.
Elapsed time is 0.000130 seconds.
平均0.000143
tic;
n=zeros(10);
m=0;
while m < 20
i=ceil(rand*10);
j=ceil(rand*10);
n(i,j)=1;
m=sum(sum(n));
end
toc
Elapsed time is 0.000105 seconds.
Elapsed time is 0.000117 seconds.
Elapsed time is 0.000103 seconds.
Elapsed time is 0.000120 seconds.
Elapsed time is 0.000116 seconds.
Elapsed time is 0.000103 seconds.
Elapsed time is 0.000108 seconds.
Elapsed time is 0.000107 seconds.
Elapsed time is 0.000111 seconds.
Elapsed time is 0.000239 seconds.
平均0.000122
9 楼
Guassfans [专家分:4090] 发布于 2007-07-25 18:31:00
8错8错!
就是不知楼主意下如何!
10 楼
hubinwi [专家分:140] 发布于 2007-07-26 02:05:00
[quote]A=zeros(10);
C=randperm(100);
A(C(1:20))=1;[/quote]
牛人啊!!!
绝对的,
我来回复