蒙特卡洛法是一种非常重要的数值计算方法。
对于边长为2的正方形、半径为1的圆,在正方形内随机投掷大小可忽略不计的点,设落在圆内的概率为P,则有P=π/4。
对于投掷点的个数n,当n趋近于无穷时,可
以计算圆周率的值。
下面使用matlab编写源程序。
s=0;
n=10^7;
for i=1:n
x=rand(1);
y=rand(1);
if x*x+y*y <= 1
s=s+1;
end
end
pi=s/n*4
结果:
对于边长为2的正方形、半径为1的圆,在正方形内随机投掷大小可忽略不计的点,设落在圆内的概率为P,则有P=π/4。
对于投掷点的个数n,当n趋近于无穷时,可
以计算圆周率的值。
下面使用matlab编写源程序。
s=0;
n=10^7;
for i=1:n
x=rand(1);
y=rand(1);
if x*x+y*y <= 1
s=s+1;
end
end
pi=s/n*4
结果: