Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Компьютерные лабораторные занятия по теоретической механике. Ч. 2 (110

.pdf
Скачиваний:
5
Добавлен:
15.11.2022
Размер:
474.01 Кб
Скачать

Задача 8.4

Известно, что потенциальная энергия системы имеет вид U(x) = z4 mgz. Найти частоту малых колебаний.

Ответ:

 

! = r108 m :

6

g2

Задача 8.5

Найти положения равновесия и частоту малых колебаний в задаче

4.2.

Ответ при l0 < a:

r

xeq = 0; ! = ma(a l0):

Ответ при l0 > a:

 

q

 

 

 

 

r

ml02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xeq =

 

l02

 

a2; ! =

(l02

 

a2):

 

 

 

 

 

Задача 8.6

В задаче 4.3 найти положение равновесия и частоту колебаний.

Ответ:

 

 

 

 

 

 

1 m

2

 

:

! = r

 

 

 

+

 

 

 

Положение равновесия находится на расстоянии

1l1 + (2a l2) 2

1 + 2

от левой стенки, что соответствует расстоянию от центра

2(q l2) 1(q l1):1 + 2

Задача 8.7

В задаче 4.6(а) найти частоту колебаний. Решение.

Введя угол равновесия 'eq, перейдем к малой величине = ' 'eq.

Тогда полученное ранее уравнение движения при малых амплитудах должно трансформироваться в уравнение гармонических колебаний

a

 

g

 

!

2

 

'• +

l

 

cos ' +

l

sin ' = 0

+ !

= 0:

11

M2 X_ 2 + 2 x2 2(x l0)2:

Поскольку '• = , нам достаточно приравнять соответствующие части

без производных, предварительно разложив тригонометрические функции в ряд Тейлора:

> subst(phi=theta+phieq,a/l*cos(phi)+g/l*sin(phi));

> eq:taylor(%,theta,0,2)=omega^2*theta;

> eq1:coeff(eq,theta,0); eq2:coeff(eq,theta,1);

Чтобы выразить частоту, возведем каждые части уравнений в квадрат и сложим:

> trigsimp(eq1^2+eq2^2);

Ответ: r

! = 4 g2 + a2 : l2

Задача 8.8

Найти частоту колебаний однородного полушара, находящегося на гладкой коризонтальной поверхности, если известна функция Лагранжа системы

L = mR2

 

8 sin2

' +

640

 

'2

mgR 1

8 cos '

:

 

 

3

 

 

83

 

 

 

3

 

Ответ: r

! = 2 8330Rg :

Задача 8.9

Два шарика, соединенные пружиной, движутся вдоль гладкой горизонтальной прямой. Найти частоту колебаний, если в координатах центра масс и относительного смещения функция Лагранжа системы имеет вид:

L =

p

Ответ: = .

Задача 8.10

Плоский маятник длины l и массы m2 прикреплен к телу массы m1,

движущемуся по горизонтальной прямой в той же плоскости. Найти ча- стоту малых колебаний, если функция Лагранжа системы имеет вид:

 

m1 + m2

2

 

l

L =

 

x

+ m2l'

 

' + x cos ' + m2gl cos ':

 

 

2

 

 

2

12

Решение.

Разложим функцию Лагранжа в ряд Тейлора до второго порядка малости включительно. Обобщенные скорости сначала введем как fx è f':

> Lold:(m1+m2)/2*vx^2+m2*l*vf

*(l/2*vf+vx*cos(phi))+m2*g*l*cos(phi);

> ta:ratdisrep(taylor(Lold,[x,phi,vx,vf],0,3));

Подстановка в уравнения Лагранжа II рода приводит к системе уравнений:

> depends([x,phi],t);

> L:subst([vx=diff(x,t),vf=diff(phi,t)],ta);

> eq1:diff(diff(L,diff(x,t)),t)-diff(L,x)=0;

> eq2:diff(diff(L,diff(phi,t)),t)-diff(L,phi)=0;

Благодаря наличию интеграла движения, частота колебаний в задаче одна. Избавившись от величины x•,

> eliminate([eq1,eq2],[diff(x,t,2)]);

получим дифференциальное уравнение (второго порядка)

lm2 (lm1'• + gm2' + gm1') = 0;

которое решим с помощью стандартной команды ode2. Так как команда eliminate дает серию выражений, то перейдем к единственному уравнению, указав в квадратных скобках единицу:

> ode2(%[1],phi,t);

Ответив на вопрос Maxima Is glm1(m2+m1) positive, negative, or zero? positive, получаем закон движения '(t). Так как положением

равновесия является угол 'eq = 0, то явный вид частоты колебаний можно получить по формуле

p

! = '='• :

> f:part(%,2);

> factor(diff(f,t,2)/f);

> omega:sqrt(-%);

Ответ: s

! =

g(m1 + m2)

:

 

 

l m1

Задача 8.11

Точки подвеса двух математических маятников одинаковой массы m и одинаковой длины l находятся на одном уровне на расстоянии l0 äðóã

13

первый способ

от друга. Материальные точки маятников соединены пружиной жесткости {, имеющей в ненапряженном состоянии длину l0 (¾связанные ма-

ятники¿). Найти частоты малых колебаний связанных маятников, если известна функция Лагранжа системы:

 

 

 

 

L =

ml2

'12 + '22 + mgl(cos '1 + cos '2)

 

 

 

 

 

 

2

 

 

 

 

k

 

 

 

 

 

 

2

 

 

p(l0 + l sin '2 l sin '1)2 + (l cos '2 l cos '1)2 l0

 

 

 

:

Здесь

2

 

'1; '2 углы отклонения маятников от вертикали.

 

 

Решение.

В равновесии маятники располагаются вертикально, поэтому считаем j'1j 1; j'2j 1:

Разложим функцию Лагранжа в ряд Тейлора до второго порядка малости включительно. Обобщенные скорости сначала введем как f1 è f2:

> depends([phi1,phi2],t);

> Lold:m*l^2/2*(f1^2+f2^2)+m*g*l*(cos(phi1)+cos(phi2))

-k/2*(sqrt((l0+l*sin(phi2)-l*sin(phi1))^2+(l*cos(phi2) -l*cos(phi1))^2)-l0)^2;

> ta:taylor(Lold,[phi1,phi2,f1,f2],0,3);

> ratdisrep(ta);

Подстановка в уравнения Лагранжа II рода приводит к системе уравнений:

> L:subst([f1=diff(phi1,t),f2=diff(phi2,t)],%);

> eq1:expand(diff(diff(L,diff(phi1,t)),t)

-diff(L,phi1)=0);

> eq2:expand(diff(diff(L,diff(phi2,t)),t)

-diff(L,phi2)=0);

Это система линейных однородных дифференциальных уравнений. Рассмотрим ее решения применим замену Эйлера и сократим экспоненты

> eqq1:subst([phi1=A1*exp(%i*omega*t),

phi2=A2*exp(%i*omega*t)],eq1)$

> eqq2:subst([phi1=A1*exp(%i*omega*t), phi2=A2*exp(%i*omega*t)],eq2)$

> al1:ratsimp(ev(eqq1,nouns)/exp(%i*omega*t));

> al2:ratsimp(ev(eqq2,nouns)/exp(%i*omega*t));

14

Полученная система алгебраических уравнений ( al1 è al2), ãäå A1, A2 неизвестные, ! параметр, имеет нетривиальное решение при условии равенства нулю определителя матрицы коэффициентов:

> coefmatrix([al1,al2], [A1,A2]);

> determinant(%)=0;

> solve(%,omega);

Рассмотрим также второй способ решения, который опирается на симметрию задачи. Для этого введем вспомогательные переменные 1 è2, такие, что

'1 =

1

( 1

+ 2) ; '2

=

1

( 1

2) :

 

 

 

2

2

Тогда сложение и вычитание полученных дифференциальных уравнений приведет к несвязанным между собой уравнениям.

> depends([theta1,theta2],t);

> eqq1:subst([phi1=theta1+theta2,

phi2=theta1-theta2],eq1+eq2)$ eqq2:subst([phi1=theta1+theta2, phi2=theta1-theta2],eq1-eq2)$> t1:ratsimp(ev(eqq1,nouns));

t2:ratsimp(ev(eqq2,nouns));

Решая по-отдельности, находим закон изменения переменных 1 è 2

в виде тригонометрических функций, из которых значения присутствующих частот очевидны.

> ode2(t1,theta1,t);

ode2(t2,theta2,t);

 

 

 

 

 

 

 

 

 

Ответ:

 

 

 

 

 

 

 

 

 

= r

 

 

 

= r l

 

 

 

!1

 

l

; !2

+ m :

 

 

 

g

 

g

 

2k

Задача 8.12

Найти частоты малых колебаний двойного плоского маятника, если известна функция Лагранжа системы:

 

m1 + m2

2

2

 

m2 2

2

+ m2l1l2'1'2 cos('1 '2)+

L =

 

l1

'1

+

 

l2

'2

2

2

 

 

 

 

 

 

 

 

+ (m1 + m2)gl1 cos '1 + m1gl2 cos '2:

Ответ:

!2 =

g(l1

2l1l2m1

+ m2)

"1 s

1 (l1

+ l2)2(m1 + m2)

#

:

 

+ l2)(m1

 

 

 

4l1l2m1

 

 

15

8.2. Вынужденные колебания

Задача 8.13

На систему маятников, описанных в задаче (8.11), действует горизонтальная гармоническая сила F0 cos t, приложенная ко второй материальной точке. Исследовать зависимость отношения амплитуд маятников от частоты внешней силы . Указание: использовать функцию Лагранжа

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

Ответ:

 

 

 

 

 

'1(t)

 

kl

 

 

 

 

 

 

 

 

=

:

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

g

 

'2(t) kl + gm 2lm

 

Ïðè 2

=

 

+

отношение амплитуд маятников стремится к бесконеч-

 

l

ности.

m

 

 

 

 

 

 

 

Задача 8.14

На линейный осциллятор массы m с собственной частотой ! действует сила F (t). Найти закон колебаний, если начальные условия x(0) = x0, x(0) = v0 известны.

à) F = F0 постоянная;

á) F = F0 t= ; â) F = F0 e t;

