← 数学与统计

圆周率近似探索器

用近似值、误差、连续匹配的小数位、收敛图和采样表比较四种方法,同时观察几何递推、交错级数和可复现的伪随机模拟。

所有计算都在浏览器本地完成。复制分享 URL 后,可以在课堂或自学时重新打开同一组设置。

如果你想在相同目标下直接比较速度,请打开 圆周率算法竞速。如果接下来需要精确十进制前缀,请继续使用 圆周率数字生成器

其他语言 日本語 | English | 简体中文 | 繁體中文 | 繁體中文(香港) | Español | Português (Brasil) | Français | Italiano
3 步开始
  1. 先只选一种方法,用默认输入跑第一遍。
  2. 同时看近似值、误差、图表和下方采样表,不要只盯着最后一个数字。
  3. 想复用同一组设置时,可以换示例,或直接复制 URL。

课堂示例:先做快速演示,再比较级数,最后用可复现的蒙特卡洛说明随机波动。

多边形

从内接正六边形的弦长开始,通过边数加倍递推计算半周长。近似值生成不使用已知圆周率,Math.PI只用于误差参考。

可选择6到12,288边,每个选项的边数都是前一个的两倍。

近似值
参考 π
绝对误差
相对误差
一致位数
输入摘要

收敛图

红色虚线表示参考 π。把图和下面的采样表一起看,更容易看出不同方法的节奏差异。

采样步骤

所选方法的收敛步骤采样
步骤 近似值 绝对误差 相对误差

四种近似方法的原理

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
用伪随机点估计面积比。固定种子可复现同一组实验。

本页比较收敛行为,而不是相同的计算成本。边数、项数和点数不是等价的工作量;如需比较速度,请使用圆周率算法竞速。

讲义与板书准备

教学提示

常见问题

多边形近似会先用圆周率来计算圆周率吗?

不会。它从内接正六边形的弦长出发,用边数加倍递推计算半周长。Math.PI只用于比较结果误差。

连续匹配小数位是什么意思?

从小数点后第一位开始比较,到首次不同之前为止。整数部分的3不计入。

为什么Gregory–Leibniz级数这么慢?

因为交错项的绝对值下降很慢。公式容易理解,但高精度需要非常多的项。

为什么Nilakantha看起来比Gregory快?

它的项下降得更快,所以相近项数下误差通常更小。不过不同方法的一项并不代表相同运行时间。

为什么蒙特卡洛结果会波动?

它用有限个伪随机点估计面积比。增加点数通常会更稳定,但误差不一定单调下降。

种子是什么?

种子是伪随机序列的初始状态。同一点数和同一种子会得到同一结果,种子0也是独立有效值。

参考圆周率精确到多少位?

页面使用JavaScript Math.PI,受双精度限制。匹配判定最多到小数点后14位,不是任意精度计算。

这能公平比较四种方法的速度吗?

不能。边数、项数和点数的计算量不同。本页用于观察收敛和误差;速度比较请使用圆周率算法竞速。

相关计算器