background image

 

 

 
 

MODELOWANIE I SYMULACJA 

 

Modelowanie liniowego układu dyskretnego

 

 
 

Wyznaczyć rozwiązanie analityczne opisujące ruch liniowego układu dyskretnego przedstawionego 
na rysunku 

 

gdzie m oznacza masę poszczególnych ciał, k – sztywność każdej sprężyny, a x

i

 , i = 1, 2, ...,5 –  

przemieszczenia środków poszczególnych mas. 
 
Kolejność postępowania: 
 

1.  Wyznaczyć energię kinetyczną i potencjalną układu wykorzystując zależności: 

 

5

4

2

2

1

1

1

1

1

,

(

)

2

2

i

i

i

i

i

E

m

v

U

k

x

x

  

2.   Wyznaczyć macierz sztywności K i bezwładności korzystając ze wzorów: 

 

2

2

,

ij

ij

i

j

i

j

U

E

k

m

x x

v v

 

 

  

Uwaga: należy zadeklarować najpierw obie macierze, by następnie wyznaczyć ich elementy 
w podwójne pętli 

3.  Wyznaczyć macierz A związaną z macierzami K i wzorem 

1

A

M K

 

4.  Przyjąć dane liczbowe: m = 1, k = 100 i wyznaczyć wartości i wektory własne macierzy A 

korzystając z komendy Eigenvectors w postaci  

> alpha,V:=Eigenvectors(A):  

5.  Korzystając z procedury sortowanie posortować wartości własne zmieniając 

równocześnie w odpowiedni sposób pozycje kolumn w macierzy V, zawierającej wektory 
własne macierzy A 

> alpha,V:=sortowanie(alpha,V);  

6.  Dokonać normalizacji wektorów własnych względem macierzy bezwładności korzystając ze 

wzoru (u

i

 – kolumny macierzy V

 

,

1, 2,...,

i

i

T
i

i

i

n

u

w

u Mu

  

 

background image

7.  Wyznaczyć częstości drgań swobodnych korzystając z komendy map ze wzoru 

 

,

1, 2,...,

i

i

i

n

  

  

 

gdzie 

i

 oznaczają posegregowane wartości własne. 

8.  Zadać warunki początkowe w formie wektora przemieszczeń początkowych x

zawierającego zerowe elementy i wektora prędkości początkowych v0 zawierającego 
niezerową pierwszą współrzędną równą 10 

> x0:=Vector(5,[0,0,0,0,0]); v0:=Vector(5,[10,0,0,0,0]); 

9.  Wyznaczyć analityczne rozwiązanie opisujące ruch poszczególnych mas korzystając ze 

wzoru 

 

5

1

1

2

0

. .( 0

0 )

. .

0 cos (

)

sin (

)

T

T
i

i

i

i

i

i

t

t

t

 

 

v

x

w M x

v

w

w M x

w

  

10. Sporządzić wykres przemieszeń i prędkości poszczególnych mas korzystając z poniższych 

komend: 

> plot([seq(x[i],i=1..n)],t=0..3); 
> v:=map(diff,x,t): 
> plot([seq(v[i],i=1..n)],t=0..3); 

11. Dokonać animacji ruchu poszczególnych mas korzystając z poniższych komend: 

> seq_pkt:=seq([(j-1)*3+'x'[j],0],j=1..n); 
> animate(pointplot,[[seq_pkt],symbol=box,symbolsize=50], 
  t=0..3,frames=100,color=red,axes=none); 

12. Sporządzić wykres czasowy energii mechanicznej (E + U

> plot(E+U,t=0..5,0..100); 

13. Która ze sprężyn będzie najbardziej ściśnięta/rozciągnięta w trakcie pierwszych trzech 

sekund?