数学实验实验报告学院:数学与统计学院班级:数学与应用数学3班学号:201370010314姓名:康萍时间:2016.04.05实验二怎样计算一、实验目的分别用下列三种方法计算的近似值,并比较三种方法的精确度:数值积分法:通过使用Mathematica7.0编写梯形公式和辛普森公式的程序语言计算。泰勒级数法:利用反正切函数泰勒级数计算。蒙特卡罗(MonteCarlo)法:通过使用Mathematica7.0编写蒙特卡罗公式的程序语言来计算。二、实验环境基于Windows环境下的Mathematica7.0软件。三、实验的基本理论和方法1、数值积分法以单位圆的圆心为原点建立直角坐标系,则单位圆在第一象限内的部分G是一个扇形,由曲线])1,0[(12xxy及两条坐标轴围成,它的面积4S。算出了S的近似值,它的4倍就是的近似值。而扇形面积S实际上就是定积分41102dxx。与有关的定积分有很多,比如211x的定积分411102dxx就比21x的定积分更容易计算,更适合于用来计算。一般地,要计算定积分dxxfba,也就是计算曲线xfy与直线bxaxy,,0所围成的曲边梯形G的面积S。为此,用一组平行于y轴的直线bxxxxxanixxnni1210,11将曲边梯形T分成n个小曲边梯形,总面积S分成这些小曲边梯形的面积之和。如果取n很大,使每个小曲边梯形的宽度都很小,可以将它上方的边界iixxxxf1近似的看作直线段,将每个小曲边梯形近似的看作梯形来求面积,就得到梯形公式。如果更准确些,将每个小曲边梯形的上边界近似的看作抛物线段,就得到辛普森公式。具体公式如下:梯形公式设分点11,,nxx将积分区间],[ba分成n等份,即ninabiaxi0,/。所有的曲边梯形的宽度都是nabh/。记iixfy则第i个曲边梯形的面积iS近似的等于梯形面积hyyii121。将所有这些梯形面积加起来就得到20121nnyyyyynbaS这就是梯形公式。辛普森公式仍用分点11ninabiaxi将区间ba,分成n等份,直线11nixxi将曲边梯形分成n个小曲边梯形。再做每个小区间iixx,1的中点nabiaxi2121。将第i个小曲边梯形的上边界iixxxxfy1近似的看作经过三点iiixxxxxfx,,,211的抛物线段,则可求得iiiiyyynabS21146其中2121iixfy,于是得到2123211210426nnnyyyyyyyynabS这就是辛普森公式。2、泰勒级数法利用反正切函数的泰勒级数12153arctan12153kxxxxxkk当x的绝对值小于1,最好是远小于1,这样,随着指数的增加,x的幂快速接近于0,泰勒级数就会很快收敛,比如,取21x得到的21arctan就收敛的快,在121321121121312121arctannnn中取6312n得到的21arctan的近似值的误差就小于6521,准确度度已经非常高了。我们并不知道21arctan是的多少倍,但是却能计算出21arctan与4相差多少。记4,21arctan,则312111211tan4tan1tan4tan4tantan因此31arctan,即31arctan21arctan4,从而得到31arctan21arctan4(1)31arctan比41arctan收敛得更快。利用泰勒级数计算出21arctan与31arctan的近似值再相加,然后再乘以4,就得到的近似值。还可以考虑用51arctan来计算,它收敛的更快。由51易算出1191204tan,1252tan2391119120111191204tan4tan14tan4tan44tan2391arctan44从而得到2391arctan51arctan42391arctan44即2391arctan451arctan16(2)称为Maqin公式,利用xarctan的泰勒展开式求出2391tan,51arctanrac的近似值,再代入Maqin公式就可以求出的近似值。由于是通过计算2391,51,31,21arctanxx等算出来的,只要计算这些xarctan的近似值到足够的精确度,就能保证所得到的的近似值到足够的精确度,我们是通过计算12131213nxxxxTnnn来得到xarctan的近似值的。当10x时,这个近似值的误差为12arctan12nxxTxenn3、蒙特卡罗(MonteCarlo)法在数值积分中,我们利用求单位圆面积的41来得到4,从而得到,单位圆的41是一个扇形G,它是边长为1的单位正方形1G的一部分,单位正方形1G的面积11S。只要能够求出扇形G的面积在正方形1G的面积1S中所占的比例1SSk,就能立即得到S,从而得到的值。为了求出扇形面积在正方形面积中所占的比例k,一个办法是在正方形中随机的投入很多点,使所投的每个点落在正方形每一个位置的机会均等,看其中有多少个点落在扇形内。将落在扇形内的点的个数m与所投点的总数n的比nm可以看作k的近似值。而任何一种计算机语言都有这样的语言可以实现这样的随机点,能够产生在区间1,0内均匀分布的随机数。在Mathematica中,产生区间1,0内均匀分布的随机数的语句是Random[]产生两个这样的随机数x,y,则以(x,y)为坐标的点就是单位正方形内的一点P,它落在正方形内每个点的机会均等。P落在扇形内的充分必要条件是122yx。这样利用随机数来解决问题的数学方法称为蒙特卡罗法。四、实验内容与步骤及得到的结果分析实验1数值积分计算1、实验内容分别取n=5000,n=6000,n=1000,用梯形公式和辛普森公式计算dxx10214的近似值,取20位有效数字,将所得的结果与进行比较。2、实验步骤在Mathematica中输入语句如下:3、实验结果4、结果分析三次实验结果所得的第一个数字是利用梯形公式计算出的,结果保留了20位有效数字,实验结果所得的第二个数字是利用辛普森公式计算出的,结果保留了30位有效数字,第三个结果是的前30位有效数字组成的近似值。而且随着n取值的增大,的精确度也随之不断增高。实验2泰勒级数法计算1、实验内容利用反正切函数的泰勒级数:12153arctan12153kxxxxxkk计算,分别将2391,51,31,21xxxx代入上面的级数,并分别对n取值为n=5000,n=20000,n=40000计算的值,观察所得的结果和所花的时间。2、实验步骤在Mathematica中输入语句如下3、实验结果4、结果分析在第一个实验结果中,0.469指的是所用的时间是0.469s,后面的数值指的是取20位近似值所得出的的近似值。后面的三个数值,第一个数值是将21x和31x代入所得的结果,结果保留了150位有效数字;第二个数值是将239151xx和代入所得的结果,结果保留了150位有效数字;第三个数值是的前150位有效数字组成的近似值。第二个实验比第一个实验所用时间少,为0.047s,第三个实验比前两个实验所用时间多,为1.672s。可见,随着n取值的增多,所用时间会随着增多,同时的精确度也会随之增高。而且,通过对比数值积分法与泰勒级数法的计算结果,我们发现,当n的取值相同时,相对于泰勒级数法而言,数值积分法的精确度较高。实验3蒙特卡罗法计算1、实验内容取10000n,n=5000,n=20000利用随机投点的方法来计算的值。2、实验步骤在Mathematica中输入语句如下: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(:222irbyaxGiiii的公共部分G的面积时,要确定公共部分G的边界将是一个很困难的问题,此时很难用定积分或数值积分计算,但用蒙特卡罗法就没有多大困难,仍然可以用一个正方形或长发形Q将图形G包含在内,仍然可以通过产生随机数在Q内随机投点P(x,y),通过判断P(x,y)是否落在iG内,也就是判断222iiirbyax是否成立,如果P落在每一个圆iG的内部,那么它就落在所有这些圆的公共部分G的内部,而让计算机做100次乃至1000次,10000次这样的判断都是轻而易举的事情。因此,蒙特卡罗法在很多场合下,特别是对精确度要求不太高的情况下是大有用武之地的。五、附录另一种用蒙特卡罗法来计算的方法是1777年法国数学家蒲丰(Buffon)t提出的随机掷针实验。其步骤如下:(1)取一张白纸,在上面画很多间距为d的等距平行线;(2)取一根长度为dll的均匀直针,随机地向画有平行线的纸上掷去,一共投掷n次(n是一个很大的整数),观察针和直线相交的次数m;(3)由分析知道针和直线相交的概率dlp/2,取m/n为p的近似值,则mdnl2特别取针的长度2/dl时,mn/。六、心得体会通过本次实验,在通过初步了解梯形公式,辛普森公式及泰勒级数的基本理论之后,通过使用Mathmatia编程,在计算出结果并从多角度对其进行分析其计算结果之后,我们深刻的感受到了不同的方法的精妙之处,如,在计算值时,数值积分法与泰勒级数法相对于蒙特卡罗法而言,其精确度更高,但是,当不单单是计算一个扇形的面积,而是求很多圆的公共部分面积时,确定公共部分G的边界就会变得很困难,但这时候若是选择蒙特卡罗法的话,就会显得很简单,因为在计算机上进行无论多少次的投点实验是一件很容易的事,可见,每种实验方法都有他的优点,在不同的情况下选择选择不同的实验方法,会节省我们更多地时间,使得在解决问题更简单方便。