资源描述:
《多种方法计算pi并且精确度比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、多种方法计算圆周率并比较精确度【摘要】本文介绍了多种方法求圆周率的近似值并对各种方法进行精确度的比较得出具体情况选择的方法,且通过mathematica编程模拟实验过程,得出各种方法的特点。【关键字】圆周率数值积分法泰勒级数法蒙特卡罗法拉马努金公式法0.引言平面上圆的周长与直径之比是一个常数,称为圆周率,记作。在很长的一段时期,计算的值是数学上的一件重要的事情。有数学家甚至说:“历史上一个国家所得的圆周率的准确程度,可以作为衡量一个国家当时数学发展的一面旗帜。”足以见圆周率扮演的是角色是如此举足轻重。作为经常使用的数学常数,它的计算已经持续了2500多年了,到今天都依然在进行着,中间涌现
2、出许多的计算方法,它们都各有千秋,在此,我们选择几种较典型的方法,包括数值积分法,泰勒级数法,蒙特卡罗法,韦达公式法,拉马努金公式法以及迭代法来和大家一起体验的计算历程,同时利用mathematica通过对各种方法作精确度的比较得出选择的优先顺序,为相关的理论研究提供一定的参考价值。1.数值积分法以单位圆的圆心为原点建立直角坐标系,则单位圆在第一象限内的部分G是一个扇形,由曲线y=(x[0,1])及两条坐标轴围成,它的面积S=。算出了S的近似值,它的4倍就是的近似值。()用一组平行于y轴的直线x=(1in-1,a=<<<...<=b)将曲边梯形T分成n个小曲边梯形,总面积S分成这些小曲边
3、梯形的面积之和。如果取n很大,使每个小曲边梯形的宽度很小,可以将它上方的边界f(x)()近似地看作直线,将每个小曲边梯形近似当作梯形来求面积,就得到梯形公式,如果更准确一些将每个小曲边梯形的上边界近似地看作抛物线,就得到辛普森公式。梯形公式:S辛普森公式:SMathematica程序如下:n=1000;y[x_]:=4/(1+x^2);s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/(6*n);Print[{N[s1,
4、20],N[s2,20],N[Pi,30]}]注:以上s1,s2分别是用梯形共识和辛普森公式计算出的。最后一句中的N[s1,20]表示s1的前20为准确有效数字组成的近似值。N[Pi,30]是的前30位有效数字组成的近似值。Print[]语句表示将方括号内的数显示出来。再取n=5000,10000时分别算出的近似,记录入表格如下:梯形公式辛普森公式圆周率的准确值n=10003.14159248692312657183.14159265358979323853.14159265358979323846264338328n=50003.14159264692312657183.1415926
5、5358979323853.14159265358979323846264338328n=100003.14159265192312657183.14159265358979323853.14159265358979323846264338328注:下划线标记的数字为用对应方法所求得的精确到的位数。观察发现,当n的取值越大,即当[a,b]之间分的越细时,计算所得的的精确度越高。n从1000到10000,梯形公式所求得的近似值精确度增加两位,而辛普森公式所求的的近似值有效位数没有变化,可见n的变化对梯形公式影响较大。但总的而言利用辛普森公式所求得的近似值精度比用梯形公式所求得的近似值很多。
6、当要求精确度较高时,两种方法中可优先选择辛普森公式法。2.泰勒级数法利用反正切函数的泰勒级数:Arctanx=x-X=1代入上式得到莱布尼兹级数:令a=arctan,b=-a,则tanb=tan(-a)===因此b=arctan,即-arctan=atctan,从而得到=arctan+arctan即=4(arctan+arctan)令a=arctan,tana=,则容易算出tan2a=,tan4a=,Tan(4a-)===4a-=arctan=4a-arctan=4arctan-arctan即=16arctan-4arctan利用mathematica编写程序如下:T[x_,n_]:=S
7、um[(-1)^(k-1)x^(2k-1)/(2k-1),{k,1,n}]4N[T[1,1000],20]N[4(T[1/2,1000]+T[1/3,1000]),50]N[16T[1/5,1000]-4T[1/239,1000],50]N[Pi,50]注:4N[T[1,1000],20]为用的方法求解近似值,N[4(T[1/2,1000]+T[1/3,1000]),50]表示用的方法求解近似值,N[16T[1/5,1000]-4T