如何计算 的值 1、蒙特卡罗(Monte Carlo)法 思想: 取一正方形 A,以 A 的一个顶点为圆心,A 的边长为半径画圆,取四分之一圆(正方形内的四分之一圆)为扇形 B。已知 A 的面积,只要求出 B 的面积与 A 的面积之比BASkS,就能得出BS ,再由 B 的面积为圆面积的四分之一,利用公式2=SR圆即可求出 的值。因此,我们的目的就是要找出k 的值。 可以把 A 和 B 看成是由无限多个点组成,而 B 内的所有点都在 A内。随机产生n个点,若落在 B 内的有m 个点(假定 A 的边长为 1,以扇形圆心为坐标系原点。则只要使随机产生横纵坐标 x 、 y 满足221xy 的点,就是落在 B 内的点),则可近似得出k 的值,即mkn,由此就可以求出 的值。 程序(1 ): i=1;m=0;n=1000; for i=1:n a=rand(1,2); if a(1)^2+a(2)^2<=1 m=m+1; end end p=vpa(4*m/n,30) 程序运行结果: p = 3.14000000000000000000000000000 2、泰勒级数法 思想: 反正切函数arctan x的泰勒级数展开式为: 35211arctan( 1)3521kkxxxxxk 将1x 代入上式有 1111arctan11( 1)43521nn . 利用这个式子就可以求出 的值了。 程序(2 ): i=1;n=1000;s=0; for i=1:n s=s+(-1)^(i-1)/(2*i-1); end p=vpa(4*s,30) 程序运行结果: p = 3.14059265383979413499559996126 当取n的值为 10000 时,就会花费很长时间,而且精度也不是很高。原因是1x 时,arctan1的展开式收敛太慢。因此就需要找出一个 x使得arctan x收敛更快。 若取12x ,则我们只有找出 与4 的关系,才能求出 的值。 令1arctan 2 ,4, 根据公式tantantan()1tantan 有1tan3 ,则有11arctanarctan423 。 所以可以用11arctanarctan423 来计算 的值。 程序('2 ): i=1;n=1000;s=0;s1=0;s2=0; for i=1:n s1=s1+(-1)^(i-1)*(1/2)^(2*i-1)/(2*i-1); s2=s2+(-1)^(i-1)*(1/3)^(2*i-1)/(2*i-1); end s=s1+s2; p=vpa(4*s,30) 程序运行结果: p = 3.14159265358979323846264338328 显然,级数收敛越快,取同样的n 值可以得到更高的精度。以同样的方法,能得出114arctanarctan45239 ,程序和上面的一样。这样的近似值可以精确到几百位。 3、数值积分法 思想:...