这个计算器能做什么
本工具利用四个经典的三项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}).$$ 负系数只是把对应的反正切项做减法,符号会按列表中标注的形式精确保留。
计算示例
以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 这类高精度运算才能达到更大的位数目标。
这四个公式给出的结果都一样吗?是的。它们在数学上是等价的π恒等式,唯一不同的只是收敛速度。