ã) F = F0 cos( t);

д) случай (г) при = ! (резонанс).

Здесь F0, , , постоянные. Решение для случая (а).

> eq:'diff(x,t,2)+omega^2*x=F0/m;

> ode2(eq,x,t);

> ic2(%,t=0,x=x0,'diff(x,t)=v0);

> expand(%);

Ответ:

 

 

 

 

 

 

 

v0

 

F0

 

(1 cos(!t)) ;

a) x(t) = x0 cos(!t) +

 

 

 

sin(!t) +

 

 

!

m!2

 

 

 

 

 

 

v0

 

F0

 

(!t sin(!t)) ;

á) x(t) = x0 cos(!t) +

 

 

sin(!t) +

 

 

!

m!3

 

â) x(t) =

x0

m( 2 + !2) cos !t+

 

 

 

 

 

 

 

 

F0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ ! v0 + m( 2 + !2)

sin(!t) + m( 2 + !2)e t;

 

 

1

 

 

 

 

 

 

F0

 

 

 

 

F0

16

ã) x(t) = x0 cos(!t) +

v0

sin(!t) +

F0

 

cos( t) cos(!t)

;

 

m

!2 2

!

 

 

 

ä) x(t) = x0 cos(!t) + v!0 sin(!t) + 2Fm!0 t sin(!t):

