Traiettorie nello spazio degli stati
Per mostrare i tipici andamenti delle traiettorie nello spazio degli stati in fun- zione della posizione dei poli del sistema si far`a riferimento ad un esempio: un sistema massa, molla e smorzatore.
L’equazione differenziale che descrive la dinamica di un sistema massa M - molla K - smorzatore b su cui agisce una forza esterna F `e la seguente:
F = M ¨x + b ˙x + Kx → x¨ = −K
M x − b
M ˙x + F
Una descrizione dinamica equivalente nello spazio degli stati `e la seguente:
(1)
˙x(t) =
0 1
−K
M − b
M
x(t) +
0
1 M
u(t) y(t) = [ 1 0 ] x(t)
dove si `e posto
x =
x1 x2
=
x
˙x
Le caratteristiche dinamiche del sistema cambiano al variare dei valori numerici dei parametri. Si considerano ora tre casi diversi.
————–
Caso I. Posto M = 1, K = 2 e b = 3 si ottiene il seguente sistema:
(2)
˙x(t) =
0 1
−2 −3
x(t) +
0 1
u(t) y = [ 1 0 ] x(t)
Il polinomio caratteristico della matrice A `e:
det(λI − A) = det
λ −1 2 λ + 3
= λ2 + 3λ + 2 = (λ + 1)(λ + 2) Gli autovalori della matrice A sono:
λ = −1, λ = −2
Ai due autovalori distinti λ1 e λ2 corrispondono due autovettori v1 e v2 li- nearmente indipendenti. Gli autovettori v1 e v2 si determinano risolvendo i seguenti sistemi omogenei
(A − λ1I)v1 = o, (A − λ2I)v2 = o cio`e
1 1
−2 −2
v11 v12
= o → Uλ1 = span
1
−1
e
2 1
−2 −1
v21 v22
= o → Uλ2 = span
1
−2
Si consideri ora la trasformazione di coordinate x = T x dove T = [v1 v2] =
1 1
−1 −2
, T−1 =
2 1
−1 −1
.
La nuova matrice di stato A ha forma diagonale con gli autovalori posizionati sulla diagonale principale:
A = T−1AT =
2 1
−1 −1
0 1
−2 −3
1 1
−1 −2
=
−1 0 0 −2
L’esponenziale della matrice diagonale At `e:
eAt =
e−t 0 0 e−2t
L’evoluzione libera del sistema (2) a partire dalla condizione iniziale x0 `e:
x(t) = eAtx0 = e(TAT−1)tx0 = TeAtT−1x0
=
1 1
−1 −2
e−t 0 0 e−2t
2 1
−1 −1
x0
=
2e−t − e−2t e−t −e−2t
−2e−t + 2e−2t −e−t + 2e−2t
x0 Calcolo di eAt in Matlab:
A=[ 0 1; ... +- -+
-2 -3]; | 2 exp(-t) - exp(-2 t), exp(-t) - exp(-2 t) |
syms t; --> | |
Eat=expm(A*t); | 2 exp(-2 t) - 2 exp(-t), 2 exp(-2 t) - exp(-t) |
L’andamento delle traiettorie x(t) nello spazio “originario” `e il seguente:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5
2 Nodo Stabile
x1 x2
v1 v2
Le due traiettorie evidenziate in rosso corrispondono ai due autospazi Uλ1 e Uλ2
relativi ai due autovettori v1 e v2. Le stesse traiettorie nello spazio trasformato x(t) hanno il seguente andamento:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5 2
x1
x2
Nodo Stabile
v1 v2
Traiettorie di questo tipo vengono identificate con il nome: “Nodo stabile”.
Caso II. Nel caso M = 1, K = 1 e b = 2 il sistema diventa:
(3)
˙x(t) =
0 1
−1 −2
x(t) +
0 1
u(t) y = [ 1 0 ] x(t)
Il polinomio caratteristico di A `e: det(λI − A) = λ2 + 2λ + 1 = (λ + 1)2. La matrice A ha un solo autovalore, λ1,2 = −1, con molteplicit`a algebrica 2. A tale autovalore corrisponde un solo autovettore v1 che si determina risolvendo il seguente sistema omogeneo:
(A − λ1I)v1 =
1 1
−1 −1
v11 v12
= o → v1 =
1
−1
Si determina poi un autovettore generalizzato del secondo ordine v2 risolvendo il seguente sistema lineare:
(A − λ1I)v2 = v1 ↔
1 1
−1 −1
v21 v22
=
1
−1
→ v2 =
0 1
Si consideri ora la seguente trasformazione di coordinate x = Tx dove:
T = [v1 v2] =
1 0
−1 1
, T−1 =
1 0 1 1
La nuova matrice di stato A ha la forma seguente:
A = T−1AT =
−1 1 0 −1
→ eAt =
e−t te−t 0 e−t
L’evoluzione libera del sistema (3) a partire dalla condizione iniziale x0 `e:
x(t) = eAtx0 = eTAT−1tx0 = TeAtT−1x0
=
1 0
−1 1
e−t te−t 0 e−t
1 0 1 1
x0
=
e−t + te−t te−t
−te−t e−t −te−t
x0 Calcolo di eAt in Matlab:
A= [0 1; ... +- -+
-1 -2]; | exp(-t) (t + 1), t exp(-t) |
syms t; --> | |
Eat=simplify(expm(A*t)); | -t exp(-t), -exp(-t) (t - 1) |
L’andamento delle traiettorie x(t) nello spazio (x1, x2) `e il seguente:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5 2
Nodo Stabile Degenere
x1 x2
v1
La traiettoria evidenziata in rosso corrisponde all’autovettore v1. L’andamento delle traiettorie x(t) nello spazio trasformato (¯x1, x¯2) `e il seguente:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5 2
Nodo Stabile Degenere
¯ x1
¯x2 v1
Traiettorie di questo tipo vengono identificate con il nome: “Nodo stabile degenere”.
Caso III. Posto M = 1, K = 2 e b = 2 si ottiene il seguente sistema:
(4)
˙x(t) =
0 1
−2 −2
x(t) +
0 1
u(t) y = [ 1 0 ] x(t)
Il polinomio caratteristico `e ora il seguente:
det(λI − A) = det
λ −1 2 λ + 2
= λ2 + 2λ + 2 = (λ + 1)2 + 1
La matrice A ha due autovalori complessi coniugati, λ1,2 = −1 ± j a cui cor- rispondono due autovettori v1,2, anch’essi complessi coniugati. L’autovettore v1 si determina risolvendo il seguente sistema omogeneo:
(A − λ1I)v1 =
1 − j 1
−2 −1 − j
v11 v12
= o → v1 =
1 + j
−2
Utilizzando la seguente trasformazione di coordinate x = Tx basata sull’uti- lizzo degli autovettori complessi coniugati v1,2, `e possibile “diagonalizzare” la matrice A:
T = [v1 v2] =
1 + j 1 − j
−2 2
, A = T−1AT =
−1 + j 0 0 −1 − j
Il sistema che si ottiene `e anch’esso complesso e quindi difficile da trattare.
In questi casi si preferisce una trasformazione di coordinate x = Tx che semplifichi la rappresentazione matematica, ma rimanendo nell’ambito delle rappresentazioni “reali” del sistema in oggetto. A tale scopo, la matrice di trasformazione T che si utilizza ha come colonne la parte reale w1 e la parte immaginaria w2 dell’autovettore v1 precedentemente calcolato:
v1 =
1
−2
| {z }
w1
+j
1 0
| {z }
w2
T = [w1 w2] =
1 1
−2 0
, T−1 =
0 −12 1 12
La matrice di stato A che si ottiene in questo modo ha `e la seguente struttura A = T−1AT =
0 −12
1 1
0 1
−2 −2
1 1
−2 0
=
−1 1
−1 −1
L’evoluzione libera del sistema (4) a partire dalla condizione iniziale x0 `e:
x(t) = eAtx0 = eTAT−1tx0 = TeAtT−1x0
= T
eσtcos ωt eσtsin ωt
−eσtsin ωt eσtcos ωt
T−1x0
Nel caso in esame in cui λ1 = σ + jω = −1 + j si ottiene la soluzione:
x(t) =
1 1
−2 0
e−t cos t e−t sin t
−e−tsin t e−t cos t
0 −12 1 12
x0
=
e−t(cos t + sin t) e−tsin t
−2e−t sin t e−t(cos t − sin t)
x0
L’andamento delle traiettorie x(t) nello spazio (x1, x2) `e il seguente:
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−1
−0.8
−0.6
−0.4
−0.2 0 0.2 0.4 0.6 0.8
1 Fuoco Stabile
x1 x2
Le traiettorie sono convergenti verso l’origine con un andamento a spirale.
Traiettorie di questo tipo vengono identificate con il nome: “Fuoco stabile”.
Calcolo di eAt in Matlab:
A= [0 1; ... +- -+
-2 -2]; | exp(-t) (cos(t) + sin(t)), exp(-t) sin(t) |
syms t; --> | |
Eat=simplify(expm(A*t)); | -2 exp(-t) sin(t), exp(-t) (cos(t) - sin(t)) |
pretty(Eat) +- -+
L’andamento delle traiettorie x(t) nello spazio trasformato `e il seguente:
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−1
−0.8
−0.6
−0.4
−0.2 0 0.2 0.4 0.6 0.8
1 Fuoco Stabile
¯ x1
¯x2
————–
• Le traiettorie di un sistema del secondo ordine che abbia un autovalore negativo λ1 < 0 ed un autovalore positivo λ2 > 0 sono di tipo a “Sella”:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5
2 Sella
x1 x2
v1 v2
Le due traiettorie evidenziate in rosso corrispondono ai due autovettori v1 e
• Andamento tipico delle traiettorie di un “Fuoco Instabile”:
A =
1 −1 1 1
λ1,2 = 1 ± j
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5 0 0.5 1 1.5
2 Fuoco Instabile
x1 x2
• Andamento tipico delle traiettorie di un “Nodo Instabile”:
A =
1 0 0 2
λ1 = 1, λ2 = 2
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−1
−0.8
−0.6
−0.4
−0.2 0 0.2 0.4 0.6 0.8
1 Nodo Instabile
x1 x2
v1
v2
In questo caso l’autovalore dominante `e λ2 = 2 per cui tutte le traiettorie tendono a diventare parallele all’autovettore v2.