使用MATLAB估算Pi的值

时间:2010-10-25 03:24:47

标签: matlab

我不知道从哪里开始解决这个问题。

似乎UGA的数学系再次放弃了球,忘记了pi的价值。您将编写一个名为mypi的函数,该函数使用一个数字来指定所需的精度,并将pi的值近似为该精度。您将根据几何概率使用以下算法。

考虑在一个正方形内部的四分之一圆(四分之一圆具有面积pi / 4)。你在广场内选择一个随机点。如果它在四分之一圆圈中,你得到一个“命中”,如果没有,你得到一个“未命中”。四分之一圆的大致面积将由命中数除以您选择的点数给出。

您的功能应重复计算命中和未命中的过程,直到至少进行10,000次尝试,并且pi的连续估计值在规定的准确度内。它应该返回pi的估计值。

提示:1-在此问题中使用rand(...)函数。

2-考虑随机点在四分之一圆中结束的概率。您可以通过计算在四分之一圆中结束的随机点数来模拟此概率。这意味着您必须在几何上定义四分之一圆的位置,并使用一个脚本来确定方形中的随机点是否在四分之一圆的边界内。

2 个答案:

答案 0 :(得分:3)

尝试

n=1000; % number of samples
TestValues=rand(n,2); % random vectors

IsInsideCircle=0; % Empty scalar
radius=[]; % Empty scalar

%Test condition:
for i:0:n
   radius = sqrt(TestValues(i,1)^2+TestValues(i,1)^2);
   if radius < 1
       IsInsideCircle=IsInsideCircle+1;
   end
end

我忘了我的matlab语法 - 希望它错了所以你可以学习语法。基本上你创建了一组位于第一象限的随机数(一个x坐标,一个y坐标)。然后检查该坐标的半径是否小于圆半径(隐式定义为1)。有帮助吗?

答案 1 :(得分:1)

如果您不理解描述 - 单位正方形的区域为1,四分之一圆区域为pi / 4。如果你在单位平方中选择随机点,那么在四分之一圆中着陆的概率就是四分之一圆的面积除以正方形的面积。

由于这是一个家庭作业问题,我不会直接回答,而是考虑如何判断一个点是否位于由四分之一圆和x和y轴定义的区域内(如同,使用大于和少于运营商)。一个简单的for循环就足以选择随机点。