You are on page 1of 19

Akademia Morska w Gdyni

Katedra Automatyki Okrętowej


Teoria sterowania

Równania dynamiczne Matlab

Mirosław Tomera

Złożone obiekty sterowania zazwyczaj mają kilka wejść i kilka wyjść, pomiędzy którymi mogą
występować złożone sprzężenia skrośne. Aby dla takich obiektów przeprowadzić analizę układów
sterowania, istotne staje się zredukowanie złożoności wyrażeń matematycznych i uporządkowanie ich
celem wykonania koniecznych i żmudnych obliczeń. Z tego punktu widzenia analiza w przestrzeni
stanów jest najdogodniejsza.
Podczas gdy konwencjonalna teoria sterowania opiera się na zależnościach
wejściowo-wyjściowych lub transmitancji to nowoczesna teoria sterowania opiera się na opisie układu
przy użyciu n równań różniczkowych pierwszego rzędu, które mogą być połączone w równania
różniczkowe wektorowo-macierzowe. Użycie notacji wektorowo-macierzowej wydatnie upraszcza
opis matematyczny układów modelowanych przy wykorzystaniu równań różniczkowych zwyczajnych
stacjonarnych.

1. METODY OPISU UKŁADÓW LINIOWYCH, STACJONARNYCH


1.1. RÓWNANIE RÓŻNICZKOWE
Układy sterowania mogą być modelowane przez równania różniczkowe. Ogólnie, układ jest opisany
równaniem różniczkowym n-tego rzędu
d n y (t ) d n 1 y (t ) dy (t )
an 1 ... a1 a 0 y (t ) =
dt n dt n 1
dt
d m u (t ) d m 1u (t ) du (t )
bm m
bm 1 m 1
... b1 b0 u (t ) (1)
dt dt dt
gdzie n > m. Większość układów fizycznych jest nieliniowa i musi być opisywana przez nieliniowe
równania różniczkowe.

1.2. TRANSMITANCJA OPERATOROWA


Poprzez zdefiniowanie operatora s jako
dk
sk , k = 1, 2, ..., n. (2)
dt k
oraz zapisaniu sygnałów wejścia u(t) i wyjścia y(t) w postaci operatorowej, równanie (1) może zostać
zapisane następująco:
(s n an 1s n 1
... a1 s a 0 ) Y ( s) (bm s m am 1s m 1
... b1 s b0 ) U ( s) (3)
Widać stąd, że dla układu opisanego równaniem różniczkowym (1) w łatwy sposób może być
wyznaczona transmitancja operatorowa

Ostatnia aktualizacja:2013-11-06 M. Tomera 1


Teoria sterowania Równania dynamiczne Matlab

Y (s) bm s m bm 1 s m 1
... b1 s b0
G (s) n n 1
(4)
U (s) s an 1s ... a1 s a0

1.3. RÓWNANIA DYNAMICZNE


Możliwe jest również przekształcenie opisu układu do postaci równań dynamicznych. Może to być
zrealizowane zarówno na podstawie transmitancji jak i równania różniczkowego, bądź równania
dynamiczne mogą zostać zdefiniowane na etapie modelowania układu sterowania.
Równanie różniczkowe n-tego rzędu (1) może być zdekomponowane na n równań
różniczkowych pierwszego rzędu. Równania różniczkowe pierwszego rzędu są łatwiejsze do
rozwiązania niż równania wyższego rzędu i jest to powodem dla którego są one stosowane
w analizowaniu układów sterowania.
Dla układu liniowego, stacjonarnego równania dynamiczne są zapisywane w postaci
wektorowo-macierzowej jako:
Równania stanu
dx(t )
Ax(t ) Bu(t ) (5)
dt
Równania wyjścia
y(t ) Cx(t ) Du(t ) (6)
gdzie: x(t) jest wektorem stanu, u(t) – wektorem wejścia, y(t) – wektorem wyjścia, A – macierzą
stanu, B – macierzą wejścia, C – macierzą wyjścia oraz D – macierzą sprzężenia bezpośredniego, n –
liczbą zmiennych stanu, p – liczbą wejść, q – liczbą wyjść.
x1 (t ) u1 (t ) y1 (t )
x 2 (t ) u 2 (t ) y 2 (t )
x(t ) (n 1) u(t ) ( p 1) y (t ) (q 1)
... ... ...
x n (t ) u p (t ) y q (t )

a11 a12 ... a1n b11 b12 ... b1 p


a 21 a 22 ... a 2 n b21 b22 ... a 2 p
A (n n) B ( n p)
... ... ... ... ... ... ... ...
a n1 an2 ... a nn bn1 bn 2 ... bnp

c11 c12 ... c1n d11 d12 ... d1 p


c 21 c 22 ... c 2 n d 21 d 22 ... d 2 p
C (q n) D (q p)
... ... ... ... ... ... ... ...
c q1 cq 2 ... c qn d q1 d q2 ... d qp
W dziedzinie zmiennych stanu może być również wyznaczona transmitancja operatorowa, która
wyraża się następującym wzorem:
adj( sI A)
G ( s) C( sI A )B D C B D (7)
sI A

Przykład 1
Dla układu opisanego następującym równaniem różniczkowym
dy 4 (t ) dy 3 (t ) dy 2 (t ) dy (t ) du (t )
7 17 17 6 y(t ) u (t ) (1.1)
dt 4 dt 3
dt 2
dt dt
zapisz transmitancję operatorową, a następnie wyznacz równania dynamiczne.

Ostatnia aktualizacja: 2013-11-06 M. Tomera 2


Teoria sterowania Równania dynamiczne Matlab

Rozwiązanie: Po zdefiniowaniu dla układu opisanego równaniem różniczkowym (1.1) operatora


s według wzoru (2) i wykonaniu odpowiednich przekształceń, uzyskuje się następującą
transmitancję operatorową
Y ( s) s 1
G( s) 4 3
(1.2)
U ( s) s 7s 17 s 2 17 s 6
Równania dynamiczne można uzyskać definiując dla równania (1.1) odpowiednie zmienne
stanu lub dokonując dekompozycji transmitancji (1.2). Tutaj równania dynamiczne wyznaczone
zostaną na podstawie transmitancji przy użyciu funkcji tf2ss pochodzącej z biblioteki
MATLABA.
>> num = [1 -1];
>> den = [1 7 17 17 6];
>> [A, B, C, D] = tf2ss( num, den)
A =
-7 -17 -17 -6
1 0 0 0
0 1 0 0
0 0 1 0

B =
1
0
0
0

C =
0 0 1 -1

D=
0

Oczywiście na podstawie posiadanych równań dynamicznych możliwe jest również


wyznaczenie transmitancji operatorowej przy użyciu komendy ss2tf
>> [num1, den1] = ss2tf(A, B, C, D)
num1 =
0 -0.0000 -0.0000 1.0000 -1.0000

den1 =
1.0000 7.0000 17.0000 17.0000 6.0000

2. RÓWNANIE CHARAKTERYSTYCZNE, WARTOŚCI WŁASNE I WEKTORY


WŁASNE
2.1. RÓWNANIE CHARAKTERYSTYCZNE
Dla układu opisanego transmitancją operatorową (4), równanie charakterystyczne uzyskiwane jest
przez przyrównanie do zera wielomianu mianownika.
sn a1 s n 1
... a n 1 s an 0 (8)
Dla układu opisanego równaniami dynamicznymi, równanie charakterystyczne również uzyskuje się
poprzez przyrównanie mianownika transmitancji (7) do zera
sI A 0 (9)

Ostatnia aktualizacja: 2013-11-06 M. Tomera 3


Teoria sterowania Równania dynamiczne Matlab

i prowadzi do tego samego równania jak w równaniu (8). Ważną własnością równania
charakterystycznego jest to, że jeśli współczynniki macierzy A są rzeczywiste to również
współczynniki równania (9) są rzeczywiste.

2.2. WARTOŚCI WŁASNE


Pierwiastki równania charakterystycznego (9) są często przyjmowane jako wartości własne macierzy
A. Poniżej zebrane zostały pewne ważne własności wartości własnych i są one następujące:
1. Jeśli wszystkie współczynniki macierzy A są rzeczywiste, wówczas wartości własne są
również rzeczywiste lub zespolone parami sprzężone.
2. Jeśli i , i = 1, 2,..., n jest wartością własną macierzy A to jest ona również wartością własną
macierzy A T
3. Jeśli macierz A nie jest macierzą jednostkową z wartościami własnymi i, i = 1, 2,..., n
1
wówczas 1 i , i = 1, 2,..., n są wartościami własnymi macierzy A .

2.3. WEKTORY WŁASNE


Wektory własne spełniają bardzo ważną rolę w nowoczesnej teorii sterowania i są wykorzystywane do
przekształcania macierzy przez podobieństwo. Pewien niezerowy wektor p i spełniający równanie
macierzowe
( i I A)p i 0 (10)

gdzie i , i = 1, 2,..., n, oznaczają wartości własne macierzy A, nazywany jest wektorem własnym
macierzy A i jest powiązany z wartością własną i . Jeśli macierz A ma różne wartości własne,
wówczas wektory własne mogą być wyznaczone bezpośrednio z równania (10).
Trzeba również zaznaczyć, że jeśli macierz A ma wielokrotne wartości własne i jest
niesymetryczna to wówczas nie wszystkie wektory własne mogą być znalezione poprzez zastosowanie
równania (10). Załóżmy, że pośród n wartości własnych macierzy A, q (< n) wartości własnych jest
jednokrotnych. Wektory własne, które odpowiadają q jednokrotnym wartościom własnych
wyznaczane są w zwykły sposób z zależności (10). Pośród pozostałych wartości własnych wyższego
rzędu, przyjmijmy, że j będzie m-tego rzędu m n q ; odpowiadające wektory własne mogą być
wyznaczone z m następujących równań wektorowych
( jI A)p n q 1 0
( jI A)p n q 2 p n-q 1
( jI A)p n q 3 p n-q 2 (11)

( jI A)p n q m p n-q m 1

Przykład 2
Dla macierzy A wyznacz wektory własne
7 17 17 6
1 0 0 0
A (2.1)
0 1 0 0
0 0 1 0
Rozwiązanie: Wartości własne macierzy A wyznacza się z zależności (9), natomiast wektory
własne dla wartości własnych jednokrotnych w oparciu o zależności (10) oraz dla wartości
własnych wielokrotnych w oparciu o zależność (11). W bibliotece MATLABA znajduje się

Ostatnia aktualizacja: 2013-11-06 M. Tomera 4


Teoria sterowania Równania dynamiczne Matlab

