Свободные колебания

>    restart:

>    with(linalg):

Массы

>    ma:=5.: mb:=2.: mc:=2.:

Вычисление кин.энергии

>    omega:=(x-s)/2/r: vc:=(x+s)/2:Jc:=mc*r^2/2:

>    T:=mb*1/2*x^2+mc*1/2*vc^2+Jc*omega^2/2+ma*3/4*(s/2)^2:

Коэффициенты в уравнении Лагранжа

>    a11:=coeff(diff(T,x),x);
a22:=coeff(diff(T,s),s);
a12:=coeff(diff(T,x),s);

Warning, the protected names norm and trace have been redefined and unprotected

a11 := 2.750000000

a22 := 2.625000000

a12 := .2500000000

Жесткость

>    c:=1:

>    A:=array(1..2,1..2,[[a11,a12],[a12,a22]]):

Матрица жесткости

>    C:=array(1..2,1..2,[[0,0],[0,c/4]]):

>    evalm(A*w^2-C):

Частотное уравнение

>    eq:=collect(det(evalm(A*w-C)),w):

>    pp:=solve(eq,w):

>    w1=sqrt(pp[1]);w2=sqrt(pp[2]);

w1 = 0.

w2 = .3099513978