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