mathematica数学实验报告实验二

mathematica数学实验报告实验二

ID:35241884

大小:93.50 KB

页数:6页

时间:2019-03-22

mathematica数学实验报告实验二_第1页
mathematica数学实验报告实验二_第2页
mathematica数学实验报告实验二_第3页
mathematica数学实验报告实验二_第4页
mathematica数学实验报告实验二_第5页
资源描述:

《mathematica数学实验报告实验二》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数学实验报告实验二学院:数学与统计学院班级:信息与计算科学(1)班姓名:郝玉霞学号:201171020107实验二一、实验名称:π的计算二、实验目的:首先在Mathematica环境中用多种方法计算圆周率的值,通过实验来体会各种方法的区别,比较各种方法的优劣,接着尝试自己提出新的方法来计算圆周率的值。三、实验环境:学校机房,Mathematica软件。四、实验的基本理论和方法1、用Mathematica绘图函数Plot绘制圆周率;2、计算圆周率的数值积分法、泰勒级数法、蒙特卡罗法,并且利用特定的公式来计算圆周率。五、实验的内容和步骤及实验的结果和结果分析步骤一、数值积分法计算因为单位圆的

2、半径为1,它的面积等于,所以只要计算出单位圆的面积,就算出了。在坐标轴上画出以圆点为圆心,以1为半径的单位圆,则这个单位圆在第一象限的部分是一个扇形,而且面积是单位圆的1/4,于是,我们只要算出此扇形的面积,便可以计算出。当n=5000时;语句:n=5000;y[x_]:=4/(1+x*x);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,20],N[s2,30],N[Pi,30]}

3、];实验结果:当n=10000时;语句:n=10000;y[x_]:=4/(1+x*x);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,20],N[s2,30],N[Pi,30]}];Plot[{4(1-x*x)},{x,0,1}]实验结果:图11/4个单位圆结果分析:当数值积分法得到的近似值为3.14159265358979323846264338328,可以看出,用这种方法计算

4、所得到的值是相当精确的,n越大,计算出来的扇形面积的近似值就越接近的准确值。步骤二、泰勒级数法计算利用反正切函数的泰勒级数来计算。语句:T[x_,n_]:=Sum[(-1)^k*x^(2k+1)/(2k+1),{k,0,n}];N[4*T[1,20000],20]//TimingT[x_,n_]:=Sum[(-1)^k*x^(2k+1)/(2k+1),{k,0,n}];Print[N[4*(T[1/2,260]+T[1/3,170]),150]];Print[N[16*(T[1/5,110]-4*T[1/239,30]),150]];Print[N[Pi,150]]实验结果:结果分析:从

5、实验过程可以看出,这种方法花费的时间很长。原因是当x=1时得到的的展开式收敛太慢。要使泰勒级数收敛得快,容易想到,应当使x的绝对值小于1,最好是远比1小。例如,因为,所以我们可以计算出的值,从而得到的值。这样,就使得收敛速度加快。改进后可以看出,泰勒级数法得到的结果比数值分析法精确到小数点后更多位。步骤三、蒙特卡罗法计算在数值分析法中,我们利用求单位圆的1/4面积来得到,从而得到。单位圆的1/4是一个扇形,它是边长为1的单位正方形的一部分,单位正方形的面积。只要能够求出扇形的面积在正方形的面积中所占的比例,就能立即得到,从而得到的值。下面的问题归结为如何求的值,这就用到了一种利用随机数来

6、解决此种问题的蒙特卡罗法,其原理就是在正方形中随机的投入很多点,是所投的每个点落在正方形中每一个位置的机会均等,看其中有多少个点落在扇形内。降落在扇形内的点的个数与所投店的总数的比可以近似的作为的近似值。语句:n=10000;p={};Do[m=0;Do[x=Random[];y=Random[];If[x^2+y^2<=1,m++],{k,1,n}];AppendTo[p,N[4m/n]],{t,1,10}];Print[p];Sum[p[[t]],{t,1,10}]/10实验结果:3.14668结果分析:从运行结果来看,蒙特卡罗法的计算结果为3.14668,虽然精确度不太高,但运行时

7、间短,在很多场合下,特别是在对精确度要求不高的情况下很有用的。步骤四、针对步骤三提出疑问:步骤三中我们发现当n=10000时,蒙特卡罗法的计算结果为3.14668,精确度不太高,那么对n取不同的值,所得结果的精确度会不会有变化?假如有变化,会有什么变化呢?猜想:对n取不同的值,所得结果的精确度应该会有变化,且当n值越大,所得结果越精确。现令n=1000;语句:n=1000;p={};Do[m=0;Do[x=Random[];y=Ra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。