background image

Metody Numeryczne w Mechanice - 

Ćwiczenia laboratoryjne (M.Pyrz) 

 

 

Obliczanie wartości i wektorów własnych 

 
 
 
 

1.

 

Programowanie 

Napisać skrypt w Scilabie umożliwiający wyznaczenie wartości własnej danej macierzy rzędu 

n za pomocą metody potęgowej. Poszukiwana będzie wartość własna o największym module 

(oraz odpowiadający jej wektor własny). 

 

Algorytm :  
wybrać  wektor  początkowy  x

(0)

  i  znormalizować  go  stosując  normę  euklidesową 

(0)

1

=

q

.  

Dla iteracji 

1, 2, 3, ...

k

=

, obliczyć następujące wielkości  

 

(k)

(k-1)

x

= Aq

 ,       

(k)

( )

(k-1)

j

k

j

λ

=

x

q

     

(k)

(k)

(k)

=

x

q

x

  . 

Zatrzymać iteracje po spełnieniu kryterium stopu 

( )

(

1)

k

k

λ

λ

ε

<

.   

 

Po  kolejnych  iteracjach 

( )

1

lim

k

k

λ

λ

→∞

=

  oraz 

( )

1

lim

k

k

→+∞

=

x

  ,  gdzie 

1

λ

  jest  wartością 

własną  o  największym  module,  natomiast 

1

  jest  wektorem  własnym  odpowiadającym 

wartości 

1

λ

.  

 

 

2.

 

Test i sprawdzenie poprawności 

Wyznaczyć wartość własną o największym module (i odpowiadający jej wektor własny) dla 

macierzy A.  

 

 

 

Przeprowadzić obliczenia dla dokładności 

ε

=10

-1

, 10

-2

, …, 10

-6

 startując z wektorów x

1

(0) 

[1 0.5 1 0.5]

T

 oraz z x

2

(0) 

= [0.5 -1 0 0]

T

 i podać liczbę iteracji niezbędnych do uzyskania 

rozwiązania.  

Porównać wynik z rozwiązaniem otrzymanym za pomocą funkcji 

spec i sformułować 

wnioski. 

 

2 10

8

0

4

1

1

5

0

2

8 12

2

1

4

8

A

=

background image

Metody Numeryczne w Mechanice - 

Ćwiczenia laboratoryjne (M.Pyrz) 

 

 

 
3.

 

Przykład obliczeniowy  

Rozważamy przedstawiony na rysunku układ mas połączonych sprężynami: 

 

 
 

gdzie x1(t), x2(t) i x3(t) przedstawiają oscylacje poziome(w funkcji czasu t) mas m1, m2 i m3 

wokół położenia równowagi, k1, k2 i k3 są sztywnościami sprężyn. 

 

Zakładamy, że x1(t),  x2(t) i x3(t) spełniają następujący układ różniczkowych równań ruchu: 

''

0

3

''

0

3

3

''

0

k1+ k2

-k2

0

x1(t)

m1

0

0

x1 (t)

-k2

k2+ k3

k

x2(t)

0

m2

0

x2 (t)

0

k

k

x3(t)

0

0

m3

x3 (t)

 

 

 

  

  

+

=

  

  

 

 

 

  

 

x1″(t), x2″(t) i x3″(t) oznaczają drugie pochodne x1(t) , x2(t) i x3(t) po czasie. 

Poszukujemy rozwiązania układu równań różniczkowych czyli funkcji x1(t), x2(t) i x3(t) w 

postaci: 

sin(

),

sin(

),

(

sin(

)

x1(t)

a1

t

x2(t)

a2

t

x3 t)

a3

t

ω θ

ω θ

ω θ

=

+

=

+

=

+

 , gdzie a1, a2, a3, 

ω

 i 

θ

 są stałymi niezależnymi od czasu. 

a)

 

Wykazać, ze 

ω

2

 jest wartością własną macierzy 

 
 
 

b)

 

  Przyjmując wartości:     k1 = k2 = k3 = m1 = m2 = m3 = 1. 

wyznaczyć  (stosując  metodę  potęgową)  największą  wartość  własną  podanej  macierzy  oraz 

odpowiadający  jej  wektor  własny  (kryterium  stopu: 

001

.

0

)

1

(

)

(

=

ε

λ

λ

k

k

,  wektor 

początkowy: 

[

]

(0)

0.8

1.0

0.4

=

T

x

). 

c)

 

Wyznaczyć wszystkie częstotliwości i postaci drgań korzystając z funkcji 

spec  

d)   Korzystając z funkcji 

spec przeprowadzić obliczenia 

ω

 (i postaci drgań) dla układu mas i 

sprężyn charakteryzowanego przez (wystarczy wybrać jeden dowolny przpadek) i 
przedstawić schematycznie uzyskane postaci drgań. 

i)

 

k1 =3,  k2 = 2,  k3 =1  et  m1 = 1,  m2 = 1,  m3 = 1, 

ii)

 

k1 =1,  k2 = 1,  k3 =1  et  m1 = 1,  m2 = 2,  m3 = 3, 

iii)

 

k1 =1,  k2 = 1,  k3 =1  et  m1 = 1,  m2 = 4,  m3 = 1. 

 

x1(t) 

x2(t) 

x3(t) 

m1 

m2 

m3 

k1 

k2 

k3 

(k1+ k2)/m1

-k2/m1

0

-k2/m2

(k2 + k3)/m2

-k3/m2

0

-k3/m3

k3/m3