funkcja eig, która służy do wyznaczania zarówno wartości własnych jak i odpowiadających im
wektorów własnych dla dowolnej macierzy kwadratowej. Korzystając z tej funkcji i zapisując ją
dla macierzy (2.1) uzyskuje się
>> [PV, E]= eig( A)
PV =
-0.9429 0.8677 0.5000 -0.5000
0.3143 -0.4339 -0.5000 0.5000
-0.1048 0.2169 0.5000 -0.5000
0.0349 -0.1085 -0.5000 0.5000

E =
-3.0000 0 0 0
0 -2.0000 0 0
0 0 -1.0000 0
0 0 0 -1.0000
W macierzy E zawarte są wartości własne macierzy A, natomiast w macierzy PV kolumnami
odpowiadające im znormalizowane wektory własne.
W celu porównania uzyskanych wyników, przeprowadzone zostanie wyznaczenie wektorów
własnych według wzorów (10) oraz (11). Wartości własne macierzy A opisanej zależnością (2.1) są
następujące: 1 = 3, 2 = 2, 3 = 4 = 1. Macierz A ma wartość własną drugiego rzędu w –1.
Wektor własny powiązany z 1 = 3 wyznaczany jest w oparciu o równanie macierzowe (10)

4 17 17 6 p11
1 3 0 0 p 21
[ 1I A] p 1 0 (2.2)
0 1 3 0 p31
0 0 1 3 p 41
W układzie równań (2.2) znajdują się tylko trzy niezależne równania, arbitralnie przyjęty został
p41 = 1 i wyznaczone zostały pozostałe trzy składowe

27
9
p1 0 (2.3)
3
1

Wektor własny powiązany z 2 = 2 jest również wyznaczany w oparciu o równanie macierzowe (10)

5 17 17 6 p12
1 2 0 0 p 22
[ 2I A] p 2 0 (2.4)
0 1 2 0 p32
0 0 1 2 p 42
W układzie równań (2.4) również znajdują się tylko trzy niezależne równania, arbitralnie przyjęty
został p42 = 1 i wyznaczone zostały pozostałe trzy składowe

8
4
p2 0 (2.5)
2
1

Ostatnia aktualizacja: 2013-11-06 M. Tomera 5


Teoria sterowania Równania dynamiczne Matlab

Dla pozostałych wartości własnych drugiego rzędu 3 = 4 = 1, wektory własne wyznaczane są w


oparciu o wzór (11). Najpierw podstawiona zostanie wartość 3 = 1 do pierwszego równania (11).
Otrzymuje się
6 17 17 6 p13
1 1 0 0 p 23
[ 3 I A] p 3 0 (2.6)
0 1 1 0 p33
0 0 1 1 p 43

Podstawiając arbitralnie p43 = 1 można wyznaczyć pozostałe trzy składowe

1
1
p3 0 (2.7)
1
1

Wartość własną 4 = 1 podstawia się do drugiego równania (11) i otrzymuje się


6 17 17 6 p14 1
1 1 0 0 p 24 1
[ 4I A] p 4 p3 (2.8)
0 1 1 0 p34 1
0 0 1 1 p 44 1

Ustalając arbitralnie p43 = 1, uzyskuje się następujący wektor własny

2
1
p4 0 (2.9)
0
1
Ostatecznie uzyskana macierz PV składająca się z wektorów własnych macierzy A
27 8 1 2
9 4 1 1
PV [p1 p 2 p3 p4 ] = (2.10)
3 2 1 0
1 1 1 1

Porównując macierz (2.10) ze znormalizowaną macierzą PV uzyskaną przy użyciu funkcji eig
z biblioteki MATLABA, widać pewne różnice w czwartej kolumnie, gdzie nie są zachowane proporcje
między współczynnikami. Okazuje się, że funkcja eig nie wyznacza poprawnych wektorów
własnych dla drugiej i wyższych krotności wielokrotnych wartości własnych.

3. PRZEKSZTAŁCANIE RÓWNAŃ STANU PRZEZ PODOBIEŃSTWO


Mając dane równania dynamiczne dla układu z pojedynczym wejściem i z pojedynczym wyjściem
(SISO) w postaci zależności (5), (6), gdzie x(t) jest wektorem stanu o rozmiarze n 1 , u(t) = u(t) oraz
y(t) = y(t) są odpowiednio skalarnym wejściem i wyjściem. Czasami kiedy prowadzi się analizę
i projektowanie w dziedzinie stanu, często lepiej jest przekształcić równania do nowej bardziej
odpowiedniej postaci. Dla przykładu, postać kanoniczna sterowalności ma wiele interesujących
własności, która jest dogodna do sprawdzania sterowalności i projektowania sterowania od sprzężenia
stanu.

Ostatnia aktualizacja: 2013-11-06 M. Tomera 6


Teoria sterowania Równania dynamiczne Matlab

Równania (5) i (6) mogą być przekształcone na inny zbiór równań o tym samym rozmiarze
przez następujące przekształcenie
x(t ) P x(t ) (12)
gdzie P jest macierzą nieosobliwą o rozmiarze n n , czyli
x(t ) P 1 x(t ) (13)
Transformowane równania stanu mogą być zapisane następująco
d x(t )
A x(t ) Bu (t ) (14)
dt
y (t ) Cx(t ) Du (t ) (15)
Wykonując obustronną różniczkę (pochodną) na równaniu (13) względem czasu t, otrzymuje się
d x(t ) 1 dx(t )
P P 1 Ax (t ) P 1Bu (t ) P 1 AP x(t ) P 1Bu (t ) (16)
dt dt
Porównując równanie (16) z (14) otrzymuje się
A P 1 AP (17)
B P 1B (18)
Wykorzystując równanie (12), wówczas równanie (13) można zapisać w postaci
y(t ) CPx (t ) Du(t ) (19)
Porównując równania (19) z (15) widać, że
C CP D D (20)
Opisana powyżej transformacja nazywana jest przekształceniem przez podobieństwo.

3.1. POSTAĆ KANONICZNA STEROWALNOŚCI


Dla równań dynamicznych opisanych wzorami (5) i (6), równanie charakterystyczne macierzy A jest
następujące
sI A s n a1 s n 1 ... a n 1 s a n 0 = 0 (21)
Równania dynamiczne (5) oraz (6) mogą być przekształcone do postaci kanonicznej sterowalności
opisanych wzorami (14) i (15) poprzez przekształcenie (12), z macierzą
P SM (22)
gdzie
S [B AB A 2 B ... A n 1B] (23)

an 1 an 2 ... a1 1
an 2 an 3 ... 1 0
M ... ... ... .... ... (24)
a1 1 ... 0 0
1 0 ... 0 0
i wówczas

Ostatnia aktualizacja: 2013-11-06 M. Tomera 7


Teoria sterowania Równania dynamiczne Matlab

0 1 0 ... 0
0 0 1 ... 0
1
A P AP ... ... ... ... ... (25)
0 0 0 ... 1
an an 1 an 2 ... a1

0
0
1
B P B ... (26)
0
1

Macierze C i D opisane wzorami (20) nie przedstawiają szczególnego rozkładu. Przekształcenie do


postaci kanonicznej sterowalności wymaga aby istniała macierz P 1 , co oznacza, że macierzy S
zwanej macierzą sterowalności musi istnieć macierz odwrotna.

Przykład 3
Dokonaj przekształcenia do postaci kanonicznej sterowalności następujące macierze
zawierające współczynniki równań stanu (5)
7 17 17 6 1
1 0 0 0 0
A B C [0 0 1 1] D [0] (3.1)
0 1 0 0 0
0 0 1 0 0
Rozwiązanie: Równanie charakterystyczne macierzy A jest następujące
s 7 17 17 6
1 s 0 0
sI A s4 7s 3 17 s 2 17 s 6 0 (3.2)
0 1 s 0
0 0 1 s

Wobec tego współczynniki równania charakterystycznego są następujące: a 0 = 6, a1 = 17,


a 2 = 17, a 3 = 7 oraz a 4 = 1. Z równania (24)

a3 a2 a1 1 17 17 7 1
a2 a1 1 0 17 7 1 0
M = (3.3)
a1 1 0 0 7 1 0 0
1 0 0 0 1 0 0 0
Macierz sterowalności
1 7 32 122
0 1 7 32
S [B AB A 2 B A 3 B] = (3.4)
0 0 1 7
0 0 0 1
Ponieważ macierz S jest macierzą nieosobliwą, więc układ może być przekształcony do postaci
kanonicznej sterowalności. Podstawiając S oraz M do równania (22), otrzymuje się

Ostatnia aktualizacja: 2013-11-06 M. Tomera 8


Teoria sterowania Równania dynamiczne Matlab

0 0 0 1
0 0 1 0
P SM = (3.5)
0 1 0 0
1 0 0 0
Na podstawie równań (25) i (26) można przedstawić model (3.1) w postaci kanonicznej
sterowalności
0 1 0 0 0
0 0 1 0 0
A P 1 AP B P 1B C CP [ 1 1 0 0] (3.6)
0 0 0 1 0
6 17 17 7 1
co może być uzyskane jeśli znane są współczynniki równania charakterystycznego. Wyniki te
uzyskane zostały przy użyciu następującego kodu programu:
clear
A = [-7 -17 -17 -6; 1 0 0 0; 0 1 0 0; 0 0 1 0];
B = [ 1; 0; 0; 0];
C = [ 0 0 1 -1];
D = 0;
% num, den - licznik i mianownik transmitancji
[num, den] = ss2tf( A, B, C, D);
% a1, a2, a3, a4 - współczynniki równania charakterystycznego
a1 = den(2);
a2 = den(3);
a3 = den(4);
a4 = den(5);
M = [a3 a2 a1 1; a2 a1 1 0; a1 1 0 0; 1 0 0 0];
% S - macierz sterowalności
S = ctrb(A, B);
% WS - wyznacznik macierzy S
WS = det( S);
if WS ~= 0,
P = S*M;
Ac = inv(P)*A*P;
Bc = inv(P)*B;
Cc = C*P;
end;

3.2. POSTAĆ KANONICZNA OBSERWOWALNOŚCI


Dualną formą przekształcenia postaci kanonicznej sterowalności jest postać kanoniczna
obserwowalności. Układ opisany równaniami (5) i (6) jest transformowany do postaci kanonicznej
obserwowalności przez przekształcenie
x(t ) Qx(t ) (27)
Równania transformowane są opisane równaniami (14) i (15), przy czym
A Q 1 AQ B Q 1B C CQ D D (28)
gdzie

Ostatnia aktualizacja: 2013-11-06 M. Tomera 9