Задача 8.15

В предыдущей задаче рассмотреть случай, когда при t = 0 осциллятор покоится в положении равновесия, а сила действует при 0 t .

Найти закон гармонических колебаний и амплитуду после выключения силы; построить график для произвольных значений постоянных.

Решение для случая (а).

Введем полученный ранее закон движения и соответствующую скорость в переменные x1 è v1:

> x1:F0/(m*omega^2)*(1-(cos(omega*t))); v1:diff(x1,t);

После выключения силы колебания станут гармоническими, введем их в переменные x2 è v2:

> x2:A*cos(omega*t)+B*sin(omega*t); v2:diff(x2,t);

Постоянные A è B найдем сшивкой решений:

> d:trigsimp(solve([subst(t=tau,x2=x1),

subst(t=tau,v2=v1)],[A,B]));

Подставим значения постоянных A è B в закон движения x2 и присвоим переменной xnew:

eliminate([x2=xx,d[1][1],d[1][2]],[A,B])[1];

xnew:part(solve(%,xx)[1],2);

Амплитуду таких колебаний найдем по формуле (8.1) при xeq = 0:

a:sqrt(trigsimp(xnew^2+diff(xnew,t)^2/omega^2));

Ответ:

x(t ) = m!F0 2 [(cos(! ) 1) cos(!t) + sin(! ) sin(!t)] ;

 

F0

 

 

 

2F0

 

 

 

 

 

 

a =

 

p2

2 cos(! ) =

 

sin(! =2):

m!2

m!2

Для построения графиков присвоим численные значения силы, массы

èсобственной частоты в переменные f0, m0 è om:

> load(draw);

> f0:1$ m0:1$ om:5$

Превратим коэффициенты A, B и переменные x1, x2 в функции вре- ìåíè t (и момента выключения силы ):

> X1(tt):=subst([F0=f0, m=m0, omega=om,t=tt],x1);

> A1:part(d[1][1],2); B1:part(d[1][2],2);

