收藏 分享(赏)

数学实验报告2 圆周率的计算 mathematica.doc

上传人:精品资料 文档编号:10036516 上传时间:2019-09-30 格式:DOC 页数:7 大小:654KB
下载 相关 举报
数学实验报告2 圆周率的计算 mathematica.doc_第1页
第1页 / 共7页
数学实验报告2 圆周率的计算 mathematica.doc_第2页
第2页 / 共7页
数学实验报告2 圆周率的计算 mathematica.doc_第3页
第3页 / 共7页
数学实验报告2 圆周率的计算 mathematica.doc_第4页
第4页 / 共7页
数学实验报告2 圆周率的计算 mathematica.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、数学实验报告实验序号: 2 日期: 2016 年 月 日班级 姓名 学号实验名称圆周率 的计算问题背景描述:圆周率是指一个圆的周长与其直径的比值。古今中外,许多人致力于圆周率的研究。回顾历史,人类对 的认识过程,反映了数学和计算技术发展情形的一个侧面。 的研究,在一定程度上反映着这个地区或时代的数学水平。德国数学家康托说:“历史上一个国家所算得的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。 ”实验环境:学校机房、Mathematica4.0 软件、PrintScreen 软件实验目的:首先在 Mathematica 环境中用多种方法计算圆周率 的值,通过实验来体会各种方法的区

2、别,比较各种方法的优劣,接着尝试自己提出新的方法来计算圆周率 的值。实验理论基础和方法:1.用 Mathematica 绘图函数 Plot 绘制圆周率 ;2.运用数值积分法计算圆周率:利用半径为 1 的单位圆的面积等于 来求解圆周率;3.利用泰勒级数法计算 :利用反正切函数的泰勒级数 12)(53arctnkxxx4. 蒙特卡罗法计算实验结果报告及实验总结:一、数值积分法计算 因为单位圆的半径为 1,它的面积等于 ,所以只要计算出单位圆的面积,就算出了。在坐标轴上画出以圆点为圆心,以 1 为半径的单位圆,则这个单位圆在第一象限的部分是一个扇形,而且面积是单位圆的 1/4,于是,我们只要算出此扇

3、形的面积,便可以计算出。而且单位的精度可能会影响计算的结果,下面将给出不同的 n 计算所得结果并讨论差异。1. 当 n=1000 时命令:n=1000;yx_:=4/(1+x*x);s1=(Sumyk/n,k,1,n-1+(y0+y1)/2)/n;s2=(y0+y1+2*Sumyk/n,k,1,n-1+4*Sumy(k-1/2)/n,k,1,n)/(6*n);PrintNs1,20,Ns2,30,NPi,30;结果如下:2. 当 n=5000 时命令: n=5000;yx_:=4/(1+x*x);s1=(Sumyk/n,k,1,n-1+(y0+y1)/2)/n;s2=(y0+y1+2*Sumy

4、k/n,k,1,n-1+4*Sumy(k-1/2)/n,k,1,n)/(6*n);PrintNs1,20,Ns2,30,NPi,30;运行结果:3.当 n=10000 时命令:n=10000;yx_:=4/(1+x*x);s1=(Sumyk/n,k,1,n-1+(y0+y1)/2)/n;s2=(y0+y1+2*Sumyk/n,k,1,n-1+4*Sumy(k-1/2)/n,k,1,n)/(6*n);PrintNs1,20,Ns2,30,NPi,30;Plot4(1-x*x),x,0,1运行结果:4. 结果分析:当数值积分法得到 的近似值为 3.1415926535897932384626433

5、8328,可以看出,用这种方法计算所得到的 值是相当精确的,n 越大,计算出来的扇形面积的近似值就越接近 的准确值。二、泰勒级数法计算 利用反正切函数的泰勒级数来计算 。 12)(53arctnkxxx 命令:Tx_,n_:=Sum(-1)k*x(2k+1)/(2k+1),k,0,n;N4*T1,20000,20/TimingTx_,n_:=Sum(-1)k*x(2k+1)/(2k+1),k,0,n;PrintN4*(T1/2,260+T1/3,170),150;PrintN16*(T1/5,110-4*T1/239,30),150;PrintNPi,150运行结果:结果分析:从实验过程可以看

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

7、值,这就用到了一种利用随机数来解决此种问题的蒙特卡罗法,其原理就是在正方形中随机的投入很多点,是所投的每个点落在正方形中每一个位置的机会均等,看其中有多少个点落在扇形内。降落在扇形内的点的个数与所投店的总数 的比可以近似的作为的近似值。命令:n=10000;p=;Dom=0;Dox=Random;y=Random;Ifx2+y2=1,m+,k,1,n;AppendTop,N4m/n,t,1,10;Printp;Sumpt,t,1,10/10运行结果:结果分析:从运行结果来看,蒙特卡罗法的计算结果为 3.14668,虽然精确度不太高,但运行时间短,在很多场合下,特别是在对精确度要求不高的情况下很

8、有用的。步骤四、针对步骤三提出疑问:步骤三中我们发现当 n=10000 时,蒙特卡罗法的计算结果为3.14668,精确度不太高,那么对 n 取不同的值,所得结果的精确度会不会有变化?假如有变化,会有什么变化呢?猜想:对 n 取不同的值,所得结果的精确度应该会有变化,且当 n 值越大,所得结果越精确。当 n=100000 时命令:n=100000;p=;Dom=0;Dox=Random;y=Random;Ifx2+y2=1,m+,k,1,n;AppendTop,N4m/n,t,1,10;Printp;Sumpt,t,1,10/10运行结果:当 n=1000000 时命令: n=1000000;p

9、=;Dom=0;Dox=Random;y=Random;Ifx2+y2=1,m+,k,1,n;AppendTop,N4m/n,t,1,10;Printp;Sumpt,t,1,10/10运行结果如下结果分析:从运行结果来看,随着 n 的增加,运行时间明显变长,用蒙特卡罗算法所求结果越精确,与猜想一致。四、实验总结利用数值方法计算 ,在 n 的不同取值下精度都很大,随着 n 值的增加计算所需时间也在增加;相比数值方法,Taylor 级数收敛法需要花费更多的时间用于计算,所得精度也更高;而蒙特卡罗方法相比上述两个,运行速度最快,但精度不高。综上,这三种方法都可以较为准确地计算出 值,考虑日常生活中的实用性,蒙特卡洛方法具有耗时短效率高的特点,更适合低精度要求下的计算。教师评语:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报