Teoria sterowania Równania dynamiczne Matlab

0 0 ... 0 an
1 0 ... 0 an 1
1
A Q AQ 0 1 ... 0 an 2 (29)
... ... ... ... ...
0 0 ... 0 a1

C CQ [0 0 ... 0 1] (30)

Elementy macierzy B oraz D nie są ograniczone do żadnej postaci. Zauważ, że macierze A i C są


transponowanymi macierzami A i B odpowiednio z równań (25) i (26).
Macierz transformacji Q do postaci kanonicznej obserwowalności, dana jest wzorem
1
Q (MV ) (31)
gdzie macierz M jest opisana wzorem (24), oraz
C
CA
V CA 2 (32)
....
CA n-1
Macierz V jest bardzo często nazywana macierzą obserwowalności i aby możliwa była transformacja
do postaci kanonicznej obserwowalności musi istnieć macierz V 1 .

Przykład 4
Współczynniki macierzy układu opisanego równaniami (5) i (6) są następujące
7 17 17 6 1
1 0 0 0 0
A B C [0 0 1 1] D [0] (4.1)
0 1 0 0 0
0 0 1 0 0
Z tego powodu, że macierz A jest identyczna do tej z przykładu 3 to również i macierz M
będzie taka sama jak (3.3). Macierz obserwowalności
C 0 0 1 1
CA 0 1 1 0
V 2
= (4.2)
CA 1 1 0 0
CA 3 8 17 17 6
Można pokazać, że macierz V jest nieosobliwa i dlatego układ może być przekształcony do
postaci kanonicznej obserwowalności. Podstawiając V i M do równania (31), otrzymuje się
macierz transformacji do postaci kanonicznej obserwowalności
0.0208 0.9792 6.0208 25.9792
1 0.0208 0.0208 0.9792 6.0208
Q (MV ) = (4.3)
0.0208 0.0208 0.0208 0.9792
0.0208 0.0208 0.0208 0.0208
Więc z równań (28) model (4.1) w postaci kanonicznej obserwowalności

Ostatnia aktualizacja: 2013-11-06 M. Tomera 10


Teoria sterowania Równania dynamiczne Matlab

0 0 0 6 1
1 0 0 17 1
A Q 1 AQ C CQ [0 0 0 1] B Q 1B (4.4)
0 1 0 17 0
0 0 1 7 0
Widać w (4.4), że macierze A i C są w postaci kanonicznej obserwowalności opisanej
odpowiednio równaniami (29) i (30) i macierz B nie ma określonej postaci. Wyniki te
uzyskane zostały przy użyciu następującego kodu programu:
clear
A = [-7 -17 -17 -6; 1 0 0 0; 0 1 0 0; 0 0 1 0];
B = [ 1; 0; 0; 0];
C = [ 0 0 1 -1];
D = 0;
% num, den - licznik i mianownik transmitancji
[num, den] = ss2tf( A, B, C, D)
% a0, a1, a2, a3, a4 - współczynniki równania charakterystycznego
a1 = den(2)
a2 = den(3)
a3 = den(4)
a4 = den(5)
M = [a3 a2 a1 1; a2 a1 1 0; a1 1 0 0; 1 0 0 0]
% V - macierz obserwowalności
V = obsv(A, C)
% WV - wyznacznik macierzy V
WV = det( V)
if WV ~= 0
Q = inv( M*V)
Ao = inv(Q)*A*Q
Co = C*Q
Bo = inv(Q)*B
end;

3.3. POSTAĆ KANONICZNA DIAGONALNA


Układ opisanego równaniami (5) i (6), jeśli macierz A ma jednokrotne wartości własne, wówczas
istnieje przekształcenie
x(t ) Tx(t ) (33)
które transformuje te równania do postaci opisanej równaniami (14) i (15), gdzie
A T 1 AT B T 1B C CT D D (34)
Macierz A jest macierzą diagonalną,
1 0 0 ... 0
0 2 0 ... 0
1
A T AT 0 0 3 ... 0 (35)
... ... ... ... ...
0 0 0 ... n

gdzie 1, 2 ,..., n , i = 1, 2,..., n są jednokrotnymi wartościami własnymi macierzy A.


Współczynniki macierzy B , C oraz D dane w równaniu (81) nie mają jakiejś szczególnej formy.
Zaletą diagonalnej postaci macierzowej jest to, że równania stanu są transformowane do postaci
odsprzężonej i dlatego mogą być rozwiązywane indywidualnie.

Ostatnia aktualizacja: 2013-11-06 M. Tomera 11


Teoria sterowania Równania dynamiczne Matlab

Macierz transformacji T równań stanu do diagonalnej postaci kanonicznej może być utworzona
przez zastosowanie wektorów własnych macierzy A jako jej kolumn, czyli.
T [p1 p2 p3 ... p n ] (36)
gdzie p i , i = 1, 2,..., n, oznacza wektor własny powiązany z wartością własną i. W macierzy (36)
i-ty wektor własny p i jest równy i-tej kolumnie.

Przykład 5
Rozważ macierz równania dynamiczne postaci (5.1) i wyznacz postać kanoniczną diagonalną.
0 1 0 1
A 0 0 1 B 0 C [0 0 1] D [0] (5.2)
6 11 6 0

która ma wartości własne równe 1 = 1, 2 = 2, 3 = 3. Transformacja do postaci


kanonicznej diagonalnej zostanie wykonana przy użyciu macierzy składającej się kolumnami
z wektorów własnych (36) uzyskanych przy użyciu funkcji eig. Funkcja eig należąca do
biblioteki MATLABA wyznacza wektory własne macierzy w postaci znormalizowanej
0.5774 0.2182 0.1048
T= 0.5774 0.4364 0.3145 (5.2)
0.5774 0.8729 0.9435
Macierz wektorów własnych T (5.2) w postaci nieznormalizowanej może być zapisana jako
1 1 1
T= 1 2 3 (5.3)
1 4 9
Uzyskany model (5.1) w postaci kanonicznej diagonalnej
1 0 0 3
1
A T AT =
1
0 2 0 B T B 3 C CT [ 1 4 9] (5.4)
0 0 3 1
Wyniki te uzyskane zostały przy użyciu następującego kodu programu:
clear
A = [0 1 0; 0 0 1; -6 -11 -6]; B = [1; 0; 0]; C = [0 0 1];
% E - tablica zawierająca wartości własne macierzy A
[PV, E] = eig(A)
% s1, s2, s3 - wartości własne macierzy A
s1 = E(1,1);
s2 = E(2,2);
s3 = E(3,3);
% T - macierz transformacji do postaci kanonicznej diagonalnej
T = PV;
WT = det( T);
if WT ~= 0,
Ad = inv(T)*A*T;
Bd = inv(T)*B;
Cd = C*T;
end:

Ostatnia aktualizacja: 2013-11-06 M. Tomera 12


Teoria sterowania Równania dynamiczne Matlab

3.4. POSTAĆ KANONICZNA JORDANA


W przypadku kiedy macierz A ma wielokrotne wartości własne, istnieje przekształcenie przez
podobieństwo w formie (34) i wówczas macierz A jest prawie diagonalna. Macierz A nazywana jest
postacią kanoniczną Jordana. Typowa postać kanoniczna Jordana pokazana jest poniżej

1
1 0 0 0

0 1
1 0 0

A = 0 0 1
0 0 (37)

0 0 0 2
0

0 0 0 0 3

w której założono, że macierz A posiada wartość własną trzeciego rzędu 1 i jednokrotne wartości
własne 2 i 3 .
Postać kanoniczna Jordana ma następujące własności.
1. Elementy na głównej przekątnej są wartościami własnymi.
2. Wszystkie elementy poniżej głównej przekątnej są równe zero.
3. Pewne elementy powyżej wielokrotnych wartości własnych znajdujących się na głównej
przekątnej są równe 1, jak pokazano to w macierzy (37).
4. Jedynki, razem z wartościami własnymi tworzą tzw. ramkę Jordana. Jak pokazano to
w macierzy (37), ramka Jordana oznaczona została linią przerywaną.
5. Liczba ramek Jordana jest równa liczbie r niezależnych wektorów własnych.
6. Liczba jedynek powyżej głównej przekątnej jest równa n r.
Aby wykonać przekształcenie równań stanu do postaci kanonicznej Jordana, macierz T jest
formowana poprzez zastosowanie wektorów własnych jako jego kolumn.

Przykład 6
Dla macierzy opisanej równaniem (2.1), dokonaj przekształcenia do postaci diagonalnej.
Rozwiązanie: W przykładzie 2 wyznaczone zostały wartości własne i wektory własne, które
zostały zebrane w postaci macierzy P opisanej wzorem (2.10), które posłużą do utworzenia
macierzy T.
27 8 1 2
9 4 1 1
T PV [p1 p 2 p3 p4 ] = (6.1)
3 2 1 0
1 1 1 1
Uzyskana postać diagonalna
3 0 0 0
0 2 0 0
A T 1 AT (6.2)
0 0 1 1
0 0 0 1
dla macierzy posiadającej pierwiastki wielokrotne nosi nazwę postaci diagonalnej Jordana.

Ostatnia aktualizacja: 2013-11-06 M. Tomera 13


Teoria sterowania Równania dynamiczne Matlab

ĆWICZENIA W MATLABIE
M1. Poniższe równania różniczkowe opisują układy liniowe stacjonarne. Zapisz równania
dynamiczne (równania stanu i równania wyjścia) w postaci wektorowo-macierzowej.
d 4 y (t ) d 3 y (t ) dy (t )
a) 2 3 y (t ) 2u (t )
dt 4 dt 3 dt

d 3 y (t ) d 2 y (t ) dy (t ) du (t )
b) 2 5 6 y (t ) 3 6u (t )
dt 3 dt 2 dt dt

d 4 y (t ) d 2 y (t ) dy (t ) du (t )
c) 10 5 y (t ) 5
dt 4 dt 2 dt dt

d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
d) 7 12 3 19 36u (t )
dt 3 dt 2
dt dt 2
dt

d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
e) 4 4 4 10 8u (t )
dt 3 dt 2 dt dt 2
dt

d 3 y (t ) d 2 y (t ) dy (t ) d 2 u (t ) du (t )
f) 4 8 3 16 8u (t )
dt 3 dt 2 dt dt 2
dt
t
d 3 y(t ) d 2 y(t ) dy(t )
g) 2 5 3 y(t ) y ( )d u (t )
dt 3 dt 2 dt 0

t
d 3 y(t ) d 2 y(t ) dy(t ) du(t )
h) 10 2 y(t ) 2 y( )d 2u (t )
dt 3 dt 2 dt 0
dt

