tsa lab 3 analiza pe stare
Post on 08-Jul-2018
237 Views
Preview:
TRANSCRIPT
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
1/26
Laborator 3. Analiza sistemelordescrise de realizări pe spaţiulstărilor
Introducere
Scopul acestui laborator este elaborarea, implementarea şi testarea procedurilor de analiză nu-merică a proprietăţilor sistemice fundamentale. Laboratorul este structurat ı̂n cinci seçtiuni.Prima secţiune este dedicată testării stabilităţii sistemelor. A doua secţiune prezintă modalităţide obţinere a realizărilor de stare pornind de la matricea de transfer şi reciproc. Secţiunea 3este dedicată testării proprietăţilor de controlabilitate şi observabilitate. Ultimele două secţiuniprezintă modalităţi de obţinere a realizărilor de ordin minim (minimale) şi a realizărilor bal-ansate. Laboratorul este dedicat exclusiv analizei sistemelor cu timp continuu.
3.1 Teste numerice de stabilitate a sistemelor liniare
A) Descriere teoretică
Stabilitatea unui sistem liniar S = (A,B,C,D) este o proprietate ce depinde numai de matriceade stare A. Mai precis, sistemul S este stabil dacă matricea de tranziţie Φ(t) asociată lui Asatisface condiţia Φ(t) → 0 când t → ∞. În cazul continuu matricea de tranziţie are expresia
Φ(t) = eAt, t ∈ R. Avem următoarea caracterizare.
Teorema 3.1 Sistemul cu timp continuu S = (A,B,C,D) (sau matricea de stare A) este stabil(ă) dac˘ a şi numai dac˘ a toate valorile proprii ale lui A au partea real˘ a strict negativ˘ a, i.e.,spectrul lui A este cont ̧inut ı̂n semiplanul stˆ ang deschis
Λ(A) ⊂ C −. (3.1)
B) Testare numerică
În această subsecţiune prezentăm două teste numerice de stabilitate a unei matrice: algoritmul QR şi o variantă modificată a testului Hurwitz, numită schema Routh .
Algoritmul QR fără acumularea transformărilor
Deoarece proprietatea de stabilitate vizează o anumită plasare a valorilor proprii, iar acestease calculează eficient utilizând algoritmul QR, obţinem următorul test de stabilitate pentru
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
2/26
2
sisteme liniare continue.
Algoritmul 3.1 (Dată o matrice pătrată A, algoritmul testează stabilitatea
acesteia).1. λ = eig(A) % Se calculează valorile proprii utilizând algoritmul QR
2. Se determină α = maxReλ(i).
3. Dacă α
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
3/26
3.2. REALIZABILITATE 3
Pentru testarea stabilităţii se poate utiliza algoritmul de eliminare gaussiană fără pivotarerelativ la matricea Hurwitz asociată polinomului caracteristic, ceea ce corespunde exact for-mulării propuse de Routh pentru criteriul ı̂n discuţie. Întrucât ı̂n absenţa unei strategii de
pivotare adecvate, algoritmul de eliminare gaussiană este numeric instabil (apariţ ia pivoţilornuli corespunde aşa-numitelor cazuri “critice” ale algoritmului Routh), ı̂n practică testarea sta-bilităţii polinomului caracteristic se face construind matricea companion şi aplicând algoritmul3.1. Importanţa criteriului Routh apare mai ales ı̂n metodele analitice ca de exemplu atuncicând trebuie găsiţi anumiţi parametri ai unui sistem sau ai unui regulator astfel ı̂ncat sistemulı̂n buclă ı̂nchisă să fie stabil.
Caz particular 1 : Dacă primul element al unei linii este zero, dar alte elemente din acealinie sunt nenule se ı̂nlocuieşte zeroul cu , se continuă raţionamentul şi apoi se interpreteazărezultatul presupunând că este un număr mic de acelaşi semn cu cel de deasupra.
Caz particular 2 : Dacă toate elementele unei linii sunt zero, atunci polinomul caracteristicare rădăcini simetrice faţă de originea planului complex (de exemplu două rădăcini pur imag-inare). Linia de zerouri va fi ı̂ntotdeauna asociată puterilor impare ale lui s. Linia de deasupra
liniei nule conţine coeficienţii polinomului auxiliar . Dacă notam acest polinom cu P (s), pentrua continua algoritmul se va ı̂nlocui linia de zerouri cu dP ds .
C) Sarcini de lucru
1. Să se scrie programul MATLAB pentru implementarea algoritmului de testare numericăa stabilităţii unui sistem liniar (i.e. a matricei de stare A a acesteia) şi să se testeze peexemple numerice semnificative (n > 5).
2. Conform teoremei lui Liapunov, matricea A a unui sistem continuu este stabilă dacă şinumai dacă oricare ar fi matricea Q = QT > 0 ecuaţia matriceală algebrică Liapunov
AT X + XA = − Q
are o soluţie X = X T > 0. Explicaţi de ce enunţul de mai sus (de mare valoare teoretică)nu conduce la un test de stabilitate numeric eficient ı̂n raport cu algoritmul 3.1.
3. Un polinom p(s) = a0sn + a1s
n−1 + . . . + an este stabil (sau ”hurwitzian”) dacă toaterădăcinile sale au partea reală strict negativă. Scrieţi algoritmul de testare a stabilităţiipolinomului p(s) utilizând criteriul Routh-Hurwitz (Vezi ANEXA). Implementaţi variantabazată pe algoritmul de eliminare gaussiană pentru matricea Hurwitz asociată polinomu-lui prin comparaţie cu testarea stabilităţii matricei companion şi testaţi pe următorulexemplu numeric
s5 + 2s4 + 4s3 + 8s2 + 5s + 10.
4. Arătaţi că două condiţii necesare (dar nu suficiente) de stabilitate sunt:
a) toţi coeficienţii polinomului caracteristic au acelaşi semn ;
b) toţi coeficienţii polinomului caracteristic sunt nenuli .
3.2 Realizări
A) Descriere teoretică
Această secţiune este dedicată conversiei ı̂ntre cele mai importante două tipuri de modele:matrice de transfer şi realizare pe spaţiul stărilor.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
4/26
4
Conversia matrice de transfer - model de stare
Fie T (s) o p × m matrice raţională proprie dată de
T (s) = rij(s) pij(s) 1 ≤ i ≤ p1 ≤ j ≤ m
, grad( pij) ≥ grad(rij), ∀i,j,
ı̂n care rapoartele se consideră ireductibile. Deoarece raţionala este proprie avem că D :=T (∞) ∈ R p×m (finit). Problema realizabilităţii raţionalei proprii T (s) se reduce atunci la
problema realizabilităţii raţionalei strict proprii T (s) = T (s) − D, i.e., trebuie să găsim treimatrice (A,B,C ) astfel ı̂ncât T (s) = C (sI − A)−1B. Deoarece T (s) este strict proprie avem
T (s) = K 0 + K 1s + . . . + K k−1sk−1γ 0 + γ 1s + . . . + γ k−1sk−1 + sk
(3.4)
unde γ (s) := γ 0
+γ 1
+. . .+γ k−1
sk−1+sk este cel mai mic multiplu comun (monic) al numitorilor
tuturor elementelor raţionalei T (s), iar K i, i = 0, . . . , k − 1, sunt p × m matrice constante. Orealizare a lui T (s) este dată de
A =
Om I m
. . .
I m−γ 0I m −γ 1I m . . . −γ k−1I m
, B =
Om...
OmI m
, C = K 0 K 1 . . . K k−1 .(3.5)
Definiţia 3.1 Realizarea 3.5 este controlabil˘ a fiind numit˘ a realizarea standard controlabil˘ a a lui T (s).
ˆ In general , realizarea obţinută nu este ı̂ns˘ a observabil˘ a .
Definiţia 3.2 O realizare observabil˘ a (realizarea standard observabil˘ a) este
A =
O p −γ 0I pI p −γ 1I p
. . . ...
I p −γ k−1I p
, B =
K 0K 1
...K k−1
, C = O p . . . O p I p . (3.6)Această realizare nu este ı̂n general controlabilˆ a .
Observaţie: Pentru o matrice de transfer raţională de dimensiuni arbitrare nu se poatescrie direct o realizare simultan controlabilă şi observabilă bazată pe coeficienţii din (3.4).
Conversia model de stare - matrice de transfer
Conversia inversă, respectiv calculul matricei de transfer asociate unui model de stare dat, seface separat pentru fiecare pereche (uj , yi) de intrări şi ieşiri reducându-se natural la problemasimilară pentru un sistem SISO.
Fie sistemul SISO S = (A,B,C,D). Pentru a calcula funcţia de transfer, adică douăpolinoame p(s), N (s) astfel ı̂ncât
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
5/26
3.2. REALIZABILITATE 5
T (s) def = C (sI − A)
−1 B = N (s)
p (s) (3.7)
constatăm că funcţia de transfer a unui sistem cu reacţie unitară este
T 0 (s) = T (s)
1 + T (s) =
N (s)
p (s) + N (s) =
N (s)
p0 (s) (3.8)
unde p0 (s) = p (s) + N (s). Deci
N (s) = p0 (s) − p (s) . (3.9)
Problema s-a redus la a calcula p (s) şi p0 (s).
Dar p (s) este polinomul caracteristic al lui A adică
p (s) =n
i=1 (s − λi) , (3.10)unde λi sunt polii lui T (s), adică valorile proprii ale matricei A. Analog, p0 (s) este polinomulcaracteristic al matricei A0 a sistemului ı̂n circuit ı̂nchis, deci A0 = A − BC .
B) Testare numerică
Algoritmul 3.2 (Un algoritm de calcul al funcţ iei de transfer T (s) este următorul:)
1. Se calculează valorile proprii λi ale matricei A utilizând algoritmul QR
2. Se formează A0 = A − BC
3. Se calculează valorile proprii λ0i ale matricei A0 utilizând algoritmul QR
4. Se calculează p (s) =n
i=1 (s − λi)5. Se calculează p0 (s) =
ni=1
(s − λ0i)
6. Se calculează N (s) = p0 (s) − p (s)
C) Sarcini de lucru
1. Fie un sistem liniar cu 2 intrări şi două ieşiri dat de următoarea matrice de transfer
H (s) =
1(s−1)2
1(s−1)(s+3)
−6(s−1)(s+3)2
s−2(s+3)2
Găsiţi o realizare pe stare a sistemului.
2. Fie un sistem liniar cu 2 intrări şi o ieşire dat prin reprezentarea pe stare (A,B,C,D).Să se găsească matricea de transfer asociată.
3. Scrieţi o realizare de stare S = (A,b,cT , 0) a funcţiei de transfer T (s) = N (s)/p(s) astfelı̂ncât R(A, b) = I . Idem, astfel ı̂ncât Q(cT , A) = I . În ce condiţii putem avea simultanR(A, b) = Q(cT , A) = I ?
4. Scrieţi un algoritm care calculează o realizare standard observabilă pentru un sistem SISO,respectiv MIMO.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
6/26
6
3.3 Teste numerice de controlabilitate şi observabilitate asistemelor liniare
A) Descriere teoretică
Un sistem liniar S = (A,B,C,D) este controlabil dacă orice tranziţie de stare dorită poatefi realizată prin alegerea adecvată a funcţiei de intrare. Controlabilitatea sistemului liniar S este o proprietate ce depinde numai de perechea (A, B). Avem următoarea caracterizare acontrolabilităţii unui sistem.
Teorema 3.3 Sistemul S = (A,B,C,D) (sau perechea (A, B)) este controlabil(ă) dac˘ a şi nu-mai dac˘ a
rangR = n, (3.11)
unde R = B AB . . . An−1B este matricea de controlabilitate.
Un sistem liniar S = (A,B,C,D) este observabil dacă starea iniţială este unic determinatăcunoscând funcţiile de intrare şi ieşire, obţinute e.g. prin măsurători efectuate la intrările şiieşirile lui S . Observabilitatea sistemului liniar S depinde numai de perechea (C, A).
Teorema 3.4 Sistemul S = (A,B,C,D) (sau perechea (C, A)) este observabil(ă) dac˘ a şi numai dacă
rang Q = n, (3.12)
unde Q =
C
CA...
CAn−1
este matricea de observabilitate.
Examinând ı̂n paralel relaţiile de mai sus, concludem că noţiunile de controlabilitate şiobservabilitate sunt duale , ı̂n sensul că ele corespund prin relaţiile
A ← AT , C ← BT .
În particular avem
Q(C, A) = RT (AT , C T ).
În consecinţă, vom prezenta procedurile de calcul asociate controlabilităţii, rămânând ca celeasociate observabilităţii să rezulte “prin dualitate”.
Procedurile de testare a controlabilităţii unei perechi date (A, B) sunt de două tipuri:
a) Proceduri, numite ad-hoc elementare , care testează controlabilitatea perechii (A, B) uti-lizând direct definiţia 3.3. Aceste proceduri sunt, ı̂n general, neeficiente şi pot fi aplicate cusucces numai pentru perechi de dimensiuni mici.
b) Proceduri care utilizează transformări de asemănare pentru a aduce perechea iniţială(A, B) la o formă “simplă”, pe care proprietatea de controlabilitate să poată fi testată directprin inspecţie. Aceste proceduri, numite ı̂n continuare de transformare , sunt cele mai utilizate ı̂naplicaţii, ı̂n particular şi p entru că facilitează rezolvarea unor probleme de calcul conexe vizând,de exemplu, descompunerea controlabilă, testarea stabilizabilităţii, alocarea polilor etc. Ceamai eficientă procedură de transformare constă ı̂n aducerea perechii (A, B) la forma (superior)Hessenberg prin transformări de asemănare ortogonale.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
7/26
3.3. CONTROLABILITATEA ŞI OBSERVABILITATEA 7
B) Testare numerică
În această secţ iune prezentăm două clase de teste a proprietăţii de controlabilitate (şi de ob-
servabilitate prin dualizare): teste elementare de controlabilitate şi metode avansate de testare a controlabilit˘ at ̧ii bazate pe forma Hessenberg .
Teste elementare de controlabilitate
Din clasa procedurilor elementare face parte ı̂n primul rând procedura “directă”, bazată peconstrucţia matricei de controlabilitate R şi testarea condiţ iei de rang (3.11). Construcţiamatricei R se face recurent. Pentru a obţine relaţia de recurenţă fie
Rk = [B AB · · · Ak−1B].
Relaţiile care leagă doi termeni succesivi Rk şi Rk+1 rezultă din partiţiile
Rk+1def
= B ... AB A2B · · · AkB = B ... ARk , (3.13)respectiv
Rk+1def =
B AB · · · Ak−1B... AkB
=
Rk... Bk+1
, (3.14)
unde submatricea Bk+1 = AkB formată din ultimele m coloane ale lui Rk+1 rezultă ı̂n funcţ ie
de submatricea corespunzătoare Bk a lui Rk prin
Bk+1 = ABk, k ≥ 1, (3.15)
iar B1 = B .
Se constată imediat că procedura de construcţie a matricei R bazată pe relaţia (3.13) este
relativ neeconomică ı̂n raport cu cea bazată pe relaţia (3.14). Prima procedură necesită efec-tuarea produselor ARk cu Rk având mk coloane (k ≥ 1) ı̂n timp ce a doua implică efectuareaproduselor ABk cu Bk având numai m coloane. Mai mult, este clar că la fiecare pas k matriceaBk este disponibilă ı̂n Rk, mai precis
Bk = Rk( : , (k − 1)m + 1 : km). (3.16)
Din (3.16) rezultă că nu este necesară nici alocarea unui tablou suplimentar de lucru pentrumemorarea matricei curente Bk, nici calculul pe loc ı̂n B, conform schemei B ← AB, altermenilor şirului Bk, ceea ce ar implica distrugerea matricei iniţiale B. În final obţinemurmătoarea procedură de testare a controlabilităţii perechii (A, B).
Algoritmul 3.3 (Se testează controlabilitatea perechii (A, B) construind ma-
tricea de controlabilitate R).1. R( : , 1 : m) ← B1 = B
2. Pentru k = 2 : n
1. R( : , (k − 1)m + 1 : km) ← Bk = ABk−1
3. Se calculează r = rangR utilizând algoritmul DVS.
4. Dacă r = n atunci
1. Tipăreşte ”Perechea (A, B) este controlabilă.”altfel
Tipăreşte ”Perechea (A, B) nu este controlabilă.”
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
8/26
8
În ciuda simplităţii sale, algoritmul 3.3 nu este ı̂n general recomandabil ı̂ntrucât matriceaR poate avea un număr ridicat de coloane rezultând la pasul 3 un rang numeric eronat. Deexemplu, dacă m = 1 şi matricea B = b se reduce la o singură coloană atunci, conform relaţiei
(3.13), coloanele b, A b, . . . , Akb , . . . ale matricei (pătrate) R coincid cu vectorii obţinuţi aplicândmetoda puterii vectorului iniţial b1 = b. Prin urmare, dacă n 1, iar matricea A are o valoareproprie dominantă
|λ1| > |λ2| ≥ . . . ≥ |λn|,
atunci ultimele coloane ale lui R sunt practic aliniate cu vectorul propriu x1 al lui A asociat cuλ1. Chiar dacă perechea (A, b) este controlabilă, matricea de controlabilitate R este numericaproape singulară, adică
cond(R) = σ1σn
1,
unde cond(R) este numărul de condiţionare la inversare al matricei R (̂ın raport cu normaspectrală) iar σi, i = 1 : n, sunt valorile singulare ale lui R ordonate astfel ı̂ncât σ1 ≥ σ2 ≥. . . ≥ σn. Fenomenul poartă numele de necontrolabilitate numerică a perechii (A, b) şi ı̂n generalnu poate fi evitat, indiferent de testul de rang utilizat la pasul 3 al algoritmului.
În afară de procedura directă, bazată pe testarea condiţ iei de rang, din grupul metodelorelementare fac parte o serie de proceduri derivate rezumate mai jos.
Propoziţia 3.1 Controlabilitatea perechii (A, B) este echivalent˘ a cu oricare dintre condit ̧iile
1. Nu exist˘ a nici un vector h = 0 astfel ı̂nc ̂at AT h = λh, λ ∈ C si BT h = 0.
2. rang
A − λI B
= n, ∀λ ∈ λ (A).
3. Oricare ar fi vectorul g ∈ Rm
cu proprietatea Bg = 0, exist˘ a o matrice F ∈ Rm×n
astfel ı̂nc ̂at perechea cu o singur˘ a intrare (A − BF,Bg) este controlabil˘ a.
În subsecţiunea C) Sarcini de lucru vom vedea că fiecare dintre aceste criterii are anumiteprobleme din punct de vedere numeric.
Teste elementare de observabilitate
În general, dacă o procedură proc calculează un rezultat R = proc(A, B) privind controla-bilitatea perechii (A, B) atunci rezultatul dual Q, privind observabilitatea perechii (C, A), seobţine cu secvenţa
1. Rd = proc(AT , C T )
2. Q = RT d
De exemplu, dacă proc(A, B) este algoritmul 3.3, care produce matricea de controlabilitate Ra perechii (A, B), atunci secvenţa de mai sus produce matricea de observabilitate Q a perechii(C, A).
Forma Hessenberg controlabilă
Considerăm sistemul liniar S = (A,B,C,D) şi fie S̃ = ( Ã, B̃, C̃, D) un sistem asemenea cu S ,având matricele
à = T AT −1, B̃ = T B, C̃ = C T −1, (3.17)
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
9/26
3.3. CONTROLABILITATEA ŞI OBSERVABILITATEA 9
unde T ∈ Rn×n este o matrice nesingulară arbitrară. Între matricele de controlabilitate şiobservabilitate asociate sistemelor S şi S̃ există următoarele relaţii
˜R = T R,
˜Q = QT
−1
. (3.18)
Rezultă că matricele R şi R̃ au acelaşi rang, deci perechile (A, B) şi ( Ã, B̃) sunt simultan con-trolabile sau necontrolabile. În mod similar, perechile (C, A) şi ( C̃, Ã) sunt simultan observabilesau neobservabile. Pe scurt, proprietăţile de controlabilitate şi observabilitate sunt invarianteı̂n raport cu transformările de asemănare.
Dacă ı̂n (3.17) presupunem că matricea T = U este ortogonală, deci sistemele S şi S̃ suntortogonal asemenea , i.e.,
à = U AU T , B̃ = U B, C̃ = C U T , (3.19)
cu U ortogonală, atunci relaţiile (3.18) devin
R̃ = U R, Q̃ = QU T . (3.20)
În cele ce urmează vom descrie procedurile de aducere a perechii (A, B) la o formă simplăutilizând transformările de asemănare ortogonală, cu scopul identificării invarianţilor (ortogonaliai) acestei perechi şi, ı̂n particular, al testării controlabilităţii acesteia. În consecinţă, vomconsidera o pereche (A, B) cu m intrări, nu neapărat controlabilă. Peste tot vom presupuneB = 0 şi vom nota
r def = rangR, r̄
def = n − r, (3.21)
unde evident r satisface inegalitatea 1 ≤ r ≤ n. Procedura de transformare are la bază următorulrezultat general.
Propoziţia 3.2 (Lema de deflaţie controlabilă). Oricare ar fi perechea (A, B) cu rangB =r1 > 0, exist˘ a o matrice ortogonal˘ a U 1 ∈ R
n×n astfel ı̂nc ̂at
A ← Ã = U 1AU T 1 =
A1 X G F
, B ← B̃ = U 1B =
H 10
(3.22)
unde matricea H 1 ∈ Rr1×m este epic˘ a, i.e. rangH 1 = r1. Mai mult, perechea (A, B) este
controlabil˘ a dac˘ a şi numai dac˘ a perechea redus˘ a (F, G), de ordin n − r1 < n, este controlabil˘ a.
Matricea U 1 se determină e.g. aplicând lui B procedura de descompunere a valorilor singulare(DVS). Avem
U 1BV =
Σ1 0
0 0
, (3.23)
unde U 1 şi V ∈ Rm×m sunt ortogonale iar Σ1 este diagonală de ordin r1 > 0 cu elementele
diagonale pozitive. Partiţionând V = [V 1 V 2], unde V 1 are r1 coloane, obţinem
B̃ = U 1B =
Σ1 0
0 0
V T 1V T 2
=
Σ1V
T 1
0
,
unde H 1 = Σ1V T 1 este evident epică de rang r1. După determinarea lui U 1 se aplică U 1 lui A,
i.e. se calculează Ã = U 1AU T 1 , şi ı̂n acord cu (3.22) se evidenţiază perechea redusă (F, G) de
ordin n − r1 cu r1 intrări. În ipoteza G = 0, perechii (F, G) cu rang G = r2 > 0 i se poateaplica din nou o transformare de tip (3.22). Se obţine
F ← F̃ = Ū 2F Ū T 2 =
A2 X Gnou F nou
, G ← G̃ = Ū 2G =
H 2
0
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
10/26
10
sau echivalent
A ← Ã = U 2AU T 2 =
A1 X X H 2
0
A2 X
Gnou F nou
,
B ← B̃ = U 2B =
H 100
,(3.24)
unde matricele Ū 2 precum şi
U 2 =
I r1 0
0 Ū 2
(3.25)
sunt ortogonale iar matricea H 2 este epică de rang r2. Forma finală a perechii (A, B), obţinutăprin aplicarea repetată a procedurii de deflaţie descrisă ı̂n propoziţia 3.2, se numeşte forma bloc-superior Hessenberg şi este definită prin
A ← Ã = U AU T = AR AR R̄0 AR̄
, B ← B̃ = U B = BR0 , (3.26)
ı̂n care perechea (AR, BR), de ordin r, se găseşte ı̂n forma bloc-superior Hessenberg controlabil˘ a
AR =
A1 X · · · X X H 2 A2 · · · X X
. . . . . .
......
. . . . . .
...H k Ak
, BR =
H 10......0
, (3.27)
unde toate blocurile H i ∈ Rri×ri−1 sunt epice, i.e.
rangH i = ri > 0, i = 1 : k, r0def = m. (3.28)
Evident avem
r =ki=1
ri ≤ n (3.29)
şi ı̂n virtutea condiţ iilor (3.28) perechea (AR, BR) din (3.26) este controlabilă. Mai mult,perechea iniţială (A, B) este controlabil˘ a dacă şi numai dacă r = n, i.e. ( Ã, B̃) = (AR, BR),şi ı̂n acest caz numărul k de blocuri din (3.27) coincide cu indicele de controlabilitate ν al lui(A, B).
Matricea ortogonală U ∈ Rn×n din (3.26) rezultă prin acumularea transformărilor parţiale,i.e.
U = U k · · · U 2U 1, (3.30)
ı̂n care U 1 se determină ca ı̂n demonstraţia lemei 3.2, U 2 are forma (3.25) etc. Subliniem că ı̂nvirtutea structurii lui U 2, premultiplicarea cu U 2 nu modifică primele r1 linii, iar postmultipli-carea cu U T 2 nu modifică primele r1 coloane ale matricei asupra căreia acţionează transformareacorespunzătoare. De asemenea, proprietăţi asemănătoare au toate matricele U i, i = 2 : k din(3.30).
În concluzie, aducerea pe loc a perechii iniţ iale (A, B) la forma bloc-superior Hessenberg(3.26), (3.27) se face printr-o succesiune de transformări ortogonale de asemănare
A ← U iAU T i , B ← U iB, i = 1 : k. (3.31)
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
11/26
3.3. CONTROLABILITATEA ŞI OBSERVABILITATEA 11
La etapa i = 1 se operează asupra perechii iniţiale (A, B) ca ı̂n propoziţia 3.2, iar la etapelei ≥ 2 se operează analog asupra perechii reduse corespunzătoare (F, G), conţinute ı̂n tabloulA. În particular, transformările U i, i ≥ 2 nu modifică forma lui B obţinută după prima etapă,
deci pentru i ≥ 2 relaţiile (3.36) se reduc la
A ← U iA, A ← AU T i . (3.32)
Pentru a descrie precis algoritmul astfel obţinut, introducem, următoarele proceduri, a cărorscriere explicită revine studenţilor (utilizând, la nevoie, funcţii MATLAB adecvate).
1. Procedura de reducere a lui B decrisă mai sus relativ la Propoziţia 3.2, vezi relaţiile(3.22) şi (3.23), având sintaxa
[ r1, U 1, H 1 ] = red(B).
(Amintim că la etapele i ≥ 2 procedura red se aplică unui bloc G, localizat ı̂n tabloul A).
2. Procedura de premultiplicare a unei matrice cu matricea de transformare curentă
A = mul1(U i, A).
3. Procedura de postmultiplicare a unei matrice cu matricea de transformare curentă
A = mul2(A, U i).
Acumularea transformărilor din 3.30 se face conform schemei
U ← U iU, i = 2 : k (3.33)
cu iniţializarea U = U 1.
Avem următorul algoritm
Algoritmul 3.4 (Dată perechea (A, B) de ordin n cu m intrări şi B = 0 algorit-mul construieşte forma bloc-superior Hessenberg (3.26), (3.27), (3.28) şi acumuleazătransformările. Perechea rezultată suprascrie pe cea iniţială).
1. k = 1
2. [r1, U 1, H 1] = red(B)
3. A = mul1(U 1, A), A = mul2(A, U 1)
4. U = U 1
5. rv = 0, r = r1
6. CONTINUĂ = ’da’
7. Cât timp CONTINUĂ = ’da’
1. ν = k2. Dacă r = n
atunci
1. CONTINUĂ = ’nu’
2. Tipăreşte ”Perechea (A, B) este controlabilă”
altfel
1. G = A(r + 1 : n, rv + 1 : r)
2. Dacă G = 0atunci
1. CONTINUĂ = ’nu’
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
12/26
12
altfel
1. k ← k + 1 % (etapa k , k ≥ 2)
2. [rk, U k, H k] = red(G)
3. A(r + 1 : n, r + 1 : n) =mul1(U k, A(r + 1 : n, r + 1 : n),A(1 : n, r + 1 : n) = mul2(A(1 : n, r + 1 : n), U k)
4. U (r + 1 : n, 1 : n) = mul1(U k, U (r + 1 : n, 1 : n))
5. rv = r, r ← r + rk
Având ı̂n vedere că numărul k al etapelor de reducere nu este apriori cunoscut, utiliz ămşi aici variabila binară CONTINUĂ cu semnificaţia cunoscută. În final, variabila r furnizeazărangul matricei de controlabilitate R a perechii date (A, B). În cazul r = n, i.e., dacă perechea(A, B) este controlabilă, algoritmul se opreşte la instrucţiunea 7.2. iar ν este indicele de con-trolabilitate. Din contră, dacă algoritmul se opreşte datorită faptului că blocul curent G estenul, atunci perechea (A, B) nu este controlabilă, iar perechea transformată ( Ã, B̃), furnizată de
algoritmul 3.4, are forma (3.26), ı̂n care r < n.
Forma Hessenberg observabilă
Pentru analiza proprietăţilor de observabilitate a unei perechi (C, A) de ordin n cu l ieşiri, l ≥ 1,se procedează prin dualitate. Prin aplicarea schemei de dualizare relativ la algoritmul 3.4, seobţine forma bloc-inferior Hessenberg a perechii (C, A), definită prin
A ← Ã = U AU T =
AQ 0AQ̄Q AQ̄
,
C ← C̃ = CU T =
C Q 0
,
(3.34)
ı̂n care perechea (C Q, AQ) de ordin q se află ı̂n forma bloc-inferior Hessenberg observabil˘ a
AQ =
A1 G2
X A2. . .
......
. . . . . .
X X · · · . . . Gk
X X · · · · · · Ak
, C Q =
G1 0 · · · 0
, (3.35)
unde toate blocurile Gi ∈ Rqi−1×qi sunt monice, i.e.
rangGi = q i > 0, i = 1 : k, q 0def = l. (3.36)
Evident avem
q =ki=1
q i ≤ n (3.37)
şi ı̂n virtutea condiţiilor (3.36) perechea (C Q, AQ) din (3.34) este observabilă. În plus, perechea
init ̧ial˘ a (C, A) este observabil˘ a dacă şi numai dacă q = n, i.e. ( C̃, Ã) = (C Q, AQ), şi ı̂n acestcaz numărul k de blocuri din (3.35) coincide cu indicele de observabilitate al lui (C, A).
În sfârşit, la fel ca ı̂n cazul controlabilităţii, matricea ortogonală U ∈ Rn×n din (3.34) rezultădin acumularea transformărilor parţiale, i.e. U = U k · · · U 2U 1.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
13/26
3.4. REALIZ ̆ ARI MINIMALE 13
C) Sarcini de lucru
1. Se consideră următoarea pereche de matrice
A =
1
20 2. . .
. . .
20 1920 20
, b =
200......0
. (3.38)
a) testaţi controlabilitatea folosind criteriul C1 (rangul matricei de controlabilitate).Testaţi buna condiţionare a matricei de controlabilitate pe baza valorile singulare. Cese constată?
b) testaţi controlabilitatea folosind testul C2 pentru valoarea proprie 20 (cel mai rău caz).
Obtineţi un rezultat corect? Ce puteţi spune despre acest test ı̂n comparaţie cu primul?
c) testaţi controlabilitatea folosind testul C2 ı̂n felul următor: perturbaţi matricea A ı̂n
poziţia (1,20) cu o valoare mică δ = 10−12; alegeţi un vector b̂ astfel ı̂ncât o valoareproprie, de exemplu λ = 1 să nu fie controlabilă, i.e. rank
 − I | b̂
