圆周率一般用π来表示,是一个在数学及物理学中普遍存在的数学常数。其定义为圆的周长与直径之比。常用圆周率的十进制近似值为3.141 592 6,另外还有由祖冲之给出的约率:22/7,及密率:355/113。
圆周率计算算法根据马克劳林(Colin Maclaurin)公式有:
在式子两边令x=1,得
这个问题可以使用算法来实现(见下图)。
下面介绍历史上两个有名的公式。
圆周率公式——梅钦(Machin)公式
(1)首先,梅钦公式求出的圆周率精确度是根据反正切公式中展开式的项数来决定的,所以要设置一个表示项数的变量i,通过输入框来赋值确定i的值;
(2)在梅钦公式中使用到了两次反正切公式,所以我们设置了两个累加变量a和b来存储展开式每一次运算的值,然后分别赋初值为0;
(3)在使用第一个累加变量a之前,我们先要对反正切函数的参数变量x赋值为“1/5”,然后对计算项数的循环变量n赋初值为1;
(4)当累加变量a中累加的项数没有超过输入的项数变量i时,执行累加语句和自加语句,然后返回到判断框的入口处进行条件判断;
(5)当循环条件不成立时,退出循环继续下面的操作;
(6)对第二个累加变量b,使用的参数变量x不同,需要重新设置为“1/239”,循环变量初值重新设置为1;
(7)当累加变量b中累加的项数没有超过输入的项数变量i时,执行累加语句和自加语句,然后返回到判断框的入口处进行条件判断;
(8)当循环条件不成立时,退出循环继续下面的操作;
(9)使用梅钦公式中的第一部分计算出Pi值;
(10)最后,再输出Pi值后算法结束。
如上图,在这个算法的描述实现梅钦公式的过程中,实际上是先后设计了两个循环结构,分别计算出累加变量a和累加变量b的值,然后再通过公式“Pi=16*a -4*b”计算出圆周率的值。
另外,两个累加变量的累加值表达式Pi=16*a -4*b其实是根据梅钦公式中arctan x公式得到的一个通项表达式。
圆周率公式——韦达(Viete)公式
韦达公式是求圆周率的最早分析表达式。它表明仅仅借助数字2,通过一系列的加、乘、除和开平方就可算出圆周率值,反映了数字的高度和谐。下图是其流程图。
(1)首先,我们先要定义一个变量i,来决定等号右边到底有多少项参与累乘运算,其值由输入框来完成。
(2)韦达公式的求解过程即是求若干个数相乘的积,所以我们不妨设置一个累乘变量a,来存储每一次累乘的值,并赋初值为1。
(3)在等号右边的累乘值可以看作是一个变量,其实质是一个分母恒为2、分子有规律地变化着的分数,所以我们可以干脆把分子设置为变量y,其初值为Sqr(2)。(Sqr是VB中的开平方函数)
(4)设置一个统计项数的循环变量n,并赋初值为1。
(5)当循环变量n满足判断框的条件时,执行循环操作,在循环体操作中有3步:第一步,变量y除以2,计算出累乘值,然后将累乘值累乘到累乘变量a中;第二步,使用开平方函数计算出下一个累乘值的分子部分的值;第三步,循环变量自加1。
(6)返回到判断框的入口处,判断是否符合循环条件,如果条件不成立,则退出循环。
(7)退出循环后,计算出Pi值。
(8)输出Pi值后算法结束。
圆周率的常见的级数展开式
此外,无理数e也可以用无穷级数展开:
圆周率还可以在概率统计学中,通过模拟大量重复试验来进行近似计算。
如上图的流程图的作用是通过向边长为2的正方形中随机投点,统计落在其内切圆中的概率,根据几何概型,近似地有π/4=t/n。当n足够大时试验值与圆周率准确值就非常接近了(Rnd表示随机函数)。
2018-08-15 15:45:18 1713次 http://www.yiqi.com/retiao/detail_2553.html 热门标签: