资源描述:
《圆周率的近似计算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二的近似计算一.实验目的1.了解的计算历程2.理解和掌握近似计算的数值积分法、蒙特卡罗(MonteCarlo)法、韦达公式、级数法、拉马努金公式、迭代法等方法的原理和过程。3.学习、掌握Mathematica和MATLAB的应用环境及其基本功能,通过一些练习掌握其基本的操作及相关命令。二.实验内容1.运用数值积分法来近似计算的值。2.利用蒙特卡罗(MonteCarlo)法来近似计算的值。3.利用韦达(VieTa)公式近似计算的值4.利用级数来近似计算:(1)莱布尼茨级数(2)欧拉级数和5.利用拉玛努金(Ranmaunujan)公
2、式来近似逼近计算值三.实验准备及过程是人们经常使用的数字常数,对的研究已经持续了2500多年,同时今天人们还在不断的探索研究进行中。一般有以下几种近似计算方法。1.数值积分法半径为1的圆称为单位圆,它的面积等于,只要计算出它的面积,计算出了。以单位圆的圆心为原点建立直角坐标系,则单位圆在第一象限内的部分是一个扇形,由曲线y=(x∈[0,1])及两条坐标轴围成,它的面积S=/4。算出了S的近似值,它的4倍就是π的近似值。(1)梯形公式设分点x1,…,xn-1将积分区间[a,b]分成n等份,即xi=a+i(b-a)/n,0≤i≤n所有的
3、曲边梯形的宽度都是h=(b-a)/n。记yi=f(xi)。则第i个曲边梯形的面积Si近似地等于梯形面积(yi-1+yi)h/2,将所有这些梯形的面积加起来就得到S≈(b-a)[y1+y2+…+yn-1+(y0+yn)/2]/n这就是梯形公式。(2)辛普森公式仍用分点xi=a+i(b-a)/n(1≤i≤n-1)将区间[a,b]分成n等份,直线x=xi(1≤i≤n-1)将曲边梯形分成n个小曲边梯形。再作每个小区间[xi-1,xi]的中点xi-1/2=a+(i-1/2)(b-a)/n。将第i个小曲边梯形的上边界y=f(x)(xi-1≤x≤
4、xi)近似地看作经过三点(x,f(x)),(x=xi,xi-1/2,xi)的抛物线段,则可求得Si≈(b-a)(yi-1+4yi-1/2+yi)/6n,其中yi-1/2=f(xi-1/2)。于是得到这就是辛普森公式。在Mathematica环境下,利用梯形公式、辛普森公式近似逼近值,具体执行指令语句和结果如下图:2.泰勒级数法利用反正切函数的泰勒级数arctanx=x-x3/3+x5/5-…(-1)k-1x2k-1/2k-1计算。在Mathematica环境下,具体执行指令语句和结果如下图:实验结果,发现花费的时间很长,所得的结果的
5、准确度却很差,其原因是由于当x=1时得到的arctan1展开式π/4=arctan1≈1-1/3+1/5-…+(-1)k-1x2k-1/2k-1+…收敛得太慢。怎样才能使泰勒级数arctanx=x-x3/3+x5/5-…(-1)k-1x2k-1/2k-1收敛地快?容易想到,应当使x的绝对值小于1,最好是远比1小,这样,随着指数的增加,x的幂快速接近于0,泰勒级数就会快速收敛。比如,取x=1/2得到arctan(1/2)的就收敛得快。3.蒙特卡罗(MonteCarlo)法在数值积分法中,我们利用求单位圆的1/4的面积来得到π/4,从而
6、得到π。单位圆的1/4是一个扇形G,它是边长为1的单位正方形G1的一部分。单位正方形G1的面积S1=1。只要能够求出扇形G的面积S在正方形G1的面积中所占的比例k=S/S1,就能立即得到S,从而得到π的值。怎样求出扇形面积在正方形面积中所占的比例k?一个办法是在正方形中随机地投入很多点,使所投的每个点落在正方形中每一个位置的机会均等,看其中有多少个点落在扇形内。将落在扇形内的点的个数m与所投点的总数n的比m/n可以作为k的近似值。在Mathematics中,产生[0,1]中内均匀分布的随机数的语句是Random[]。产生两个这样的随
7、机数x,y,则以(x,y)为坐标的点就是单位正方形内的一点P,它落在正方形内每个位置的机会均等。P落在扇形内的充分必要条件是x2+y2≤1。这样利用随机数来解决问题的数学方法称为蒙特卡罗法。在Mathematica环境下,具体执行指令语句和结果如下图:4.韦达(VieTa)公式,此公式给出了计算的精确表达式:计算的近似值。在MATLAB环境下,输入以下指令:>>x=1;>>fori=1:20ix=vpa(x*cos(pi/2^(i+1)),30);pai=vpa(2/x,22)error=vpa(pi-2/x,22)end运行结果如
8、下:i=1pai=2.828427124746190097603error=.313165528843603140860i=2pai=3.061467458920718232298error=.80125194669075006165