Затухание, вынужденные колебания и резонанс
Трение гасит колебания, а вынуждающая сила на собственной частоте их раскачивает.
Резонанс — резкий рост амплитуды колебаний, когда частота вынуждающей силы совпадает с собственной частотой системы.
Затухание: трение съедает энергию
Реальные колебания не вечны — трение и сопротивление воздуха отбирают энергию. Это моделируют силой, пропорциональной скорости: F_трение = -2γ·v. Уравнение становится x'' = -2γ·x' - ω₀²·x. Амплитуда убывает по экспоненте e^(-γt):
import math
w0, gamma = 2.0, 0.2
x, v, dt = 1.0, 0.0, 0.01
print("Затухающие колебания (огибающая e^(-γt)):")
print(" t x e^(-γt)")
t = 0.0
for step in range(0, 1501):
if step % 250 == 0:
print(f"{t:4.1f} {x:+.3f} {math.exp(-gamma*t):.3f}")
a = -2*gamma*v - w0*w0*x
v += a*dt; x += v*dt; t += dtВывод:
Затухающие колебания (огибающая e^(-γt)): t x e^(-γt) 0.0 +1.000 1.000 2.5 +0.107 0.607 5.0 -0.333 0.368 7.5 -0.146 0.223 10.0 +0.075 0.135 12.5 +0.078 0.082 15.0 -0.003 0.050
Колебания плавно гаснут: размах сжимается под экспоненциальную огибающую. Выбранные моменты времени не попадают точно на пики, поэтому x не равно огибающей — но все значения лежат внутри коридора ±e^(-γt). При сильном затухании (большое γ) колебаний вовсе нет — система просто сползает к равновесию (апериодический режим).
Вынужденные колебания и резонанс
Теперь добавим внешнюю периодическую силу F·cos(ωt). Система раскачивается на частоте этой силы, а её установившаяся амплитуда сильно зависит от того, насколько частота ω близка к собственной ω₀. Построим резонансную кривую:
import math
w0, gamma, F = 1.0, 0.05, 1.0
def amplitude(w):
x, v, dt, t = 0.0, 0.0, 0.01, 0.0
maxx = 0.0
steps = int(400/dt)
for step in range(steps):
a = -2*gamma*v - w0*w0*x + F*math.cos(w*t)
v += a*dt; x += v*dt; t += dt
if step > steps*0.7:
maxx = max(maxx, abs(x))
return maxx
print("Резонансная кривая (амплитуда отклика vs частота):")
print("частота ω амплитуда")
for w in (0.5, 0.8, 0.9, 1.0, 1.1, 1.2, 1.5):
A = amplitude(w)
print(f" {w:.1f} {A:6.2f} {'#'*int(A)}")
print("Пик у ω≈ω0=1.0 — резонанс.")Вывод:
Резонансная кривая (амплитуда отклика vs частота): частота ω амплитуда 0.5 1.33 # 0.8 2.71 ## 0.9 4.75 #### 1.0 10.00 ########## 1.1 4.23 #### 1.2 2.20 ## 1.5 0.80 Пик у ω≈ω0=1.0 — резонанс.
На собственной частоте (ω=1.0) амплитуда взлетает до 10 — в разы выше, чем при других частотах. Это резонанс: подталкивая систему в такт её собственным колебаниям, даже слабая сила раскачивает её очень сильно. Так ребёнок на качелях набирает высоту, толкаясь в нужный момент.
Как работает под капотом
Острота резонансного пика определяется затуханием γ: чем меньше трение, тем выше и уже пик (добротность Q). При нулевом трении амплитуда на резонансе формально уходит в бесконечность — система накапливает энергию без потерь. Отсюда и инженерная опасность: мост, здание или деталь машины могут разрушиться, если внешняя вибрация попадёт в их собственную частоту. Знаменитый обвал моста Такома-Нарроуз — наглядная (хоть и более сложная) иллюстрация резонансной катастрофы.
Частые ошибки
- Мерить амплитуду до установления режима. В начале есть переходный процесс; устойчивую амплитуду берут в конце прогона.
- Ждать бесконечной амплитуды на резонансе. При любом ненулевом трении пик конечен; высоту ограничивает
γ. - Путать собственную частоту с частотой вынуждающей силы. Резонанс — это их совпадение, а не одно и то же.
Итоги
- Трение даёт силу
-2γv; амплитуда гаснет по экспонентеe^(-γt). - Внешняя сила раскачивает систему на своей частоте.
- Резонанс — пик амплитуды при совпадении частоты силы с собственной.
- Острота пика обратна затуханию; малое трение опасно резонансной катастрофой.