透過 MCP 連接 →

輸入計算

數學公式

數學公式: 圓周率(π)計算器:馬青類雙項反正切級數
Show calculation steps (1)
  1. Machin-like two-term formula

    Machin-like two-term formula: 圓周率(π)計算器:馬青類雙項反正切級數

    Pi expressed from two arctangents of small rational arguments for fast convergence.

廣告

結果

算得的 π 值
3.141592653663433
via Machin 1706 arctangent formula
π 真值(Math.PI) 3.141592653589793
使用項數 16
與 π 真值的絕對誤差 7.363976E-11

這個計算器的功能

本工具透過數種歷史上著名的「馬青類(Machin-like)」雙項反正切公式來計算數學常數 π。每一條公式都把 π/4 表示成兩個小有理數反正切值的加權和,而每個反正切再以經典的格雷戈里/萊布尼茲冪級數展開。由於這些反正切的引數都很小,級數收斂得相當快,只需少數幾項就能達到雙精度浮點數的完整準確度。

使用方式

從下拉選單中挑選一條知名公式——馬青(Machin,1706)、赫爾曼(Hermann,1706)、歐拉(Euler,1738)、歐拉與維加(Euler & Vega,1755),或赫頓(Hutton,1776)。接著設定你想要的有效位數,以及級數項數上限(最大迭代次數)。計算器會回傳算得的 π 值、在下一項小於容許誤差前所累加的項數,以及與 π 真值相比的絕對誤差。

注意:本重製版本採用 IEEE 雙精度浮點運算,準確度約可達 15~16 位有效數字。超過此範圍的設定會被限制在 15 位;若要達到原工具 22~50 位的範圍,則需使用任意精度(大數)運算。

公式說明

通用恆等式為 $$\pi = 4\left(c_1\,\arctan\frac{p_1}{q_1} + c_2\,\arctan\frac{p_2}{q_2}\right)$$ 格雷戈里級數 $$\arctan(x) = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + \cdots$$ 會逐項相加,直到某一項小於容許誤差 \(0.5\times10^{-(\text{位數}+2)}\) 為止。引數越小,收斂越快:馬青使用的 \(1/5\) 與 \(1/239\),所需項數遠少於歐拉的 \(1/2\) 與 \(1/3\),卻能達到相同的高準確度。

格雷戈里反正切級數以逐漸縮小的交錯長條表示,收斂於某個值
每個反正切都用各項快速減小的交錯格雷戈里級數來計算。
示意圖將圓周率表示為由直角三角形構成的兩個按比例縮放的反正切角的組合
馬青類公式將 π 表示為兩個反正切項的加權和。

實例演算(馬青 1706)

取 \(\text{arg}_1 = 1/5\)、\(c_1 = 4\),則 \(\arctan(0.2) \approx 0.19739555985\);取 \(\text{arg}_2 = 1/239\)、\(c_2 = -1\),則 \(\arctan(1/239) \approx 0.00418407600\)。於是 $$\frac{\pi}{4} = 4\cdot 0.19739555985 - 0.00418407600 = 0.78539816339$$ 因此 $$\pi = 4\cdot 0.78539816339 = 3.14159265359$$ 與真值相符。

常見問題

為什麼沒有萊布尼茲級數(arctan 1)這個選項?因為 \(\arctan(1) = \pi/4\) 收斂得極為緩慢——累加數千項也只能得到寥寥幾位正確數字——所以它僅在歷史脈絡中提及,並未列為快速公式供選用。

為什麼馬青公式所需的項數比歐拉少?因為馬青的引數(\(1/5\)、\(1/239\))較小,而格雷戈里級數在 \(|x|\) 越小時收斂越快。

在這裡能算出 40 位的 π 嗎?用雙精度做不到;結果大約只能可靠到 15 位。要更高的精度,必須使用大數(big-decimal)運算。

最後更新: