Маятники¶
Колебательные процессы появляютя при наличии в системе положения устойчивого равновесия. Механическим примером таких систем являются маятники - тела, подвешенные в поле силы тяжести. Уравнение движения такой системы в простейшем случае имеет вид: \(J\frac{d^2\phi}{dt^2}=-M(\phi)\), где J - момент инерции системы, M - момент сил, возвращающих систему в положение равновесия.
Математический маятник¶
В случае математического маятника длины l \(J=m \cdot l^2\), \(M = gl \cdot sin(\phi)\), что дает уравнение движения \(\frac{d^2\phi}{dt^2}+ \frac{g}{l} \phi=0\).
Для его решения воспользуемся функцией odeint()
модуля scipy.integrate
.
Задаем функцию, возвращающую столбец правых частей системы уравнений:
def force_math(f,t): """ The dynamical flow of the system """ return f[1],-g/L*sin(f[0]) # f[0] is fi, angle# f[0] is fi, angle
Используется стандартный вид функции, принимающий координаты точки (данном случае значение угла и его первой производной) и время, возвращающий значения производных от каждой компоненты вектора.
Задаем моменты времени, для которых вычисляется положения маятника:
# Times at which we want the integrator to return the positions: N=10000 t = np.linspace(0, 50, N)
Решаем систему, получаем доступ к массиву координат,находим декартовые координаты маятника, строим графики:
# Initial conditions R0 = np.array([np.pi*0.99, 0.]) R = integr.odeint(force_math, R0, t) phi, phi_dot, = R.T x = L*np.sin(phi) y = -L*np.cos(phi) py.plot(t, x) py.plot(t, y) py.show()
Маятник Капицы¶
Рассмотрим математический маятник, точка подвеса которого совершает гармонические колебания погармоническому закону: \(y_o(t)=a*cos(\gamma t)\). Уравнение движения такого маятника имеет вид \(\frac{d^2\phi}{dt^2}+ (\frac{g}{l}+\frac{a \gamma^2}{l} cos(\gamma t)) \cdot sin(\phi)=0\)
Для решения уравнения зададим новую функцию, возвращающую столбец правых частей интегрального уравнения:
def force_kapitsa(f,t): return f[1],-(g/L+a/L*gamma**2*cos(gamma*t))*sin(f[0])
Решение проводим по алгортму, описанному выше.
Задайте частоту внешней силы в 10 раз больже частоты собственных колебаний.
Попробуйте установить амплитуду выдуждающие силы больше \(\sqrt{2gl/ \gamma^2}\). Что происходит, если маятник запускать из положения близкого к 180 градусам?