3 步開始
- 先只選一種方法,用預設輸入跑第一遍。
- 同時看近似值、誤差、圖表和下方採樣表,不要只盯着最後一個數字。
- 想複用同一組設定時,可以換範例,或直接複製 URL。
課堂範例:先做快速演示,再比較級數,最後用可複現的蒙特卡洛說明隨機波動。
多邊形
從內接正六邊形的弦長開始,以邊數加倍的遞迴計算半周長。近似值生成不使用已知圓周率,Math.PI只作誤差參考。
近似值—
參考 π—
绝對誤差—
相對誤差—
一致位數—
輸入摘要—
收斂圖
紅色虛線表示參考 π。把圖和下面的採樣表一起看,更容易看出不同方法的節奏差異。
採樣步驟
| 步驟 | 近似值 | 绝對誤差 | 相對誤差 |
|---|
四種近似方法的原理
- Polygon
c₆ = 1; c₂ₙ = cₙ / √(2 + √(4 − cₙ²)); πₗₒwₑᵣ = n × cₙ / 2
從內接正六邊形的弦長開始,以邊數加倍的遞迴計算半周長。近似值生成不使用已知π,Math.PI只作誤差參考。- Gregory–Leibniz
π ≈ 4 × Σ (-1)ᵏ / (2k + 1)
簡單易明,但上下擺動而且收斂很慢。- Nilakantha
π ≈ 3 + 4/(2·3·4) − 4/(4·5·6) + 4/(6·7·8) − …
在較少項數下通常比Gregory改善得更快。- Monte Carlo
π ≈ 4 × inside / total
用偽隨機點估計面積比例。固定種子可重現同一組實驗。
本頁比較收斂行為,不代表相同的計算成本。邊數、項數及點數不是等價的工作量;如要比較速度,請使用圓周率演算法競速。
講義與板書準备
教學提示
- 想先建立幾何直覺時,先從多邊形開始最自然。
- Gregory 故意很慢,所以能把“收斂”這個概念直觀看出來。
- 緊接著看 Nilakantha,學生通常更容易感受到“方法不同,效率就不同”。
- 蒙特卡洛法適合說明另一件事:隨機過程也會朝穩定平均值靠近,但軌跡不會很平滑。
常見問題
多邊形近似會先用圓周率來計算圓周率嗎?
不會。它從內接正六邊形的弦長開始,以邊數加倍的遞迴計算半周長。Math.PI只用作結果誤差的參考。
連續相符小數位是甚麼?
從小數點後第一位開始比較,直至第一次不同之前;整數部分的3不計算在內。
為甚麼Gregory–Leibniz級數這麼慢?
因為交錯項的絕對值下降很慢。公式容易理解,但要取得高精度便需要非常多項。
為甚麼Nilakantha看起來比Gregory快?
它的項縮小得更快,所以相近項數下誤差通常較小。不過不同方法的一項並不代表相同執行時間。
為甚麼蒙特卡羅結果會波動?
它用有限個偽隨機點估計面積比例。增加點數通常較穩定,但誤差不一定單調下降。
種子是甚麼?
種子是偽隨機序列的起始狀態。同一點數及同一種子會得到同一結果,種子0亦是獨立有效值。
參考圓周率精確至多少位?
頁面使用JavaScript Math.PI,受雙精度限制。相符判定最多至小數點後14位,並非任意精度計算。
這能公平比較四種方法的速度嗎?
不能。邊數、項數及點數的計算量不同。本頁用來觀察收斂與誤差;速度比較請使用圓周率演算法競速。