黔南民族师范学院数学系 数学实验
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 -