Кирсанов М.Н.
Решебник.Теоретическая механика.
М.:ФИЗМАТЛИТ, 2002.
Иллюстрации и программы к книге
17.3. Колебания системы с двумя степенями свободы
Условие задачи отличается от условия в Решебнике. Здесь колебания совершают не цилиндры, а просто грузы, связанные пружиной.
Первый (левый) груз A соединен слева пружиной с неподвижным основанием.
Массы (кг) подобраны так, чтобы отношение частот было равно 3
Жесткость пружин (Н/м)
Кинетические энергии тел A, B
Ta:=ma*vx^2/2:
Кинетическая энергия системы
Инерционные коэффициенты
> |
a11:=coeff(diff(T,vx),vx):
|
> |
a12:=coeff(diff(T,vx),vs):
|
> |
a22:=coeff(diff(T,vs),vs):
|
Частота колебаний omg
> |
B1:=c-a11*omg^2: B2:=a12*omg^2:
|
> |
УравнениеЧастот:=B1*(c-a22*omg^2)-B2^2=0:
|
Решение уравнения частот
> |
sol:=fsolve(УравнениеЧастот,omg=0..infinity);sol[2]/sol[1];#Отношение частот
|
Дифференциальные уравнения колебаний
> |
eq1:=a11*diff(x(t),t$2)+a12*diff(s(t),t$2)=-c*x(t):
|
> |
eq2:=a12*diff(x(t),t$2)+a22*diff(s(t),t$2)=-c*s(t):
|
Численное решение системы с начальными данными. Грузы сместили и движение начинается из покоя.
> |
r:=dsolve({eq1,eq2,s(0)=0.1,x(0)=0.1,D(s)(0)=0,D(x)(0)=0},
{s(t),x(t)},type=numeric,
output=listprocedure):
|
> |
T0:=6.4:#Длину интервала подбираем кратной периоду
|
> |
s1:=odeplot(r,[t,x(t)],0..T0,numpoints=150,labels=[t,x],color=black,thickness=2):
|
> |
s2:=odeplot(r,[t,s(t)],0..T0,numpoints=150,labels=[t,x],color=red):
|
Warning, the name changecoords has been redefined
> |
n:=200: # Число точек (кадров) для анимации
|
> |
k:=2000:# Масштабный коэффициент для рисунка
|
> |
fd := fopen("C:\\DOS\\sfla.txt", WRITE):#Открываем файл. Пишем s
fprintf(fd, "ms=[ %3.0f",k*rs(0)):
|
> |
fprintf(fd, ",%3.0f",k*rs(tm));
od:
|
> |
fclose(fd):# Закрываем файл
|
> |
fd := fopen("C:\\DOS\\xfla.txt", WRITE):#Открываем файл. Пишем x
fprintf(fd, "mx=[ %3.0f",k*rx(0)):
|
> |
fprintf(fd, ",%3.0f",k*rx(tm));
od:
|
|