通过MCP连接 →

输入计算

在双精度运算下,显示精度上限约为 15–16 位有效数字。

数学公式

数学公式: 圆周率计算器:三项Machin型反正切(ATAN)公式
Show calculation steps (1)
  1. Gregory (Maclaurin) series for arctangent

    Gregory (Maclaurin) series for arctangent: 圆周率计算器:三项Machin型反正切(ATAN)公式

    Each arctan of a small argument x = 1/b is summed term by term until the increment falls below the precision target.

广告

结果

计算得到的π值
3.141592653589793
π(无量纲)
第 1 项 0.797349219929296
第 2 项 -0.004184076002075
第 3 项 -0.007766980529773
相对于 Math.PI 的绝对误差 4.440892098500626E-16

这个计算器能做什么

本工具利用四个经典的三项Machin型反正切恒等式之一来计算数学常数π。每个恒等式都把 π/4 写成三个形如 a·arctan(1/b) 的反正切项的加权和,其中所有系数都是精确的整数。由于每个自变量 1/b 都很小,因此可以用Gregory(麦克劳林)幂级数高效地计算反正切。这是纯数学方法,普遍适用,不涉及任何地区性假设。

如何使用

先从下拉菜单中选择一个公式:Klingenstierna(1730年)、Strassnitzky(1844年)、Gauss(1863年)或Störmer(1896年)。然后选择精度位数。这四个公式都收敛到同一个π值,区别只在于反正切级数收敛的快慢。分母较大的公式(例如 239 和 515)比Strassnitzky的小分母收敛得更快。请注意,本程序使用双精度浮点运算,因此无论你设置多高的精度,实际显示的有效数字大约只能达到 15–16 位。

公式详解

对于所选系数,计算器把每一项计算为 term_i = a_i * atanSeries(1/b_i),其中 atanSeries(x) = x - x^3/3 + x^5/5 - x^7/7 + ...。级数会一直累加,直到下一个增量小于容差(约为 10 的负(位数加 2)次方)为止。最后 $$\pi = 4 \times (\text{term1} + \text{term2} + \text{term3}).$$ 负系数只是把对应的反正切项做减法,符号会按列表中标注的形式精确保留。

Advertisement
三个小角扇形相加构成四分之一圆,表示π除以四
三个加权的反正切角相加,正好等于四分之一π。
直角三角形,将 arctan(1/b) 表示为对边为 1、邻边为 b 的角
每一项 \(\arctan\tfrac{1}{b}\) 是直角边为 1 和 \(b\) 的直角三角形的一个角。

计算示例

以Strassnitzky恒等式为例:\(\arctan\tfrac{1}{2} = 0.4636476090008061\),\(\arctan\tfrac{1}{5} = 0.1973955598498807\),\(\arctan\tfrac{1}{8} = 0.1243549945467614\)。三者之和为 0.7853981633974482,乘以 4 得到 3.141592653589793,在双精度范围内与π完全吻合。

常见问题

为什么要用反正切恒等式,而不用更简单的级数?计算 π/4 的普通莱布尼茨级数收敛得极其缓慢。把 π/4 拆分成几个小自变量的反正切之后,每个级数都能快得多地收敛。

为什么我得不到 50 位精确数字?标准双精度运算只能保留约 15–16 位有效十进制数字。真正的任意精度版本需要使用 BigDecimal 这类高精度运算才能达到更大的位数目标。

这四个公式给出的结果都一样吗?是的。它们在数学上是等价的π恒等式,唯一不同的只是收敛速度。

最后更新: