Свободные колебания
> | 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
Жесткость
> | 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]); |