M2. Dla układu liniowego, stacjonarnego opisanego równaniami dynamicznymi


1) Zapisz te równania w postaci wektorowo macierzowej
dx(t )
Ax(t ) Bu(t )
dt
y(t ) Cx(t )
2) Znajdź równanie charakterystyczne i wyznacz wartości własne macierzy A.
3) Określ transmitancję pomiędzy Y(s)/U(s).
.
a) x1 (t ) 1.5 x1 (t ) 0.5 x 2 (t ) u(t )
.
x 2 (t ) 0.5 x1 (t ) 1.5 x 2 (t ) 2 u (t )
y (t ) x1 (t )
.
b) x1 (t ) 2 x1 (t ) 3 x 2 (t ) u (t )
.
x2 (t ) x1 (t ) x2 (t )
y(t ) x 2 (t )
.
c) x1 (t ) x1 (t ) 4 x2 (t ) 2 u(t )
.
x 2 (t ) x1 (t ) 3 x 2 (t ) u (t )
y(t ) 2 x1 (t ) 3 x2 (t )

Ostatnia aktualizacja: 2013-11-06 M. Tomera 14


Teoria sterowania Równania dynamiczne Matlab

.
d) x1 (t ) 2 x 2 (t )
.
x 2 (t ) x1 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) x3 (t ) u (t )
y(t ) x1 (t ) x3 (t )
.
e) x1 (t ) 2 x 2 (t ) u (t )
.
x 2 (t ) x1 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) x 2 (t ) x3 (t )
y(t ) x1 (t ) x3 (t )
.
f) x1 (t ) 2 x1 (t ) x 2 (t ) u (t )
.
x 2 (t ) 2 x 2 (t ) u (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y (t ) x1 (t )
.
g) x1 (t ) x1 (t ) x 2 (t )
.
x2 (t ) x 2 (t ) x3 (t ) u(t )
.
x3 (t ) x3 (t ) u (t )
y(t ) x1 (t ) x3 (t )
.
h) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y (t ) x1 (t )
.
i) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x 2 (t ) 2 x3 (t ) u (t )
y(t ) x1 (t ) x2 (t )
.
j) x1 (t ) x2 (t )
.
x 2 (t ) x3 (t )
.
x3 (t ) x1 (t ) 2 x2 (t ) 3 x3 (t ) u(t )
y(t ) x1 (t ) x2 (t )

Ostatnia aktualizacja: 2013-11-06 M. Tomera 15


Teoria sterowania Równania dynamiczne Matlab

.
k) x1 (t ) 5 x1 (t ) x 2 (t )
.
x 2 (t ) 5 x 2 (t ) x3 (t )
.
x3 (t ) 5 x3 (t ) u(t )
y(t ) x2 (t ) x3 (t )
.
l) x1 (t ) 3 x1 (t ) 2 x2 (t )
.
x2 (t ) x1 (t ) x3 (t )
.
x3 (t ) 2 x1 (t ) 3 x 2 (t ) 4 x3 (t ) u(t )
y(t ) x1 (t ) x2 (t ) x3 (t )

M3. Dla układów opisanych w zadaniu M2, Znajdź przekształcenie x(t ) P x(t ) , które zamienia
równania stanu w postać kanoniczną sterowalności.

M4. Dla układów opisanych w zadaniu M2, znajdź przekształcenie x(t ) Qx(t ) , które transformuje
równania stanu do postaci kanonicznej obserwowalności.

M5. Dla układów opisanych w zadaniu M2, znajdź przekształcenie x(t ) Tx(t ) , które transformuje
równania stanu do postaci kanonicznej diagonalnej, jeśli są pierwiastki jednokrotne lub do postaci
kanonicznej Jordana, jeśli są to pierwiastki wielokrotne.

ODPOWIEDZI DO WYBRANYCH ĆWICZEŃ


M1.
2 0 3 1 1
1 0 0 0 0
a) A , B , C [0 0 0 2] , D 0
0 1 0 0 0
0 0 1 0 0
2 5 6 1
b) A 1 0 0 , B 0 , C [0 3 6] , D 0
0 1 0 0
0 10 1 5 1
1 0 0 0 0
c) A , B , C [0 0 5 0] , D 0
0 1 0 0 0
0 0 1 0 0
7 12 0 1
d) A 1 0 0 , B 0 , C [3 19 36] , D 0
0 1 0 0
4 4 0 1
e) A 1 0 0 , B 0 , C [4 10 8] , D 0
0 1 0 0
4 8 0 1
f) A 1 0 0 , B 0 , C [3 16 8] , D 0
0 1 0 0

Ostatnia aktualizacja: 2013-11-06 M. Tomera 16


Teoria sterowania Równania dynamiczne Matlab

2.5 1.5 0.5 0.5 1


