通过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

这个计算器能做什么

本工具通过计算历史上几种著名的"马青类"双项反正切公式,来求出数学常数圆周率π。每一个公式都把 \(\pi/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} + \dots$$ 会逐项累加,直到某一项小于容差 \(0.5\times10^{-(\text{位数}+2)}\) 为止。参数越小,收敛越快:马青公式中的 \(1/5\) 与 \(1/239\),比欧拉公式的 \(1/2\) 与 \(1/3\) 所需项数要少得多,却能达到更高精度。

格雷戈里反正切级数以逐渐缩小的交错条形表示,收敛于某个值
每个反正切都用各项快速减小的交错格雷戈里级数来计算。
示意图将圆周率表示为由直角三角形构成的两个按比例缩放的反正切角的组合
马青类公式将 \(\pi\) 表示为两个反正切项的加权和。

计算实例(马青 1706)

取 \(\text{arg1} = 1/5\)、\(c_1 = 4\),则 \(\arctan(0.2) \approx 0.19739555985\);取 \(\text{arg2} = 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)运算。

最后更新: