实验03 Π的计算 下载本文

黔南民族师范学院数学系 数学实验

s=s-1/(2*i-1)*(1/(2^(2*i-1))+1/(3^(2*i-1))); else

s=s+1/(2*i-1)*(1/(2^(2*i-1))+1/(3^(2*i-1))); end end

s=vpa(4*s,30)

分析结果:当n取20时,π的近似值可以达到14位有效数字。

三、计算π的Monte Carlo方法

原理:在一张纸上画了多条距离为d的平行线。将长度位l<=d的针多次随机地扔到纸上。若扔针次数位m,则,若针与平行线相交的次数为n,当m很大时,π=(2l/d)*(m/n).

方法及步骤:在xy平面上设A是正方形{0

实现计算的函数式M文件程序如下: 使用MATLAB,创建文件calpi4.m: function calpi4(n) m=0; for n=1:n

班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 5 -

黔南民族师范学院数学系 数学实验

if rand(1)^2+rand(1)^2<=1 m=m+1; end end s=4*m/n 运行结果:

分析结果:点数越大,收敛越好,但与π 相比还是有误差。 四、计算超越数e

(1) 使用泰勒级数的方法进行计算。

EXP(x)=n从0到无穷对(x^n/n!)进行求和, 程序如下: clc clear

format long; e=1;

n=200; for i=1:n

e=e+(1/factorial(i)); end

e 运行结果:

班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 6 -

黔南民族师范学院数学系 数学实验

(2) 使用极限求:

lim (n-->无穷)(1+1/n)^n =e 程序如下: clc clear

format long; n=10000 e=(1+1/n)^n; e

运行结果:

班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 7 -

黔南民族师范学院数学系 数学实验

五、实验总结

通过这次实验你掌握了什么,学会什么,哪些是重点掌握和加以注意的。 通过这次实验,掌握了几种π 的求法和原理方法,然后延伸到计算超越数e 。再次熟练了matlab的使用。

班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 8 -