圓周率的計算方法:摘抄自
Linxh
如果圖片無法顯示,請
(1)刷新即可,即可避過圖片"盜鏈"檢測.
(2)請直接到原文閱讀:http://hi.baidu.com/linxhchina/blog/item/92478f3d353e9700bba16707.html
2006-11-03 13:14
? 古人計算圓周率,一般是用割圓法。即用圓的內接或外切正多邊形來逼近圓的周長。Archimedes用正96邊形得到圓周率小數點后3位的精度;劉徽用正3072邊形得到5位精度;Ludolph Van Ceulen用正262邊形得到了35位精度。17世紀出現的數學分析使?π 的計算歷史也隨之進入了一個新的階段。
?
?
1593年,韋達給出
 這一不尋常的公式是 π 的最早分析表達式。甚至在今天,這個公式的優美也會令我們贊嘆不已。它表明僅僅借助數字2,通過一系列的加、乘、除和開平方就可算出 π 值。 接著有多種表達式出現。如沃利斯1650年給出:
 一些計算圓周率的經典的常用公式 Machin公式   ?? 這個公式由英國天文學教授John Machin于1706年發現。他利用這個公式計算到了100位的圓周率。Machin公式每計算一項可以得到1.4位的十進制精度。因為它的計算過程中被乘數和被除數都不大于長整數,所以可以很容易地在計算機上編程實現。 ??? 還有很多類似于Machin公式的反正切公式。在所有這些公式中,Machin公式似乎是最快的了。雖然如此,如果要計算更多的位數,比如幾千萬位,Machin公式就力不從心了。下面介紹的算法,在PC機上計算大約一天時間,就可以得到圓周率的過億位的精度。這些算法用程序實現起來比較復雜。因為計算過程中涉及兩個大數的乘除運算,要用FFT(Fast Fourier Transform)算法。FFT可以將兩個大數的乘除運算時間由O(n2)縮短為O(nlog(n))。 Ramanujan公式 ? 1914年,印度數學家Srinivasa Ramanujan在他的論文里發表了一系列共14條圓周率的計算公式,這是其中之一。這個公式每計算一項可以得到8位的十進制精度。1985年Gosper用這個公式計算到了圓周率的17,500,000位。 ??? 1989年,David & Gregory Chudnovsky兄弟將Ramanujan公式改良成為:
? 這個公式被稱為Chudnovsky公式,每計算一項可以得到15位的十進制精度。1994年Chudnovsky兄弟利用這個公式計算到了4,044,000,000位。Chudnovsky公式的另一個更方便于計算機編程的形式是:
AGM(Arithmetic-Geometric Mean)算法 Gauss-Legendre公式: 初值:
重復計算: 最后計算: ?? 這個公式每迭代一次將得到雙倍的十進制精度,比如要計算100萬位,迭代20次就夠了。1999年9月Takahashi和Kanada用這個算法計算到了圓周率的206,158,430,000位, 創出新的世界紀錄。
Borwein四次迭代式: 初值:
 重復計算: 最后計算: 這個公式由Jonathan Borwein和Peter Borwein于1985年發表,它四次收斂于圓周率。 Bailey-Borwein-Plouffe算法 ? 這個公式簡稱BBP公式,由David Bailey, Peter Borwein和Simon Plouffe于1995年共同發表。它打破了傳統的圓周率的算法,可以計算圓周率的任意第n位,而不用計算前面的n-1位。這為圓周率的分布式計算提供了可行性。1997年,Fabrice Bellard找到了一個比BBP快40%的公式,而且據說是目前世界上計算圓周率最快的算法: ????? 現代科技領域使用的圓周率值,有十幾位已經足夠了。如果用Ludolph Van Ceulen算出的35位精度的圓周率值,來計算一個能把太陽系包起來的一個圓的周長,誤差還不到質子直徑的百萬分之一。美國天文學家西蒙·紐克姆的話來說明這種計算的實用價值:
“十位小數就足以使地球周界準確到一英寸以內,三十位小數便能使整個可見宇宙的四周準確到連最強大的顯微鏡都不能分辨的一個量。”
|
posted on 2006-11-09 15:43
哈哈 閱讀(1047)
評論(2) 編輯 收藏 引用