中国古算书《周髀算经》(约公元前2世纪)的中有“径一而周三”的记载,意即取 。 汉朝时,张衡得出 ,即 (约为3.162)。这个值不太准确,但它简单易理解。
公元480年左右,南北朝时期的数学家祖冲之进一步得出精确到小数点后7位的结果,给出不足近似值3.1415926和过剩近似值3.1415927,还得到两个近似分数值,密率 和约率 。密率是个很好的分数近似值,要取到 才能得出比 略准确的近似。
第一个快速算法由英国数学家梅钦(John Machin)提出,1706年梅钦计算π值突破100位小数大关,他利用了如下公式:其中arctan x可由泰勒级数算出。类似方法称为“梅钦类公式”。
斯洛文尼亚数学家Jurij Vega于1789年得出π的小数点后首140位,其中只有137位是正确的。这个世界纪录维持了五十年。他利用了梅钦于1706年提出的数式。
扩展资料:
圆周率是指平面上圆的周长与直径之比 (ratio of the circumference of a circle to the diameter) 。用符号π(读音:pài)表示。中国古代有圆率、周率、周等名称。(在一般计算时π=3.14)
圆周率的历史:
古希腊欧几里得《几何原本》(约公元前3世纪初)中提到圆周率是常数,中国古算书《周髀算经》( 约公元前2世纪)中有“径一而周三”的记载,也认为圆周率是常数。
历史上曾采用过圆周率的多种近似值,早期大都是通过实验而得到的结果,如古埃及纸草书(约公元前1700)中取π=(4/3)^4≈3.1604 。
第一个用科学方法寻求圆周率数值的人是阿基米德,他在《圆的度量》(公元前3世纪)中用圆内接和外切正多边形的周长确定圆周长的上下界,从正六边形开始,逐次加倍计算到正96边形,得到(3+(10/71))
把圆周率的数值算得这么精确,实际意义并不大。现代科技领域使用的圆周率值,有十几位已经足够了。如果以39位精度的圆周率值,来计算宇宙的大小,误差还不到一个原子的体积。
以前的人计算圆周率,是要探究圆周率是否循环小数。自从1761年兰伯特证明了圆周率是无理数,1882年林德曼证明了圆周率是超越数后,圆周率的神秘面纱就被揭开了。
π在许多数学领域都有非常重要的作用。
参考资料:百度百科——圆周率
国际上公认的计算π的值得最好的方法,就是在一向一个边长为1的正方形区域里面随机的扔一些石子,用落在扇形里面的个数和总的个数的一个比例关系,就可以近似求解出π的值。
就类似这样,我们可以知道这个比值 = (π/4),故π = 4*rate(比值) 。
下面贴一下Java的实现代码:
public class RandomPI {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(rand_pi(100000)); //改变参数值
}
public static double rand_pi(int n) {
int numInCircle = 0;
double x, y;
double pi;
for(int i=0;i < n; i++){
x = Math.random();
y = Math.random();
if(x * x + y * y < 1)
numInCircle++;
}
pi=(4.0 * numInCircle) / n;
return pi;
}
}
扩展资料:
圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 在分析学里,π可以严格地定义为满足sin x = 0的最小正实数x。
把圆周率的数值算得这么精确,实际意义并不大。现代科技领域使用的圆周率值,有十几位已经足够了。如果以39位精度的圆周率值,来计算宇宙的大小,误差还不到一个原子的体积。以前的人计算圆周率,是要探究圆周率是否循环小数。
自从1761年兰伯特证明了圆周率是无理数,1882年林德曼证明了圆周率是超越数后,圆周率的神秘面纱就被揭开了。
参考资料:
百度百科-圆周率 (圆的周长与直径的比值)
百度百科-蒙特卡罗法
1、马青公式 π=16arctan1/5-4arctan1/239 这个公式由英国天文学教授约翰·马青于1706年发现.他利用这个公式计算到了100位的圆周率.马青公式每计算一项可以得到1.4位的十进制精度.因为它的计算过程中被乘数和被除数都不大于长整数。
所以可以很容易地在计算机上编程实现.还有很多类似于马青公式的反正切公式.在所有这些公式中,马青公式似乎是最快的了.虽然如此,如果要计算更多的位数,比如几千万位,马青公式就力不从心了.
2、拉马努金公式 1914年,印度天才数学家拉马努金在他的论文里发表了一系列共14条圆周率的计算公式.这个公式每计算一项可以得到8位的十进制精度.1985年Gosper用这个公式计算到了圆周率的17,500,000位.
扩展资料:
【圆周率的历史】
π=Pài(π=Pi)
古希腊欧几里德《几何原本》(约公元前3世纪初)中提到圆周率是常数,中国古算书《周髀算经》( 约公元前2世纪)中有“径一而周三”的记载,也认为圆周率是常数.历史上曾采用过圆周率的多种近似值,早期大都是通过实验而得到的结果,如古埃π及纸草书(约公元前1700)中取pi=(4/3)^4≈3.1604 。
第一个用科学方法寻求圆周率数值的人是阿基米德,他在《圆的度量》(公元前3世纪)中用圆内接和外切正多边形的周长确定圆周长的上下界,从正六边形开始,逐次加倍计算到正96边形,得到(3+(10/71))
圆周率π的计算方法
圆周率π的计算方法,是一个饶有趣味,值得探讨的问题。最直观的计算方法自然是从几何上着手,历史上也正是如此,这便是割圆法。设一半径为1的圆,作这个圆的内接正n边形,用此正n边形的周长去近似圆的周长。显然当n→∞时,正n边形的周长就无限趋近于圆周长,求得正n边形周长后除以直径便求出了圆周率。
I.
从几何上观察,可知:正n边形周长随n递增而递增,但始终是个有限值。割法如图1:
图1 割圆法
设圆半径为1,令半弦长AB=2a,AC=2c,OG和OD分别是等腰△OAB和△OAC的中线。则我们要做的只是求出c关于a的表达式c=c(a).令GC=b,根据勾股定理有:
(1)
进而有
(2)
得到此式后,编写计算机程序就很容易了,C语言程序如下:
#include
#include
main()
{double a,b,c,d,pi;double sqrt(double);int i,j,n;a=0.5;b=0;c=0;d=0.5;scanf("%d",&n);
for(i=1;i<=n;i++)
{b=sqrt(1-a*a);c=(1-b)*0.5;d=sqrt(c);a=d;}
j=pow(2,n)*3;pi=2*d*j;printf("%d\n",j);printf("%f\n",pi)}
这里有一个问题就是a的初值如何选择?显然越简单直观越好,而已知对于圆内接正六边形的每一条边长等于圆的半径。所以取a=0.5,程序中参数n是对正六边形分割的次数,d的作用是当输入n=0(正六边形)的时候,得到π=3,此所谓的“径圆一三”。将这个文件保存为文本,在linux下用“gcc -lm”命令编译后,打开编译后得到的文件就能执行。
在古代可没有电子计算机,而祖冲之利用割圆法算得圆周率介于3.1415926和3.1415927之间,可见古人之伟大!
II.
上面的方法简单直观,但是缺点也很明显。计算机在底层只能做“加减乘除四则整数运算”,显然开根号运算还是要通过转化为整数运算(级数展开等)才最后到硬件级计算。那么我们能否直接用整数的四则运算得到π的值?有!而且方法是多样的,其中一种叫作“Wallis公式”,有几种表达方式。如下:
(3)
或
(4)
或
(5)
下面证明这个公式:
令
(6)
利用分部积分法
于是有关系式
(7)
从上式可知I0=1,I1=π/4.根据这两个初值条件有
(8)
或者
(9)
其中m=0,1,2,...而由(7)式也可知
(10)
将(10)式代入(9)式
即
(11)
其中
由式(11)可知Wm>0且有上限,而
说明Wm随着m的增大递增,所以如下极限存在,且由夹逼准则得其值
Wallis公式得证。
实际上Wallis公式的发现在微积分建立之前,其探寻过程限于篇幅不在这里给出,这也反映出同一个问题可以有不同的论证方法,也令我们不得不佩服古人的智慧。
III.
虽然Wallis公式比割圆法要易于计算得多,但是Wallis公式在形势上仍显复杂,且全部乘除算法也难以提高计算机计算效率,最好是有乘除项之和,如:
反观(6)式,实际上令x=cosθ,则有dx=-sinθdθ.式(6)变为
如果令x=sinθ,则只变换形式不影响结果。那我们设想利用其它的三角函数能否得到同样的结果?令
(12)
注意这里的积分上限改成了π/4,因为π/2>θ>π/4的时候tanθ>1,将导致积分发散。
对(12)式做一个小变换
于是有关系式
(13)
而初值T0=π/4,观察规律有
...
总结规律得
(14)
其中m=1,2,3,...而从式(12)中可知
结合(14)式,得到
(15)
或者
(16)
显然这种方法形式上比前两种方法要简单得多,计算机执行的时候也能更高效。
而在我前面的文章中讲过幂级数的应用,arctanθ展开为幂级数(泰勒级数)后表达式为
(17)
该级数的收敛域为[-1,1],将x=1代入,则得到式(15),这又是一个殊途同归的例子!
圆周率π的计算方法
最直观的计算方法自然是从几何上着手,历史上也正是如此,这便是割圆法。设一半径为1的圆,作这个圆的内接正n边形,用此正n边形的周长去近似圆的周长。显然当n→∞时,正n边形的周长就无限趋近于圆周长,求得正n边形周长后除以直径便求出了圆周率。
I.从几何上观察,可知:正n边形周长随n递增而递增,但始终是个有限值。割法如图1:
图1 割圆法
设圆半径为1,令半弦长AB=2a,AC=2c,OG和OD分别是等腰△OAB和△OAC的中线。则我们要做的只是求出c关于a的表达式c=c(a).令GC=b,根据勾股定理有:
(1)
进而有(2)
得到此式后,编写计算机程序就很容易了,C语言程序如下:
#include
#include
main()
{double a,b,c,d,pi;double sqrt(double);int i,j,n;a=0.5;b=0;c=0;d=0.5;scanf("%d",&n);
for(i=1;i<=n;i++)
{b=sqrt(1-a*a);c=(1-b)*0.5;d=sqrt(c);a=d;}
j=pow(2,n)*3;pi=2*d*j;printf("%d\n",j);printf("%f\n",pi)}
这里有一个问题就是a的初值如何选择?显然越简单直观越好,而已知对于圆内接正六边形的每一条边长等于圆的半径。所以取a=0.5,程序中参数n是对正六边形分割的次数,d的作用是当输入n=0(正六边形)的时候,得到π=3,此所谓的“径圆一三”。将这个文件保存为文本,在linux下用“gcc -lm”命令编译后,打开编译后得到的文件就能执行。
在古代可没有电子计算机,而祖冲之利用割圆法算得圆周率介于3.1415926和3.1415927之间,可见古人之伟大!
II.上面的方法简单直观,但是缺点也很明显。计算机在底层只能做“加减乘除四则整数运算”,显然开根号运算还是要通过转化为整数运算(级数展开等)才最后到硬件级计算。那么我们能否直接用整数的四则运算得到π的值?有!而且方法是多样的,其中一种叫作“Wallis公式”,有几种表达方式。如下:
(3)
或(4)
或(5)
下面证明这个公式:令
(6)
利用分部积分法,于是有关系式:
(7)
从上式可知I0=1,I1=π/4.根据这两个初值条件有:
(8)
或者:
(9)
其中m=0,1,2,...而由(7)式也可知:
(10)
将(10)式代入(9)式:
即:
(11)
其中:
由式(11)可知Wm>0且有上限,而说明Wm随着m的增大递增,所以如下极限存在,且由夹逼准则得其值。Wallis公式得证。
实际上Wallis公式的发现在微积分建立之前,其探寻过程限于篇幅不在这里给出,这也反映出同一个问题可以有不同的论证方法,也令我们不得不佩服古人的智慧。
III.虽然Wallis公式比割圆法要易于计算得多,但是Wallis公式在形势上仍显复杂,且全部乘除算法也难以提高计算机计算效率,最好是有乘除项之和,如:
反观(6)式,实际上令x=cosθ,则有dx=-sinθdθ.式(6)变为
如果令x=sinθ,则只变换形式不影响结果。那我们设想利用其它的三角函数能否得到同样的结果?令
(12)
注意这里的积分上限改成了π/4,因为π/2>θ>π/4的时候tanθ>1,将导致积分发散。
对(12)式做一个小变换,于是有关系式:
(13)
而初值T0=π/4,观察规律有
(14)
其中m=1,2,3,...而从式(12)中可知
结合(14)式,得到
(15)
或者:
(16)
显然这种方法形式上比前两种方法要简单得多,计算机执行的时候也能更高效。
幂级数的应用,arctanθ展开为幂级数(泰勒级数)后表达式为:
(17)
该级数的收敛域为[-1,1],将x=1代入,则得到式(15),这又是一个殊途同归的例子!
扩展资料:
圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 在分析学里,π可以严格地定义为满足sin x = 0的最小正实数x。
圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值。它是一个无理数,即无限不循环小数。在日常生活中,通常都用3.14代表圆周率去进行近似计算。而用十位小数3.141592654便足以应付一般计算。即使是工程师或物理学家要进行较精密的计算,充其量也只需取值至小数点后几百个位。
1965年,英国数学家约翰·沃利斯(John Wallis)出版了一本数学专著,其中他推导出一个公式,发现圆周率等于无穷个分数相乘的积。2015年,罗切斯特大学的科学家们在氢原子能级的量子力学计算中发现了圆周率相同的公式。
参考资料:百度百科-π