doraemon1144 发表于 2009-3-6 13:44

小菜鸟问大家一个问题...求pi值

Write a function
估算pi的值(计算在单位正方形的单位圆中点的数量)
然后写一个script 用iteration测试你的implementation
每次让user输入一个整数n。然后用 random function to generate a
number of random points evenly distributed inside the unit square and use the
formula
area = myPI * r^2
用以估算pi的值
我觉得意思就是比如说100个点,然后80个落在圆内,那么圆面积就是0.8
但是这些点怎么放到正方形和圆中啊
万分感谢~~

[ 本帖最后由 ChaChing 于 2009-3-7 10:21 编辑 ]

sogooda 发表于 2009-3-6 18:56

回复 楼主 doraemon1144 的帖子

要从数学的角度分析你的问题。
平面内的点在圆内,根据圆的定义就应该是到圆心的距离小于圆的半径;反之亦反。

ChaChing 发表于 2009-3-6 23:59

n=1000;
x=[-1:2/(n-1):1]; y=[-1:2/(n-1):1];
x2=x.^2; y2=y.^2;
aa=repmat(x2,n,1)+repmat(y2',1,n);
area=length(find(aa<=1))/(n*n)*4;
myPI=area/1
页: [1]
查看完整版本: 小菜鸟问大家一个问题...求pi值