Маятник: когда формула перестаёт работать

Школьная формула периода маятника верна лишь для малых колебаний — симуляция покажет, где она ломается.

Математический маятник — груз на невесомой нити длины $L$; при малых отклонениях его колебания гармонические с периодом $T = 2\pi\sqrt{L/g}$.

Уравнение маятника

Если отклонить маятник на угол $\theta$, возвращающая сила пропорциональна $\sin\theta$, и уравнение движения для угла таково:

$$\ddot\theta = -\frac{g}{L}\sin\theta.$$

Это нелинейное уравнение из-за синуса, и точного решения в элементарных функциях у него нет. Но при малых углах $\sin\theta \approx \theta$ (в радианах), и уравнение становится тем же гармоническим осциллятором, что и пружина, с $\omega = \sqrt{g/L}$. Отсюда знаменитая формула периода малых колебаний:

$$T = 2\pi\sqrt{\frac{L}{g}}.$$

Для $L = 1$ м и $g = 9.8$ это $T \approx 2.007$ с. Важно: в эту формулу не входит ни масса груза, ни амплитуда — потому Галилей и заметил, что период не зависит от размаха (для малых колебаний).

Симуляция и проверка периода

Проинтегрируем полное нелинейное уравнение с синусом и измерим период по моментам прохождения через ноль. Сравним для разных начальных амплитуд.

import math
def period(theta0, g=9.8, L=1.0, dt=0.0005):
    th, om, t = theta0, 0.0, 0.0
    prev, crossings = th, []
    while t < 10:
        a = -(g/L)*math.sin(th)
        om += a*dt; th += om*dt; t += dt
        if prev > 0 and th <= 0:        # прошли ноль сверху вниз
            crossings.append(t)
            if len(crossings) == 2:
                break
        prev = th
    return crossings[1] - crossings[0]

print(f"малоугловая формула T = {2*math.pi*math.sqrt(1.0/9.8):.4f} с")
for deg in (5, 30, 60, 90, 120):
    print(f"амплитуда {deg:3d}°  период {period(math.radians(deg)):.4f} с")

Вывод:

малоугловая формула T = 2.0071 с
амплитуда   5°  период 2.0080 с
амплитуда  30°  период 2.0420 с
амплитуда  60°  период 2.1540 с
амплитуда  90°  период 2.3690 с
амплитуда 120°  период 2.7555 с

При $5°$ симуляция даёт $2.008$ с — почти точно формула. Но с ростом амплитуды период увеличивается: при $90°$ он уже $2.37$ с, а при $120°$ — целых $2.76$ с, на $37\%$ больше «школьного» значения. Формула $T = 2\pi\sqrt{L/g}$ — это приближение для малых углов, и симуляция наглядно показывает границы его применимости. Реальный маятник при больших размахах качается медленнее.

Как работает под капотом

Источник расхождения — замена $\sin\theta$ на $\theta$. При $\theta = 90° = \frac{\pi}{2} \approx 1.571$ рад истинный $\sin\theta = 1$, а приближение даёт $1.571$ — завышение на $57\%$. Возвращающая сила оказывается слабее, чем в линейной модели, поэтому маятник «ленится» и период растёт. Этот пример — отличная иллюстрация общего принципа: численная симуляция честно решает настоящее уравнение, тогда как аналитическая формула часто опирается на упрощение. Когда упрощение нарушается, доверять надо симуляции. Кстати, измерение периода по двум прохождениям нуля — простой, но рабочий способ извлечь характеристику из «сырой» траектории.

Частые ошибки

  • Применять $T=2\pi\sqrt{L/g}$ к большим амплитудам. При размахе в десятки градусов формула заметно занижает период.
  • Линеаризовать уравнение в коде. Если написать $a = -(g/L)\theta$ вместо $\sin\theta$, вы потеряете весь эффект — симуляция станет «врать» так же, как формула.
  • Слишком крупный шаг при измерении периода. Грубая сетка промахивается мимо момента нуля; для точного периода нужен малый $\Delta t$ или интерполяция.

Итог

  • Уравнение маятника $\ddot\theta=-\frac{g}{L}\sin\theta$ нелинейно; точной формулы периода нет.
  • Малоугловое приближение даёт $T=2\pi\sqrt{L/g}$, не зависящий от массы и амплитуды.
  • Симуляция показывает: с ростом амплитуды период растёт (при $120°$ — на $\approx 37\%$).
  • Симуляция решает настоящее уравнение; формула верна лишь там, где верно упрощение.
Проверьте себя
1. Почему формула T=2π√(L/g) приближённая?
AВ ней ошибка
BОна получена заменой sin θ ≈ θ, верной лишь для малых углов
CОна не учитывает массу
Dg меняется с высотой
2. Что происходит с периодом маятника при росте амплитуды?
AУменьшается
BРастёт (при 120° примерно на 37% больше малоуглового)
CНе меняется
DСтановится нулевым
3. Входит ли масса груза в период малых колебаний маятника?
AДа, прямо пропорционально
BНет, период зависит только от длины и g
CДа, обратно пропорционально
DТолько при больших амплитудах