三世清华 发表于 2013-8-27 10:59

这个程序为啥求不出pi

flag=0;
N=1000000;
x=rand(1,N)*2-1;
y=rand(1,N)*2-1;
m=sqrt(x.^2+y.^2);
if m<=1
  flag=flag+1
end
   
pai=4* (flag/N)
        
   

净心、精心 发表于 2013-8-27 12:57

m<=1   错误  m是一个矩阵   怎么能比较大小呢

袁海亮 发表于 2013-8-27 18:22

楼主 你的程序 我运行出
pai =

     0

三世清华 发表于 2013-8-28 07:55

袁海亮 发表于 2013-8-27 18:22 static/image/common/back.gif
楼主 你的程序 我运行出
pai =



         亲,答案不是pai的答案,老师显示为0,这是为啥呢?秦???

kong1234 发表于 2013-8-28 09:32

N=10000000;
x=rand(1,N)*2-1;
y=rand(1,N)*2-1;
m=sqrt(x.^2+y.^2);
f=find(m<=1);
flag=length(f);   
pai=4*(flag/N);
{:3_42:} 亲测可用

kong1234 发表于 2013-8-28 09:33

而且我发现结果也比较随机,,{:3_53:}

magic2728 发表于 2013-8-28 22:01

m应该得加上m(i),然后再循环

三世清华 发表于 2013-8-29 07:50

谢谢,非常高感谢!!!!!!!!!!!!!!

三世清华 发表于 2013-8-29 07:52

三世清华 发表于 2013-8-28 07:55 static/image/common/back.gif
亲,答案不是pai的答案,老师显示为0,这是为啥呢?秦???

亲,我也不知道,这不网上求助吗??

gaoyingbetty 发表于 2013-8-29 14:29

{:soso_e100:}
页: [1] 2
查看完整版本: 这个程序为啥求不出pi