圆周率π的几种计算方法及计算机简单实现

上传人:灯火****19 文档编号:121895789 上传时间:2020-02-27 格式:DOC 页数:11 大小:199.38KB
返回 下载 相关 举报
圆周率π的几种计算方法及计算机简单实现_第1页
第1页 / 共11页
圆周率π的几种计算方法及计算机简单实现_第2页
第2页 / 共11页
圆周率π的几种计算方法及计算机简单实现_第3页
第3页 / 共11页
圆周率π的几种计算方法及计算机简单实现_第4页
第4页 / 共11页
圆周率π的几种计算方法及计算机简单实现_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《圆周率π的几种计算方法及计算机简单实现》由会员分享,可在线阅读,更多相关《圆周率π的几种计算方法及计算机简单实现(11页珍藏版)》请在金锄头文库上搜索。

1、 学 年 论 文题 目: 圆周率的几种计算方法 及计算机简单实现 学 院: 数学与统计学院 专 业: 数学与应用数学 指导教师: 马巧珍 学生姓名: 帅兴杰 学 号: 200971010335 联系方式: 15294159767 指导教师预评评语指导教师职称预评成绩 年 月 日答辩小组评审意见答辩小组评定成绩答辩委员会终评意见答辩委员会终评成绩答辩小组组长(签字):年 月 日答辩委员会主任(签章):年 月 日说 明:1. 成绩评定均采用五级分制,即优、良、中、及格、不及格。2. 评语内容包括:学术价值、实际意义、达到水平、学术观点及论证有无错误等。摘要:本文简要的介绍了圆周率的起源及其计算方法

2、,正是圆周率这个数的特殊性,致使从古到今许多数学家为之奉献毕生的经历来研究的精确值。因此,用什么样的方法计算使其值更加精确,这是一个很值得研究的问题。本文在总结前人计算方法的基础上,加入了计算机的简单实现算法,并附带了了计算结果。关键词:圆周率,计算方法,正多边形,连分数,程序实现,运行结果一、很早以前就有了从人类祖先的祖先诞生在这个地球上算起,经历了几千万年的时间。我们看见的太阳几乎总是圆的,而月亮由于地球的遮挡,有圆有缺。椭圆、抛物线,双曲线等都是很晚才发现的曲线。地球诞生之前,太阳就是圆形的。月亮大概是和地球同时诞生的.在使用工具和火不久,人类对太阳和月亮,或者对动物和鱼类的眼睛是圆的,

3、也就是说对圆这种形状一定感到很奇妙。远古,数刚诞生时,肯定只在1和许多个之间有区别。而且,很早以前,就只考虑1和2这两个数。以后因为1个人有2只脚和2只手,2个人就有4只脚和4只手,1头家畜有4只脚,2头家畜有8只脚,等等。不久,就知道了比例的概念。到了这个阶段人们自然关顾圆周的长度与圆的直径之间一定的比例常数。尽管圆有大有小,但对一个圆来说,其周长与直径之间的比例常数就是圆周率二、的几种计算方法有一个关于圆周率的歌谣,盛行于古代:“山巅一寺一壶酒,尔乐苦煞吾,把酒吃,酒杀尔,杀不死,乐而乐。” 圆周率是圆的周长与直径之比,表示的是一个常数,符号是希腊字母 。人们为了计算圆周率,公元前便开始对

4、它进行计算。魏晋时期刘徽曾于公元263年用割圆术的方法求到3.14,这被称为“徽率”。在公元460年,祖冲之应用了刘徽的割圆术(也就是下面提到的正多边形的方法),算得圆周率为3.1415926。祖冲之所求的值,保持了1000多年的世界纪录。1596年,荷兰数学家鲁道夫经过长期的努力和探索,把值推算到15位小数,打破了祖冲之长达1000多年的纪录,后来他本人又把这个数推进到35位。18世纪初,圆周率达到72位。19世纪时,圆周率又求到140位、200位、500位。1873年,威廉欣克用了几十年时间,将值算到707位。到了1946年,世界上第一台电子计算机(ENIAC)问世美国,有人在计算机上用了

5、70个小时,算出圆周率达到2035位。1955年达到10 017位,1962年达到10万位。1973年达到100万位,1981年日本数学家把它推算到200万位。1990年美国数学家继续新的计算,将值推到新的顶点4.8亿位。经过长时间艰苦的计算,值只是个近似值,这是一个永不循环的数学计算,也是数学史上的马拉松。 下面介绍几种计算的方法:(一) 公元前利用正多边形计算公元前1650年,埃及人著的兰德纸草书中提出(4/3) 3=3.1604。但是对的第一次科学的尝试应归功于阿基米德。 阿基米德计算值是采用内接和外切正多边形的方法。数学上一般把它称为计算机的古典方法。 在公元前3世纪,古希腊的数学非常