1 0 0 0 0
g) A , B , C [0 0 0.5 0] , D 0
0 1 0 0 0
0 0 1 0 0
10 2 1 2 1
1 0 0 0 0
h) A , B , C [0 1 2 0] , D 0
0 1 0 0 0
0 0 1 0 0
M2.
s 0.5
a) M ( s) s 2 3s 2 0 ; 1= 1, 2= 2; G( s)
s2 3s 2
1
b) M ( s) s 2 3s 5 0 ; 1= 1.5 + j1.6583, 2= 1.5 j1.6583; G( s) 2
s 3s 2
2 7 s 11
c) M ( s) s 2s 1 0 ; 1= 1, 2= 1; G( s)
s2 2s 1
s2 6
d) M ( s) s 3 3s 2 2 0 ; 1= 1, 2= 2.7321, 3= 0.7321; G ( s) 3 2
s 3s 2
2
s s 1
e) M ( s) s 3 3s 2 2 0 ; 1= 1, 2= 2.7321, 3= 0.7321; G ( s)
s 3 3s 2 2
2
s 6s 9
f) M (s) s 3 7 s 2 16s 12 0 ; 1= 3, 2= 2, 3= 2; G( s) 3 2
s 7s 16s 12
2
s 3s 3
g) M (s) s 3 3s 2 3s 1 0 ; 1= 1, 2= 1, 3= 1; G( s) 3 2
s 3s 3s 1
3 2
h) M (s) s 3s 2s 1 0 ; 1= 2.3247, 2 = 0.3376+ j 0.5623, 3 = 0.3376 j 0.56231;
1
G( s)
s 3 3s 2 2s 1
s 1
i) M ( s) s 3 2s 2 s 0; 1= 0, 2= 1, 3= 1; G(s)
s 3 2s 2 s
3 2
j) M (s) s 3s 2s 1 0 ; 1= 2.3247, 2 = 0.3376+j0.5623, 3 = 0.3376+j0.5623
s 1
G( s )
s3 3s 2 2s 1
s 2 11s 30
k) M (s) s 3 15s 2 75s 125 0 ; 1 = 5, 2 = 5, 3 = 5; G ( s )
s 3 15s 2 75s 125
l) M (s) s 3 7s 2 17s 21 0 ; 1= 1.4476+j1.7379, 2 = 1.4476 j1.7379 5, 3 = 4.1049
2
s 4s 7
G( s)
s3 7s 2 17s 21
M3. 0 1 1
0.5 1 e) P 1 0 1
a) P
2.5 2 1 0 0
1 1 9 6 1
b) P
1 0 f) P 6 5 1
10 2 3 1 1
c) P
3 1
2 1 0
2 2 0
g) P 2 3 1
d) P 0 1 1
1 2 1
4 2 1

Ostatnia aktualizacja: 2013-11-06 M. Tomera 17


Teoria sterowania Równania dynamiczne Matlab

1 0 0 0.5 1 3
h) P 0 1 0 d) Q 0.5 1.5 4
0 0 1 0.5 1 2

1 0 0 0.2308 0.3077 1.0769


e) Q 0.1538 0.5385 1.3846
i) P 0 1 0
0.2308 0.3077 0.0769
0 0 1
f) Układ nieobserwowalny. Macierz Q nie
1 0 0 istnieje.
j) P 0 1 0 1 1 0
0 0 1 g) Q 0 1 2
1 0 0 1 1 1
k) P 5 1 0 0 0 1
25 10 1 h) Q 0 1 3
2 0 0 1 3 7
l) P 3 1 0 i) Układ nieobserwowalny. Macierz Q
2 3 1 nie istnieje.
M4. 1 1 1
0 1 j) Q 1 1 2
a) Q
2 3 1 2 5
1 2 k) Układ nieobserwowalny. Macierz Q nie
b) Q istnieje.
0 1
0.1429 0 1
3 5
c) Q l) Q 0.2143 0.5 0.5
2 3
0.3571 0.5 0.5

M5.
0.7071 0.7071
a) T PV
0.7071 0.7071
0.866 0.866
b) T PV =
0.144 j 0.479 0.144 j 0.479
2 1
c) T PV =
1 1
0 0.5591 0.8255
d) T PV 0 0.7637 0.3022
1 0.3228 0.4766
0 0.5861 0.7546
e) T PV 0 0.8007 0.2762
1 0.1239 0.5952
0 1 1
f) T PV 0 0 1
1 1 0
g) Macierz A jest już w postaci kanonicznej Jordana
0.7810 j 0.0956 0.7810 j 0.0956 0.1676
h) T PV 0.2100 j 0.4714 0.2100 j 0.4714 0.3896
0.1942 j 0.2772 0.1942 j 0.2772 0.9056

Ostatnia aktualizacja: 2013-11-06 M. Tomera 18


Teoria sterowania Równania dynamiczne Matlab

1 1 1
i) T PV 0 1 0
0 1 1
0.7810 j 0.0956 0.7810 j 0.0956 0.1676
j) T PV 0.2100 j 0.4714 0.2100 j 0.4714 0.3896
0.1942 j 0.2772 0.1942 j 0.2772 0.9056
k) Macierz A jest już w postaci kanonicznej Jordana
0.4449 j 0.0248 0.4449 j 0.0248 0.2889
l) T PV 0.3238 j 0.4059 0.3238 j 0.4059 0.1596
0.7292 0.7292 0.9440

LITERATURA
1. Dorf R.C., Bishop R.H. Modern Control Systems. Addison-Wesley Longman, 1998.
2. Hostetter, C.J. Savant, R.T. Stefani R.T. Design of Feedback Control Systems, Saunders College
Publishing, 1989.
3. Kuo B. C. Automatic Control of Dynamic Systems, 7th ed, Addison-Wesley & Sons Inc., 1995.
4. Ogata K., Modern Control Engineering, Prentice Hall,2002.

Ostatnia aktualizacja: 2013-11-06 M. Tomera 19

You might also like