17

> X2(tt,TT):=subst([A=A1,B=B1,F0=f0, m=m0, omega=om,

t=tt,tau=TT],x2);

После выбора величины построим график из двух частей, до и после выключения силы:

> tau:4;

> xf:parametric(t,X1(t),t,0,tau);

> xh:parametric(t,X2(t,T),t,tau,10);

> draw2d([nticks=200,color=blue,xf,color=green,xh]);

График показан на рисунке.

Задача 8.16

Определить вынужденные колебания осциллятора с частотой ! ïðè

наличии силы трения под действием внешней силы f = f0 et cos t: Решение.

Считаем коэффициент затухания известным, используем для него

переменную lam, так как команда lambda задействована в среде Maxima как функция. Подставим условие задачи

> assume(m>0,omega>0,lam>0);

> F:F0*exp(alpha*t)*cos(g*t);

в уравнение вынужденных колебаний в среде в сопротивлением:

x• + 2 x + !2x = F (t) m

> eq:'diff(x,t,2)+omega^2*x+2*lam*'diff(x,t)=F/m;

Решим дифференциальное уравнение с учетом малой вязкости ( < !). Задав нулевые начальные условия, оставим только неоднородную часть решения:

18

> assume(omega>lam); ode2(eq,x,t);

> des:part(factor(subst([%k1=0,%k2=0],%)),2);

Ответ, присвоенный в переменную des, оказался довольно громоздким. Сгруппировав в числителе множители при функциях cos и sin,

> trigrat(num(des));

введем обозначения

b1 = (2 + 2 ) ; b2 = !2 + 2 2 + 2

> cond1:omega^2+2*alpha*lam-g^2+alpha^2=b1;

cond2:2*g*lam+2*alpha*g=b2;

С учетом введенных условий упростим решение

> x1:scsimp(num(des),cond1,cond2)/

scsimp(denom(des),cond1,cond2);> factor(%);

Ответ:

F0et

b1 cos( t) + b2 sin( t)

 

 

 

x(t) =

 

 

 

:

m

b12 + b22

Задача 8.17

Определить энергию, приобретаемую осциллятором с частотой ! ïîä действием силы F = F0 exp t2= 2 за все время действия силы, если ïðè t ! 1 осциллятор покоился в положении равновесия.

Решение.

> kill(all);

> assume(m>0,omega>0,tau>0);

> F:F0*exp(-t^2/tau^2);

> xi:exp(%i*omega*t)*integrate(F/m*exp(-%i*omega*t),

t,-inf,inf);

Используем команду cabs для взятия модуля в формуле энергии ос-

циллятора

 

 

mj j2

 

 

 

 

E =

:

 

 

 

2

 

 

 

> E:trigsimp(m*cabs(xi)^2/2);

 

 

 

Ответ:

F02 2

 

2!2

 

 

 

 

E =

 

exp

 

:

2m

2

19

9. Формализм Гамильтона

9.1. Функция Гамильтона и канонические уравнения

Задача 9.1

Выписать уравнения Гамильтона для физического маятника массы m, если одна из главных осей инерции параллельна оси вращения и про-

ходит от нее на расстоянии l. Соответствующий момент инерции равен J. Проинтегрировать уравнения движения для случая малых углов от-

клонения.

Решение.

Функция Лагранжа физического маятника имеет вид

L('; ') = (J + ml2)'2 + mgl cos(') : 2

> L:(m*l^2+J)/2*'diff(phi,t)^2+m*g*l*cos(phi);

Запишем обобщенный импульс, соответствующий переменной ', и функцию Гамильнона (согласно определениям) в виде равенств:

@L

p' = @'; H = p'' L;

> eq:pp=diff(L,'diff(phi,t));

> eqH:Ham=pp*'diff(phi,t)-L;

Выразим обобщенную скорость через импульс и подставим в функцию Гамильтона, решив систему алгебраических уравнений:

> s:solve([eq,eqH],['diff(phi,t),Ham]);

Искомое выражение находится в правой части первого решения для второй переменной; извлечем его:

> H:part(s[1][2],2);

Для того, чтобы представить ответ в более удобном виде, воспользуемся командой разбиения на элементарные дроби partfrac, взяв знаменатель в качестве переменной разложения:

> partfrac(H,denom(H));

Подставляя функцию H в канонические уравнения

' =

 

@H

; p' =

@H

;

 

 

 

@p'

@'

> eq1:'diff(phi,t)=ratsimp(diff(H,pp));> 'diff(pp,t)=-partfrac(diff(H,phi),phi);

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]