Lab 6 Drgania Swobodne Liniowych Układów Dyskretnych


MK-7
DRGANIA SWOBODNE LINIOWYCH UKAADÓW DYSKRETNYCH
Wyznaczyć drgania swobodne układu przedstawionego na rysunku
x1 x2 x3 x4 x5
k k k k
k
m
m mm m
" Określić energię kinetyczną i potencjalną
> with(LinearAlgebra): with(plots):
> n:=5; x0:=0:
> E:=1/2*add(m*(v||i)^2,i=1..n);
> U:=1/2*add(k*(x||i-x||(i-1))^2,i=1..n);
" Wyznaczyć macierz bezwładności M i sztywności K
"2E "2U
mij = , kij =
"vi"v "xi"x
j j
> M:=Matrix(n):K:=Matrix(n):
> for i to n do
for j to n do
M[i,j]:=diff(E,v||i,v||j):
K[i,j]:=diff(U,x||i,x||j):
end do:
end do:
> M,K;
" Obliczyć wartości własne (w) i wektory własne (W) macierzy A = M-1K
(kolumny macierzy modalnej W są wektorami własnymi macierzy A)
> A:=M^(-1).K;
> m:=1:k:=1:
> w,W:=Eigenvectors(A);
" Uszeregować rosnąco elementy wektora wartości własnych wykorzystując procedurę sortowanie
(Procedura wykorzystuje zmienne globalne: w  wektor wartości własnych i W  macierz
wektorów własnych, sortując równocześnie wektory własne)
> sortowanie():
> w;
> W;
" Obliczyć wektor czÄ™stoÅ›ci wÅ‚asnych korzystajÄ…c z zależnoÅ›ci É0 = wi
i
> omega:=map(sqrt,w);
" Wyodrębnić wektory własne z macierzy modalnej W
> for i to n do u||i:=W[1..n,i]: ut||i:=Transpose(u||i): end do:
" Zadać wektor przemieszczeń początkowych odpowiadający kolejnym wektorom własnym
> mode:=1;
> x0:=u||mode:v0:=Vector(n):
" Zapisać rozwiązanie opisujące drgania własne układu na podstawie wzoru
n
îÅ‚ Å‚Å‚
ëÅ‚ v0
T
ìÅ‚ ÷Å‚
x = M cos(Éit)+ sin(Éit)öłśł ui
ïÅ‚
"ïÅ‚ui
ìÅ‚x0 ÷łśł
Éi
i=1 íÅ‚ Å‚Å‚
ðÅ‚ ûÅ‚
> x:=eval(add(ut||i.M.(x0*cos(omega[i]*t)+v0/omega[i]*sin(omega[i]*t))
*u||i,i=1..n)):
" Przedstawić przemieszczenia wszystkich mas na wspólnym wykresie
> plot([seq(x[i],i=1..n)],t=0..4*Pi/omega[mode]);
" Dokonać animacji ruchu układu
> animate(pointplot,[[seq([3/2*(i-1)+x[i],0],i=1..n)],
symbol=box,symbolsize=50],t=0..2*Pi/omega[mode],frames=100,color=red,
axes=none);
" Zadać warunek początkowy odpowiadający uderzeniu prawej skrajnej masy, sporządzić wykres i
dokonać animacji ruchu
> v0[n]:=-1:x0:=Vector(n):
Powtórzyć wszystkie obliczenia przyjmując: n = 8, 10


Wyszukiwarka

Podobne podstrony:
lab Modelownie liniowych układów dyskretnych2
Kryterium Nyquista dla układów dyskretnych
12WM lab drganiaid295
L2 Badanie charakterystyk czasowych liniowych układów ciągłych wartości elementów
5) Drgania swobodne układu o dwóch stopniach swobody
Drgania swobodne
L3 Badanie charakterystyk częstotliwościowych liniowych układów ciągłych N
drgania swobodne modelu o jednym stopniu swobody
L2 Badanie charakterystyk czasowych liniowych układów ciągłych
Analiza uchybowa układów dyskretnych
Analiza uchybowa układów dyskretnych
Ćw 7 Korekcja liniowych układów regulacji
Badanie liniowych układów scalonych

więcej podobnych podstron