< 20. Ce
rezultate dă testul C2 aplicat valorilor proprii calculate ale matricei  ?
d) faceţi o comparaţie ı̂ntre testele C2 şi C3 folosind b̂ = [0, 1, 1, . . . , 1]T şi  matriceainiţială; aplicaţi o transformare ortogonală pe spaţiul stărilor perechii (A,b). Studiaţi
valorile proprii rezultate pentru  + b̂f pentru un f oarecare şi numerele de condiţionareale
b̂ | Â − λiI
ı̂n valorile proprii calculate λi ale matricei Â.
2. Se vor scrie programele MATLAB pentru implementarea algoritmului de construcţie a
matricei de controlabilitate şi de testare elementară a controlabilităţii unei perechi (A, B).Se vor compara soluţia calculată cu programul propriu cu cel oferit de funcţia MATLABdisponibilă.
3. Se va scrie programul MATLAB pentru implementarea algoritmului de calcul al formeiHessenberg complete a unei perechi (A, B) a unui sistem cu mai multe intrări şi se vacompleta cu testarea controlabilităţii acestei perechi.
3.4 Calculul realizărilor minimale
A) Descriere teoretica
Principalul rezultat al teoriei realizării sistemelor liniare afirmă că orice sistem S = (A,B,C,D)este echivalent intrare-iȩsire, i.e. are aceeaşi matrice de transfer, cu un sistem de ordin minimS m = (Am, Bm, C m) care este simultan controlabil şi observabil. Mai mult, sistemul S m estedeterminat până la o transformare de asemănare şi, ı̂n esenţă, coincide cu partea simultancontrolabilă şi observabilă a sistemului dat S .
Definiţia 3.3 Un sistem S m = (Am, Bm, C m) controlabil şi observabil, echivalent intrare-ieşire cu S se numeşte realizare minimală a lui S .
Mai general, orice sistem S m = (Am, Bm, C m) controlabil şi observabil se numeşte minimal.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
14/26
14
B) Testare numerică
În consecinţă, o realizare minimală (i.e. de ordin minim) a unei matrice de transfer date T (s)
poate fi construită aplicând următoarea procedură.
Algoritmul 3.5 ( Construieşte o realizare minimală a matricei de transfer T (s)).
1. Se construieşte o realizare observabilă S = (A,B,C,D) a lui T (s), utilizândformele standard observabile, expuse ı̂n secţiunea 3.2.
2. Se construieşte descompunerea controlabilă
à = U AU T =
AR AR R̄
0 AR̄
, B̃ = U B =
BR
0
,
utilizând algoritmul 3.4 şi se aplică transformarea U matricei C , i.e.
C̃ = C U T = [ C R C R̄ ] .
3. Se reţine partea controlabilă S m = (AR, BR, C R) a tripletului transformat,unde
AR = Ã(1 : r, 1 : r), BR = B̃(1 : r, :)
este partea controlabilă a perechii (A, B) iar
C R = C̃ ( : , 1 : r).
C) Sarcini de lucru
1. Se va scrie programul MATLAB pentru implementarea algoritmului de calcul al uneirealizări minimale a unei perechi (A, b) a unui sistem cu o singură intrare şi o singurăieşire. Se va compara soluţia calculată cu programul propriu cu cea oferită de funcţiaMATLAB disponibilă. Se vor aborda cazurile ı̂n care transformarea de asemănare pestare este: a) inversabila; b) ortogonala.
2. Se va scrie programul MATLAB pentru implementarea algoritmului de calcul al uneirealizări minimale a unui sistem (A,B,C,D) cu mai multe intrări şi mai multe ieşiri. Sevor aborda cazurile ı̂n care transformarea de asemănare pe stare este: a) inversabilă; b)ortogonală. Se va compara soluţia calculată cu programul propriu cu cea oferită de funcţiaMATLAB disponibilă.
3. Se vor analiza sursele funcţiilor MATLAB ctrb şi ctrbf şi minreal şi se vor identificametodele folosite.
3.5 Calculul realizărilor balansate
Principala proprietate a realizărilor balansate este că transformarea de asemănare se alege astfelı̂ncât gramienii de controlabilitate şi de observabilitate sunt egali cu o matrice diagonală cuelementele diagonale ı̂n ordine descrescătoare. Mărimile elementelor diagonale ale gramienilorreflectă contribuţia intrărilor vectorului de stare la ieşirea sistemului.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
15/26
3.5. REALIZ ̆ ARI BALANSATE 15
A) Descriere teoretică
Considerăm sistemul liniar S = (A,B,C,D). Vom presupune că sistemul S este stabil.
Definiţia 3.4 Se numeşte gramian de controlabilitate al sistemului S matricea simetric˘ a
Lc (t) :=
t 0
eA(t−τ )BBT eAT (t−τ )dτ. (3.39)
Dacă matricea A este asimptotic stabilă, atunci limita limt→∞
Lc (t) este finită, se notează cu
Lc şi este numită gramian de controlabilitate asimptotic .
Analog se defineşte şi gramianul de observabilitate.
Gramianul de controlabilitate Lc, respectiv gramianul de observabilitate Lo satisfac ecuaţiileLyapunov
ALc + LcAT + BBT = 0AT Lo + LoA + C
T C = 0 . (3.40)
Valorile singulare Hankel , σhi , ale sistemului S sunt radacinile patrate pozitive ale valorilorproprii λi ale produsului LcLo, deci
σhidef = [λi (LcLo)]
1/2 . (3.41)
Vom presupune ca ca σhi sunt ordonati descrescator.
Definiţia 3.5 Sistemul S se numeşte balansat dac˘ a ambii gramieni sunt egali cu matricea diagonal˘ a a valorilor singulare Hankel.
Vom presupune ı̂n continuare că sistemul S este controlabil şi observabil. Rezultă că putemscrie descompunerile Cholesky ale matricelor Lc si Lo
Lc = S T S, Lc > 0 (3.42)
şiLo = R
T R, Lo > 0. (3.43)
Valorile singulare Hankel se pot exprima ı̂n termenii matricelor S şi R. Astfel, dacă substi-tuim ı̂n (3.41) Lc şi Lo date de (3.42) şi (3.43), atunci mulţimea valorilor singulare Hankel estedată de
{σhi} =
λi
S T SRT R1/2
=
λi
RS T SRT 1/2
=
σi
SRT
(3.44)
unde
σi
SRT
este prin definiţie mulţimea valorilor singulare ale produsului S RT .
Considerăm descompunerea valorilor singulare (DVS) a matricei S RT
SRT = U ΣV T , (3.45)
unde Σ este matricea diagonală a valorilor singulare Hankel. Fie T matricea definită de
T = S T U Σ−1/2. (3.46)
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
16/26
16
Se poate verifica imediat că inversa ei se poate exprima ca
T −1 = Σ−1/2V T R. (3.47)
Sistemul ( A, B, C, D) dat deA = T −1AT, B = T −1B, C = C T, D = D (3.48)
este o realizare balansată a sistemului (A,B,C,D).
Dacă Lc şi Lo sunt matricele gramian corespunzatoare sistemului ( A, B, C, D), ele se potexprima ı̂n funcţie de Lc şi Lo ı̂n forma
Lc = T −1LcT −T (3.49)Lo = T T LoT (3.50)
după cum se poate verifica imediat prin ı̂nlocuire directă ı̂n (3.40). Folosind (3.47) şi (3.42)obţinem din (3.49)
Lc = Σ−1/2V T R S T S RT V Σ−1/2 = Σiar din (3.50) folosind (3.46) şi (3.43)
Lo = Σ−1/2U T S RT RS T U Σ−1/2 = Σ.B) Testare numerică
În consecinţă, o realizare balansată (i.e. cu gramienii de controlabilitate si observabilitateegali si diagonali) a unei matrice de transfer date T (s) poate fi construită aplicând următoareaprocedură.
Algoritmul 3.6 ( Construieşte o realizare balansată a sistemului minimal stabil(A,B,C,D)).
1. Se calculează factorii Cholesky S şi R astfel ı̂ncât Lc = S T S , Lo = RT R
2. Se calculează DVS astfel ı̂ncât S RT = U ΣV T
3. Se calculeazâ T = S T U Σ−1/2, T −1 = Σ−1/2V T R.
C) Sarcini de lucru1. Care credeţi că ar putea fi o posibilă utilizare a realizărilor balansate? (ganditi-vă la o
posibilitate de a scrie realizări minimale)
Programe MATLAB disponibile
Construcţia matricei de controlabilitate R a perechii (A, B) se face cu funcţia ctrb, care im-plementează algoritmul 3.3, mai precis versiunea acestuia bazată pe formula (3.13). Pentruconstrucţia formei bloc-superior Hessenberg a unei perechi (A, B) este disponibilă funcţia ctrbf .Construcţia unei realizări minimale se poate face utilizând funcţia minreal.
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
17/26
3.5. REALIZ ̆ ARI BALANSATE 17
Bibliografie
[1] Ionescu V., Varga A. Teoria sistemelor - Sinteza robust˘ a, metode numerice de calcul ,
Ed. All, Bucureşti 1994.
[2] Jora B., Popeea C., Barbulea S. Metode de Calcul Numeric ı̂n Automatic˘ a , Ed.Enciclopedică, Bucureşti 1996.
[3] Van Dooren P. Numerical Linear Algebra for Signals Systems and Control
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
18/26
18
ANEXA
Sectiunea 3.1 Problema 1.
function stabilitate(A)
lambda = eig(A);
alpha = max(lambda);
if (alpha < 0)
disp ’Sistemul este stabil’;
else
disp ’Sistemul este instabil’;
end
Sectiunea 3.1 Problema 3.
% Eliminare gaussiana pentru matricea A
function [A,rez] = gauss(A);
[n,n] = size(A);
rez = 0; %variabila care va indica prezenta unui pivot nul
for k = 1 : n-1,
if (A(k,k) == 0)
rez = k;
break; %daca am intalnit un pivot nul ies
end
for i = k+1 : n,
A(i,k) = A(i,k) / A(k,k);
end
for j = k+1 : n,
for i = k +1 : n,
A(i,j) = A(i,j) - A(i,k)*A(k,j);
end
end
end
% Aplicarea eliminarii gaussiene pentru matricea Hurwitz H
function [H,rez] = gauss Hurwitz(poli)
dim=size(poli);
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
19/26
3.5. REALIZ ̆ ARI BALANSATE 19
coeff=dim(2);
% constructia matricei Hurwitz
H=zeros(coeff-1);
for i=1:coeff,
H(1+rem(i,2),ceil(i/2))=poli(i);
end
if (rem(coeff,2) =0)
H(1,ceil(coeff/2)) = 0;
end
for i = 3 : coeff-1
H(i,:) = [0 H(i-2,1:coeff-2)];
end
% eliminare gaussiana
[H,rez] = gauss(H);
if (rez > 0)
disp(’Am gasit un pivot nul’);
end
% Testarea valorilor proprii ale matricei companion
function [r,H,lambda]=companion(poli)
dim=size(poli);
coeff=dim(2);
for i = 2 : coeff
poli(i) = poli(i)/poli(1);
end
for i = 1 : coeff-1
r(i) = poli(coeff-i+1);
end
% matricea companion
H = [zeros(coeff-2,1) eye(coeff-2);-r];
lambda = eig(H);
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
20/26
20
Sectiunea 3.1 Problema 3.(varianta)
function RA=routh(poli,epsilon);
if (nargin
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
21/26
3.5. REALIZ ̆ ARI BALANSATE 21
fprintf(’Caz special: Primul element este zero.’);
RA(i-1,1)=epsilon; %inlocuieste cu epsilon
end
%calculeaza elementele vectorului Routh
for j=1:index(i-2),
RA(i,j)=-det([RA(i-2,1) RA(i-2,j+1);
RA(i-1,1) RA(i-1,j+1)])/RA(i-1,1);
end
end
Sectiunea 3.2 Problema 1
H=tf([0 1],[0 1];[0 -6],[1 -2],[0 1 -2 1],[0 1 2 -3];[1 5 3 -9],[0 1 6 9]);
sys = ss(H);
A = sys.a
B = sys.b
C = sys.c
D = sys.d
Sectiunea 3.2 Problema 2
A=[0 0 1 0;1 0 2 0;0 1 3 1;0 0 -21 5];B=[1 0;0 0;0 0;0 1];
C=[1 5 4 1];
D=[0 0];
[num1,den1] = ss2tf(A,B,C,D,1)
[num2,den2] = ss2tf(A,B,C,D,2)
Sectiunea 3.2 Problema 4
% Constructia realizarii standard observabile in cazul SISO
function [A o,B o,C o,D o] = obsv siso(num,den)
[n] = length(den);
[m] = length(num);
if (m > n)
disp (’functie improprie’);
else
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
22/26
22
if (m == n)
[q,r] = deconv(num,den);
D o = q;
num = r(2:length(r));
else
D o = 0;
end
A o(:,1) = -den(2:length(den))’
A o(1:n-2,2:n-1) = eye(n-2);
A o(n-1,2:n-1) = zeros(1,n-2);
B o = num’;
C o(1,1) = 1;
C o(1,2:n-1) = zeros(1,n-2);
end
% Constructia realizarii standard observabile in cazul MIMO
function [A,B,C,D] = obsv MIMO(T)
[p,m] = size(T)
[num,den] = tfdata(T(1,1),’v’);
% initializare cmmmc
f = den;for i = 1 : p,
for j = 1 :m,
[num,den] = tfdata(T(i,j),’v’);
f = deconv(conv(f,den),PolyGcd(f,den));
end
end
for i = 1 : p,
for j = 1 :m,
[num,den] = tfdata(T(i,j),’v’);
tmp = deconv(num,den);
D(i,j) = tmp(1);
[num1,den1] = tfdata(T(i,j)-D(i,j),’v’);
N(i,j) = tf(conv(deconv(f,den1),num1),1);
end
end
dim=size(f);
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
23/26
3.5. REALIZ ̆ ARI BALANSATE 23
n=dim(2);
% constructia lui B
l=1;
while (l
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
24/26
24
end
g = p2;
function [q,v] = recast(p)
% impartirea elementelor unui vector prin cmmdc
v = norm(p,inf);
if abs(p) == 0; q = abs(p); v = 1; return; end;
if length(p) > 1;
for j = 1:length(p), v = gcd(v,p(j)); end;
end;
q = p/v;if p(1) = 0; q=q*sign(p(1)); end;
Sectiunea 3.3 Problema 1
a)
A = diag([1:20]) + diag(ones(1,19),-1)*20;
b = [20;zeros(19,1)];
R = ctrb(A,b);
svd(R)
Obţinem următorul rezultat
ans =
2.6110e+28
2.1677e+28
...
4.0545e+047.8271e+01
2.0000e+01
care indică o matrice singulară.
b) Folosind C2 obţinem ca rang pentru valoarea proprie 20 (cel mai rău caz):
svd([A-20*eye(size(A)),b])
ans =
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
25/26
3.5. REALIZ ̆ ARI BALANSATE 25
3.6313e+01
...
5.9214e+00
soluţie care este departe de a fi singulară.
Aceasta arată că testul bazat pe calculul rangului matricei de controlabilitate nu este ”deı̂ncredere”.
c) Şi testul C2 suferă de dificultăţi ı̂n cazul matricei date A. Dacă perturbăm A ı̂n poziţia(1, 20) cu o valoare δ = 10−12 atunci valorile proprii ı̂şi vor schimba prima şi/sau a doua cifrăseminificativă. Ca o consecinţă, testul C2 nu se va efectua folosind valorile proprii reale alematricei Â, ci unele puternic perturbate. Acest calcul este independent de vectorul b. Dacăluăm un vector b̂ astfel ı̂ncât o anume valoare proprie, de exmplu 1, nu este controlabilă, i.e.,
rank ˆA − I | ˆb < 20, ca de exemplu ˆb = [1e401e401e401e40zeros(1, 16)] atunci testulC2 aplicat valorii proprii calculate a lui  va da rezultate complet eronate.A = diag([1:20]) + diag(ones(1,19),-1)*20;
A(1,20) = 1e-12;
b=[1e40 1e40 1e40 1e40 zeros(1,16)]’;
rank([A-eye(20) b])
vp = eig(A)
for i = 1 : length(vp),
rank([A-vp(i)*eye(20) b])
end
rank(ctrb(A,b))
d) Acelaşi lucru poate fi spus şi despre testul C3. Dacă ( Â, b̂) este necontrolabilă pentru
valoarea proprie λ = 1, atunci o reacţie f nu va putea muta valoarea proprie λ = 1 ı̂n  + b̂f .Totuşi pentru că valorile proprii ale lui A (şi Â) sunt atât de sensibile este foarte puţin posibil
ca  şi  + b̂f să aibă o valoare proprie foarte apropiată de λ = 1.
Eigenvalues λi(A) Eigenvalues µi(A + b̂f ) K ( b; A − λiI )−.32985 ± j1.06242 .99999 .002.92191 ± j3.13716 −8.95872 ± j3.73260 .004
3.00339 ± j4.80414 −5.11682 ± j9.54329 .0075.40114 ± j6.17864 −.75203 ± j14.148167 .0128.43769 ± j7.24713 5.77659 ± j15.58436 .018
11.82747 ± j7.47463 11.42828 ± j14.28694 .02615.10917 ± j6.90721 13.03227 ± j12.90197 .03218.06886 ± j5.66313 18.59961 ± j14.34739 .04020.49720 ± j3.81950 23.94877 ± j11.80677 .05222.06287 ± j1.38948 28.45618 ± j8.45907 .064
32.68478
-
8/19/2019 Tsa Lab 3 Analiza Pe Stare
26/26
26
Tabelul a fost obţinut pentru testele C2 şi C3 folosind b̂ şi  ca ı̂n enunţ. În loc de aperturba un element al matricei  folosim o transformare ortogonală oarecare Q pe spaţiulstărilor asupra sistemului ( Â, b). Valorile proprii rezultate pentru  + b̂f pentru un f oarecare
şi numerele de condiţionare ale b̂ | Â − λiI ı̂n valorile proprii calculate λi ale matricei Âsunt date ı̂n Tabelul 3.1. Precizia maşină folosită pentru test a fost ∼ 10−8.
A = diag([1:20]) + diag(ones(1,19),-1)*20;
b = [0 ones(1,19)]’;
T = orth(rand(20));
A = T*A*T’;
b = T*b;
eigs = eig(A+b*rand(1,20))
for i = 1:length(eigs)
rank([A-eigs(i)*eye(20) b])
svds = svd([b A-eigs(i)]);
k = svds(1)/svds(length(svds))
end
Când se folosesc ı̂n loc de λi
Â
, valorile corecte λi (A), testul C2 dă ca rezultat κ
b̂ | Â − λ1I
∼
10−18, care indică faptul că problemă o constituie sensibilitatea valorilor proprii.
top related