实验二怎样计算Pi

  • 格式:doc
  • 大小:334.00 KB
  • 文档页数:13

.

Word 资料

.

Word 资料 学院:数学与统计学院

班级:数学与应用数学3班

学号:201370010314

姓名:康萍

时间:2016.04.05

实验二 怎样计算

一、实验目的

分别用下列三种方法计算的近似值,并比较三种方法的精确度:

数值积分法:通过使用Mathematica7.0编写梯形公式和辛普森公式的程序语言计算。

泰勒级数法:利用反正切函数泰勒级数计算。

蒙特卡罗(Monte Carlo)法:通过使用Mathematica7.0编写蒙特卡罗公式的程序语言来计算。

二、实验环境

基于Windows环境下的Mathematica7.0软件。

三、实验的基本理论和方法

1、数值积分法

以单位圆的圆心为原点建立直角坐标系,则单位圆在第一象限内的部分G是一个扇形,由曲线])1,0[(12xxy及两条坐标轴围成,它的面积4S。算出了S的近似值,它的4倍就是的近似值。而扇形面积S实际上就是定积分

41102dxx。

与有关的定积分有很多,比如211x的定积分411102dxx就比21x的

.

Word 资料 定积分更容易计算,更适合于用来计算。

一般地,要计算定积分dxxfba,也就是计算曲线xfy与直线bxaxy,,0所围成的曲边梯形G的面积S。为此,用一组平行于y轴的直线bxxxxxanixxnni1210,11将曲边梯形T分成n个小曲边梯形,总面积S分成这些小曲边梯形的面积之和。如果取n很大,使每个小曲边梯形的宽度都很小,可以将它上方的边界iixxxxf1近似的看作直线段,将每个小曲边梯形近似的看作梯形来求面积,就得到梯形公式。如果更准确些,将每个小曲边梯形的上边界近似的看作抛物线段,就得到辛普森公式。具体公式如下:

梯形公式 设分点11,,nxx将积分区间],[ba分成n等份,即ninabiaxi0,/。所有的曲边梯形的宽度都是nabh/。记iixfy

则第i个曲边梯形的面积iS近似的等于梯形面积hyyii121。将所有这些梯形面积加起来就得到

20121nnyyyyynbaS

这就是梯形公式。

辛普森公式 仍用分点11ninabiaxi将区间ba,分成n等份,直线11nixxi将曲边梯形分成n个小曲边梯形。再做每个小区间iixx,1的中点nabiaxi2121。将第i个小曲边梯形的上边界iixxxxfy1近似的看作经过三点iiixxxxxfx,,,211的抛物线段,则可求得

iiiiyyynabS21146

.

Word 资料 其中2121iixfy,于是得到

2123211210426nnnyyyyyyyynabS

这就是辛普森公式。

2、泰勒级数法

利用反正切函数的泰勒级数

12153arctan12153kxxxxxkk

当x的绝对值小于1,最好是远小于1,这样,随着指数的增加,x的幂快速接近于0,泰勒级数就会很快收敛,比如,取21x得到的21arctan就收敛的快,在

121321121121312121arctannnn

中取6312n得到的21arctan的近似值的误差就小于6521,准确度度已经非常高了。我们并不知道21arctan是的多少倍,但是却能计算出21arctan与4相差多少。记4,21arctan,则

312111211tan4tan1tan4tan4tantan

因此31arctan,即31arctan21arctan4,从而得到

31arctan21arctan4 (1)

31arctan比41arctan收敛得更快。利用泰勒级数计算出21arctan与31arctan的近似值再相加,然后再乘以4,就得到的近似值。

还可以考虑用51arctan来计算,它收敛的更快。由51易算出

1191204tan,1252tan

.

Word 资料 2391119120111191204tan4tan14tan4tan44tan

2391arctan44

从而得到

2391arctan51arctan42391arctan44

即 2391arctan451arctan16 (2)

称为Maqin公式,利用xarctan的泰勒展开式求出2391tan,51arctanrac的近似值,再代入Maqin公式就可以求出的近似值。

由于是通过计算2391,51,31,21arctanxx等算出来的,只要计算这些xarctan的近似值到足够的精确度,就能保证所得到的的近似值到足够的精确度,我们是通过计算

12131213nxxxxTnnn

来得到xarctan的近似值的。当10x时,这个近似值的误差为

12arctan12nxxTxenn

3、蒙特卡罗(Monte Carlo)法

在数值积分中,我们利用求单位圆面积的41来得到4,从而得到,单位圆的41是一个扇形G,它是边长为1的单位正方形1G的一部分,单位正方形1G的面积11S。只要能够求出扇形G的面积在正方形1G的面积1S中所占的比例1SSk,就能立即得到S,从而得到的值。

为了求出扇形面积在正方形面积中所占的比例k,一个办法是在正方形中随

.

Word 资料 机的投入很多点,使所投的每个点落在正方形每一个位置的机会均等,看其中有多少个点落在扇形内。将落在扇形内的点的个数m与所投点的总数n的比nm可以看作k的近似值。

而任何一种计算机语言都有这样的语言可以实现这样的随机点,能够产生在区间1,0内均匀分布的随机数。在Mathematica中,产生区间1,0内均匀分布的随机数的语句是 Random[]

产生两个这样的随机数x,y,则以(x,y)为坐标的点就是单位正方形内的一点P,它落在正方形内每个点的机会均等。P落在扇形内的充分必要条件是

122yx。

这样利用随机数来解决问题的数学方法称为蒙特卡罗法。

四、实验内容与步骤及得到的结果分析

实验1 数值积分计算

1、实验内容

分别取n=5000,n=6000,n=1000,用梯形公式和辛普森公式计算dxx10214的近似值,取20位有效数字,将所得的结果与进行比较。

2、实验步骤

在Mathematica中输入语句如下:

.

Word 资料

3、实验结果

4、结果分析

三次实验结果所得的第一个数字是利用梯形公式计算出的,结果保留了20位有效数字,实验结果所得的第二个数字是利用辛普森公式计算出的,结果保留了30位有效数字,第三个结果是的前30位有效数字组成的近似值。而且随着n取值的增大,的精确度也随之不断增高。

实验2 泰勒级数法计算

1、实验内容

利用反正切函数的泰勒级数:

12153arctan12153kxxxxxkk

.

Word 资料 计算,分别将2391,51,31,21xxxx代入上面的级数,并分别对n取值为n=5000,n=20000,n=40000计算的值,观察所得的结果和所花的时间。

2、实验步骤

在Mathematica中输入语句如下

3、实验结果

.

Word 资料

4、结果分析

在第一个实验结果中,0.469指的是所用的时间是0.469s,后面的数值指的是取20位近似值所得出的的近似值。后面的三个数值,第一个数值是将21x和31x代入所得的结果,结果保留了150位有效数字;第二个数值是将

.

Word 资料 239151xx和代入所得的结果,结果保留了150位有效数字;第三个数值是的前150位有效数字组成的近似值。

第二个实验比第一个实验所用时间少,为0.047s,第三个实验比前两个实验所用时间多,为1.672s。可见,随着n取值的增多,所用时间会随着增多,同时的精确度也会随之增高。

而且,通过对比数值积分法与泰勒级数法的计算结果,我们发现,当n的取值相同时,相对于泰勒级数法而言,数值积分法的精确度较高。

实验3 蒙特卡罗法计算

1、实验内容

取10000n,n=5000,n=20000利用随机投点的方法来计算的值。

2、实验步骤

在Mathematica中输入语句如下:

.

Word 资料

3、实验结果

3、结果分析

每次投10000个点得出的一个近似值存放在数组P中,一共做10次得到10个近似值,最后通过print[p]语句将其全部输出得到:3.1264,3.156,3.1376,

3.1616,3.1312,3.134,3.1624,3.1616,3.144,3.1448.最后求出这10个近似值的平均值,相当于随机投点10000次得到的近似值,即3.14596。

第二个积第三个实验结果原理与第一个相同,通过对比,我们发现,随着n取值的增大,的精确度也越来越高。

四 三种计算方法的比较

通过上面的实验,我们发现:当n=10000时精度很低,取更大的n,精确度会更高一些。但总的来说,蒙特卡罗法的精确度比数值积分和泰勒级数法低,基于此,我们依然用蒙特卡罗法是因为:假如不是求一个扇形的面积,而是求100个已知圆)1001(:222irbyaxGiiii的公共部分G的面积时,