参数设置
播放摆动
重置
默认值:L=1.0 m、θ₀=45°、g=9.81 m/s²、m=1.0 kg。动画使用精确周期 T,以实时一个周期对应一次往返,并用虚线标出最大振幅位置 ±θ₀。质量 m 不影响周期但会改变势能。
摆动动画
长度 L、质量 m 的摆悬挂于固定点。蓝色球为当前角度,左右两条橙色虚线对应最大振幅停止位置 ±θ₀。播放时以精确周期 T 实时往复振动。
周期误差随振幅 θ₀ 的变化
横轴 振幅 θ₀ (°) [0–175];纵轴 周期误差 (%)。蓝色为椭圆积分给出的精确误差,橙色虚线为级数展开第 1 项 θ₀²/16。黄色标记为当前工作点 (θ₀, 误差)。θ₀→180° 时误差发散。
理论与主要公式
摆的周期在小振幅近似与严格解之间相差很大,这里并列给出两个表达式。
小角度近似周期(等时性):
$$T_{0} = 2\pi\sqrt{\dfrac{L}{g}}$$
精确周期(第一类完全椭圆积分 K(k)):
$$T = 4\sqrt{\dfrac{L}{g}}\,K\!\left(\sin\dfrac{\theta_{0}}{2}\right),\quad K(k)=\int_{0}^{\pi/2}\dfrac{d\varphi}{\sqrt{1-k^{2}\sin^{2}\varphi}}$$
级数展开与势能:
$$T \approx T_{0}\left(1+\dfrac{\theta_{0}^{2}}{16}+\dfrac{11\theta_{0}^{4}}{3072}+\dfrac{173\theta_{0}^{6}}{737280}+\cdots\right),\qquad E = m g L (1-\cos\theta_{0})$$
$L$ 为摆长 [m],$\theta_{0}$ 为振幅 [rad],$g$ 为重力加速度 [m/s²],$m$ 为质量 [kg]。$T_{0}$ 不依赖质量与振幅(等时性),$T$ 随 $\theta_{0}$ 增大而变长,并在 $\theta_{0}\to\pi$ 时发散。势能 $E$ 是最高点(振幅 $\theta_{0}$)的取值。
大振幅摆模拟器简介
🙋
默认值 θ₀=45° 时显示 T₀=2.006 s、T=2.086 s、误差 4.00%。仅 45° 就有 4% 偏差?教科书说「摆是等时的」,挺意外。
🎓
这是好问题。「等时性」只在小振幅区(θ₀ 大约 < 10°,sin(θ)≈θ)成立。θ₀=45° 时 sin(θ) 比 θ 小,回复力相对减弱,周期就被拉长。仅取级数展开第一项 θ₀²/16,对 θ₀=0.785 rad 已经给出 +3.85%,与本工具用 AGM 法直接算椭圆积分得到的精确值 4.00% 已经非常接近。伽利略 1602 年观察到的「等时性」只是在 5° 左右的小振幅成立的近似规律,并非普遍真理。
🙋
把滑块拉到 θ₀=175°,误差直接 >1000%,摆球几乎停在屏幕最上方。物理上发生了什么?
🎓
当 θ₀→180°,K(1)=∞,周期本身就发散。物理上这意味着「到达倒立不稳平衡点(θ=180°)所需时间趋于无穷」——由能量守恒,在 θ=180° 时动能为零的瞬间,任何微扰都会指数级放大。在相空间中这条轨道叫「分离线(separatrix)」,把振荡轨道与旋转轨道分开。鞍点附近时间「变慢」是非线性动力学的经典例子。
🙋
蓝色曲线(精确)和橙色虚线(级数 1 项)在 θ₀=60° 之后开始明显分开,级数得取多少项才实用?
🎓
级数 T=T₀(1+θ₀²/16+11θ₀⁴/3072+173θ₀⁶/737280+22931θ₀⁸/1321205760+...) 的收敛半径是 θ₀=π。θ₀=45° 时两项就达到 0.005% 精度,四项即达机器精度;θ₀=120° (2.09 rad) 时第一项给 27.4%、精确值 31.7%,要 5–6 项才行。实践上 θ₀<60° 用 2–3 项即可,更大振幅 AGM 法的椭圆积分在速度与精度上都更胜一筹。本工具全程采用 AGM 法,30 次迭代即达机器精度。
🙋
改变质量 m 只会改变势能 E,T₀、T 都不变。为什么摆的周期不依赖质量?
🎓
由运动方程 m·L·θ'' = -m·g·sin(θ) 两边 m 完全约掉,得到 θ'' = -(g/L)sin(θ)——这正是「惯性质量等于引力质量」的等效原理体现,也是伽利略「不同质量自由落体同时落地」与爱因斯坦广义相对论的出发点。势能 E=mgL(1−cosθ₀) 与 m 成正比,所以重力储能装置(如瑞士 Energy Vault 公司用 35 吨混凝土块上下移动实现 MWh 级电能存储)就靠加大 m 提升储能容量。
物理模型与主要公式
长度 $L$、质量 $m$ 的理想单摆在重力 $g$ 下的运动方程由牛顿第二定律给出:$m L \ddot{\theta} = -m g \sin\theta$,即 $\ddot{\theta} = -(g/L)\sin\theta$。小振幅近似 $\sin\theta\approx\theta$ 得到简谐振子方程 $\ddot{\theta}+(g/L)\theta=0$,固有角频率 $\omega_{0}=\sqrt{g/L}$,周期 $T_{0}=2\pi/\omega_{0}=2\pi\sqrt{L/g}$,与振幅、质量均无关(等时性)。
对大振幅保留 $\sin\theta$,由能量守恒 $\tfrac{1}{2}L^{2}\dot{\theta}^{2}+gL(1-\cos\theta)=gL(1-\cos\theta_{0})$ 得 $\dot{\theta}=\pm\sqrt{(2g/L)(\cos\theta-\cos\theta_{0})}$。从 0 积到 $\theta_{0}$ 再乘 4 得到周期:
$$T = 4\int_{0}^{\theta_{0}}\dfrac{d\theta}{\sqrt{(2g/L)(\cos\theta-\cos\theta_{0})}} = 4\sqrt{\dfrac{L}{g}}\,K\!\left(\sin\dfrac{\theta_{0}}{2}\right)$$
其中 $K(k)=\int_{0}^{\pi/2}d\varphi/\sqrt{1-k^{2}\sin^{2}\varphi}$ 是第一类完全椭圆积分。当 $k=\sin(\theta_{0}/2)\to 1$ 时 $K(k)\to\infty$,周期发散。级数展开 $T=T_{0}(1+\theta_{0}^{2}/16+11\theta_{0}^{4}/3072+173\theta_{0}^{6}/737280+\cdots)$ 的首项 $\theta_{0}^{2}/16$ 就是经典的「大振幅修正」。最高点势能 $E=mgL(1-\cos\theta_{0})$ 正比于 $m$,但不出现在周期表达式中。本工具用算术几何平均(AGM)法计算 $K(k)$ 直至机器精度。
实际应用
精密摆钟设计: 自惠更斯(1656 年)以来的摆钟通过擒纵机构(escapement)将振幅维持近似恒定,借助等时性提供时间标准。Riefler、Shortt 等天文摆钟把振幅控制在 1.5°–2°,周期误差被压到 (0.026)²/16 ≈ 4.3×10⁻⁵ ≈ 0.0043%,达到日差 1/100 秒的精度,是原子钟出现前 300 多年的世界最精时标。把本工具 θ₀ 设为 2° 即可复现 0.0076% 的误差。
地震响应与同调质量阻尼器(TMD): 高层建筑的一阶振型类似摆,在屋顶布置摆式 TMD 可与主结构反相位摆动以吸收振动能量。台北 101(660 t 摆)、上海中心大厦(1000 t)是典型实例。在设计时必须评估「设计地震幅度下 TMD 摆周期会偏移 4% 数量级,失去与主结构的同调」的风险,本工具的大振幅修正可作为直接的设计参考。完整 CAE 工作通常采用 Newmark-β 等非线性时间积分保留 sin(θ)。
昼夜节律与生物钟模型: 哺乳动物昼夜节律是非线性振荡器,周期会随振幅变化。光刺激改变振幅时周期可漂移 0.5–1 小时,「等时性破缺」的数学结构与大振幅摆完全一致。Hodgkin-Huxley 神经元放电模型也呈现同样结构,并用于癫痫发作的理论分析。
重力测量与地球形状: Kater 可逆摆(1818 年)用 $g=4\pi^{2}L/T^{2}$ 以 0.001% 精度测重力加速度,是 20 世纪上半叶大地重力测量的主力仪器。把 $L=1$ m、$T=2.006$ s 代回可反算 $g=4\pi^{2}\cdot 1/2.006^{2}=9.81$ m/s²。今天虽以超导重力仪与自由落体绝对重力仪为主流,但摆式重力计的思路仍被应用于地下空腔探测、矿床勘查与地壳形变监测。
常见误区与注意事项
最常见的误区是认为「摆的周期始终是 T=2π√(L/g),与振幅无关」 。其实这只是小振幅极限的近似。误差在 θ₀=10° 时已经 0.19%,45° 时 4.00%,90° 时 18.1%,120° 时 32%,170° 时 290% 急剧发散。本工具的误差曲线一眼显示「等时性的实用范围大约在 θ₀<10°」。教科书在表述「单摆等时性」时一定加上「微小振动」前提,应用时务必检查振幅量级。
第二个误区是「加重摆球会改变周期」 。在理想单摆中质量 $m$ 在运动方程中完全消去,周期与质量无关(等效原理)。本工具中拖动 m 滑块只会改变势能 $E$,$T_{0}$ 与 $T$ 保持不变。实际摆中如果空气阻力对小球的相对影响更大、或绳子质量不可忽略(需要复摆模型)时,这一规律可能局部失效。
最后是「椭圆积分没有闭式表达,只能近似」 的成见。它确实没有初等闭式,但 AGM 法收敛是二次的——每次迭代有效数字翻倍,30 次迭代就能达到机器精度(10⁻¹⁵)。Python 的 scipy.special.ellipk 与 C++ Boost 的 boost::math::ellint_1 内部均使用 AGM。本工具最多迭代 50 次,θ₀=174.999° 仍稳定。级数展开在 θ₀<60° 实用,超过则需多项,AGM 法是大振幅情形的主流方案。
常见问题
为什么大振幅摆的周期会依赖于振幅?
运动方程 d²θ/dt² = -(g/L)·sin(θ) 中含有非线性项 sin(θ)。在小振幅下 sin(θ)≈θ,得到与振幅无关的等时性周期 T₀=2π√(L/g);当振幅变大时 sin(θ) < θ,回复力相对减弱,周期会变长。精确表达式为 T=4√(L/g)·K(sin(θ₀/2)),其中 K(k) 是第一类完全椭圆积分。本工具在默认值 L=1.0 m、θ₀=45°、g=9.81 m/s² 下返回 T₀=2.006 s、T=2.086 s、误差 4.00%。
完全椭圆积分 K(k) 是如何计算的?
第一类完全椭圆积分 K(k)=∫₀^(π/2) dφ/√(1−k²sin²φ) 没有初等函数闭式表达,但使用算术几何平均(AGM)方法,每次迭代有效数字翻倍,几十次迭代即可达到机器精度。从 a₀=1、b₀=√(1−k²) 出发,反复执行 a_{n+1}=(a_n+b_n)/2、b_{n+1}=√(a_n·b_n) 得到极限 M(1,√(1−k²)),再由 K=π/(2M) 得到。本工具最多迭代 50 次,可在 θ₀=175° 范围内保持高精度。级数展开 T≈T₀(1+θ₀²/16+11θ₀⁴/3072+...) 在大振幅时收敛缓慢。
振幅 θ₀=90° 与 175° 时周期如何变化?
在 L=1.0 m、g=9.81 m/s² 下:θ₀=90° 时 K(sin 45°)=1.8541,T=4·0.3193·1.8541=2.369 s,误差 18.1%。θ₀=175° 时 k=sin(87.5°)≈0.9990,K≈5.435,T≈6.943 s,误差 246%(约为 T₀ 的 3.5 倍)。当 θ₀→180° 时 K(1)=∞,周期发散,物理上意味着到达倒立不稳平衡点需要无穷长时间。在相空间中此极限对应分离线(separatrix),将振荡轨道与旋转轨道分开。
什么时候应使用级数展开,什么时候使用椭圆积分?
若 θ₀ 较小(约 30° 以内),用级数展开 T≈T₀(1+θ₀²/16+11θ₀⁴/3072+173θ₀⁶/737280+...) 取一两项即可达到 0.01% 精度;θ₀=45° 时两项展开得 T/T₀≈1.0386,几乎与精确值一致。当 θ₀>90° 时级数收敛缓慢,需要多项,AGM 法计算椭圆积分更快更精确。本工具内部统一使用 AGM 法,对 θ₀=1°〜175° 全程都能精确给出精确周期。