6、发达,为了使得数学计算简便,人们选一个以长度为直径的圆。这样圆的周长在任何内接正多边形的周长和任何外切正多边形的周长之间。这样就容易得到的上下界,因为计算内接和外切正多边形的财长比较简单。阿基米德也掌握了这一原理,他从内接和外切严六边形开始,按照这个方法逐次进行下去,就得出12、24、38、96边的内拉和外切正多边形的财长,他利用这一方法最后得到值在223/71,22/7之间,取值为3.14。这一方法和数值发表在他的论文集圆的量度中。我国古代第一个把求圆周率近似值的方法提高到理论高度上来认识的是刘微。他独立地创造了“割圆术”,并系统而严密地用内接正多边形来求得圆周率的近似值,他从内接正六边形算

7、起,计算到圆内接正192边形的面积,从而得出3.1410243.142704这一值,后来他沿着这一思路继续前进,一直算到圆内接正3072边形时,得到了3927/1250,的值为3.14159。这是当时得到的最精确的取值。 南北朝时期,我国的大数学家祖冲之采用刘徽的割圆术,一直算到圆内接正24576边形,从而推得: 3.14159263.1415927 这一成果记载在他的著作缀术中。可惜的是,这本书已经失传。为了应用方便,祖冲之对圆周率还给出了两个分数值355/113和22/7,前者称之为“密率”,后者称之为“给率”。其中“密率”355/133是一个很有趣的数字,分母分子恰好是三个最小奇数的重复

8、,既整齐美观、又便于记忆。355/113=3+4 2/(7 2+8 2)也是很巧妙的组合。它与的实际值相对误差只有0.00000009 。(二)连分数计算用连分数计算的人不多,要多次展开。首创连分数的是一个叫盖托蒂的数学家。布朗开罗(16201684)得到的表达式为 这个式子源于下式在一定范围内计算上式,先采用繁分数形式。再计算可得因为在展开式中取的项数有限,所以值没有超过3。由上可见,计算量很大,是古人对计算感兴趣吗?对现在的年轻人来讲,这是枯燥无味的,古人也许因为娱乐或兴趣而高兴这么干下去。计算机程序实现(C语言):#include stdio.hmain() int i; float a

9、8,p;a7=0; for(i=7;i1;i-) ai-1=2+(2*i-1)*(2*i-1)/ai;a0=1+1/a1; p=4/a0; /*设为字母p*/printf(p=%fn,p);运行结果:P=2.976046(三)一些计算圆周率的经典的常用公式1、1593年,韦达给出 这一不寻常的公式是的最早分析表达式。甚至在今天,这个公式的优美也会令我们赞叹不已。它表明仅仅借助数字2,通过一系列的加、乘、除和开平方就可算出 值。 计算机程序实现(C语言):#include stdio.h#include math.hmain() int i; double a8, p; a0=sqrt(2);

10、p=a0/2;for(i=1;i8;i+) ai=sqrt(2+ai-1); p=p*(ai/2); p=2/p; printf(p=%lfn,p); 运行结果: P=3.1415732、Machin公式(又叫“泰勒级数”法) 这个公式由英国天文学教授John Machin于1706年发现。他利用这个公式计算到了100位的圆周率。Machin公式每计算一项可以得到14位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。计算机程序实现(Mathematica): Tx_,n_:=Sum(-1)k*x(2k+1)/(2k+1),k,0,n; Prin

11、tN16*(T1/5,110-4*T1/239,30),150;PrintNPi,150;运行结果:2.890548093465309806590350485722375719734285480917188771353767819076909705800835402201078476524742500683621046526590481283946340922191870328190031678143.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170

12、6798214808651328230664709384460955058223172535940813 还有很多类似于Machin公式的反正切公式。在所有这些公式中,Machin公式似乎是最快的了。虽然如此,如果要计算更多的位数,比如几千万位,Machin公式就力不从心了。3、Ramanujan公式下面介绍的算法,在PC机上计算大约一天时间,就可以得到圆周率的过亿位的精度。这些算法用程序实现起来比较复杂。因为计算过程中涉及两个大数的乘除运算,要用FFT(Fast Fourier Transform)算法。FFT可以将两个大数的乘除运算时间由O(n2)缩短为O(nlog(n)。1914年,印度

13、数学家Srinivasa Ramanujan在他的论文里发表了一系列共14条圆周率的计算公式,这是其中之一。这个公式每计算一项可以得到8位的十进制精度。1985年Gosper用这个公式计算到了圆周率的17,500,000位。 计算机程序实现(Mathematica): Tn_:=Sum(4*k)!/(4(4*k)*(k!)4)*(1103+26390*k)/99(4*k),k,0,n; PrintN9801/(2*Sqrt2*T1000),200运行结果:3.14159265358979323846264338327950288419716939937510582097494459230781

14、640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038204、欧拉计算机程序实现(Mathematica): Tx_:=SqrtSum(-1)(k+1)/k2,k,1,x;PrintN2*Sqrt3*T1000,200运行结果:3.1415916996149185488846630155478172824318647489558406138312214452775723438385846971962783162476372181527076

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号