数学建模社区-数学中国

标题: 问题 [打印本页]

作者: alec26    时间: 2008-2-20 04:18
标题: 问题
我想编求随机数矩阵里大于0.5的元素个数。不知道哪错了
a=rand(10);
b=a>0.5;
c=0;d=1;
for
b(d)=1;
c=c+1;
d=d+1;
end
c

作者: liwenhui    时间: 2008-2-20 10:27

你试试我下面这个程序:

b1=rand(10)
[a1,a2]=size(b1);
b2=[];
for i1=1:a1;
for i2=1:a2;
if b1(i1,i2)>0.5
b2=b1(i1,i2)
end
end
end


作者: liwenhui    时间: 2008-2-20 10:38

我又试了一下,可以显示结果,但上面的程序显示的结果好像不是很方便看,加入一个控制变量i3后你在看看它是不是你要求的结果。附件里是与程序相同的M文件,顺便说一下,你在提问时最好把问题的题目写清楚点,不要只是“问题”两个字,这样不方便别人在搜索引擎上查找类似问题。

程序如下:b1=rand(10)
[a1,a2]=size(b1);
b2=[];
i3=1;
for i1=1:a1;
for i2=1:a2;
if b1(i1,i2)>0.5;
b2(1,i3)=b1(i1,i2);
i3=i3+1;
end
end
end
b2,i3-1



& ~1 W6 b$ X7 Y3 u2 Z



7 N' S' @# C! u; H9 x) O

[attach]4016[/attach]
' ~ l; S6 L. ?: x7 Y: H0 a. j
[此贴子已经被作者于2008-2-20 10:42:28编辑过]

tiqu.rar.rar

208 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

tiqu.rar


作者: alec26    时间: 2008-2-20 12:42
好的,谢谢~
作者: lzh0601    时间: 2008-4-19 23:19

我来个更简洁的

a=rand(n);

b=find(a>0.5);

c=length(b);


作者: lzh0601    时间: 2008-4-19 23:19

或者直接写成:

length(find(rand(10)>0.5))

还要简单些






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5