Программа 27. Задача 44  

>    restart;

>    read "C:\\graph.m";

>    T1:=(3/4)*m[1]*R^2*w^2: # Кин.энергия

>    v[P,1],v[P,2]:=0$2:

>    G:=Граф([P,O,A],[R,R],[Pi/2,q1],[w,w]):

>    Решение:=solve({G[1],G[2]},{v[A,1],v[A,2]});

>    assign(Решение);

>    Va:=sqrt(v[A,1]^2+v[A,2]^2):

>    T2:=m[2]*Va^2/2: # Кин. энергия

>    T:=simplify(T1+T2):

>    Q:=expand((M*w-m[2]*g*v[A,2]+F*v[A,2])/w): # Обобщ.сила

>    P:=-int(Q,q1):# Потенц энергия

`Решение` := {v[A,1] = -R*w-R*sin(q1)*w, v[A,2] = R*cos(q1)*w}

>    L:=T-P;       # Кинетич. потенциал

L := 1/4*R^2*w^2*(3*m[1]+4*m[2]+4*m[2]*sin(q1))+M*q1-m[2]*g*R*sin(q1)+F*R*sin(q1)

>    eq:=p1=diff(L,w):

>    w:=solve(eq,w):

>    H:=p1*w-L:    # Функция Гамильтона

>    with(DEtools):with(PDEtools):

>    declare(q1(t),p1(t));

>    Z:=hamilton_eqs(H); # Канонич.уравнения

q1(t)*`will now be displayed as`*q1

p1(t)*`will now be displayed as`*p1

Z := [p1[t] = 4*p1^2/R^2/(3*m[1]+4*m[2]+4*m[2]*sin(q1))^2*m[2]*cos(q1)+M-m[2]*g*R*cos(q1)+F*R*cos(q1), q1[t] = 2*p1/R^2/(3*m[1]+4*m[2]+4*m[2]*sin(q1))], [p1, q1]