44
Sveuˇ ciliˇ ste J. J. Strossmayera u Osijeku Odjel za matematiku Sveuˇ ciliˇ sni diplomski studij matematike i raˇ cunarstva Matea Ugrica Upravljivost linearnih vremenski neovisnih sustava Diplomski rad Osijek, 2015.

Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni diplomski studij matematike i racunarstva

Matea UgricaUpravljivost linearnih vremenski neovisnih sustava

Diplomski rad

Osijek, 2015.

Page 2: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni diplomski studij matematike i racunarstva

Matea UgricaUpravljivost linearnih vremenski neovisnih sustava

Diplomski rad

Mentor:

doc.dr.sc. Zoran Tomljanovic

Osijek, 2015.

Page 3: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Sadrzaj

1 Uvod 1

2 Linearni vremenski neovisni sustav 2

3 QR faktorizacija s pivotiranjem 8

3.1 Givensove rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1.1 Matrice rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1.2 Givensove rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 QR faktorizacija koristeci Givensove rotacije . . . . . . . . . . . . . . . . . . 11

3.3 Svojstva QR faktorizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4 Matrice permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.5 QR faktorizacija s pivotiranjem . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.6 Numericki rang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Upravljivost 19

4.1 Dekompozicija neupravljivog sustava . . . . . . . . . . . . . . . . . . . . . . 24

4.2 Numericko provjeravanje upravljivosti . . . . . . . . . . . . . . . . . . . . . . 26

4.2.1 Numericki efikasnije provjeravanje upravljivosti . . . . . . . . . . . . 27

4.2.2 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 Udaljenost do neupravljivosti . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Literatura 35

6 Prilog - Matlab kodovi 36

7 Sazetak 39

8 Title and summary 40

9 Zivotopis 41

Page 4: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

1 Uvod

Upravljivost je jedan od glavnih koncepata teorije sustava. Opisuje mogucnost da se vanj-

skim upravljanjem (input, unos) sustava, sustav iz jednog stanja dovede u neko drugo stanje

u konacnom vremenu.

Upravljivost ima vrlo siroku primjenu, ponajvise u fizici, sve od balansiranja stapa do

kretanja satelita u Zemljinoj orbiti. Buduci da se radi o jednom od temeljnih pojmova iz

teorije sustava, upravljivost se koristi u mnogim primjenama poput stabilizacije sustava, op-

timalnog upravljanja i simulacije slozenih sustava.

Kako bismo mogli proucavati upravljivost linearnih vremenski neovisnih sustava, u prvom

dijelu rada navest cemo definiciju i primjere linearnih vremenski neovisnih sustava. Takoder,

pokazat cemo kako sustave, koji na prvi pogled nisu linearni vremenski neovisni, svesti na

linearne vremenski neovisne sustave.

U drugom dijelu rada opisat cemo QR faktorizaciju s pivotiranjem, koju cemo koristiti

za numericko provjeravanje upravljivosti. Takoder, opisat cemo i Givensove rotacije, jer QR

faktorizaciju vrsimo pomocu njih, te pojam numerickog ranga.

U ovom radu cemo koristiti oznake kao u programskom paketu Matlab. Konkretno, za

matricu Q oznaka Q(1 : m,n + 1 : m) predstavljat ce matricu koja je zapravo podmatrica

matrice Q, a sastoji se od prvog do m-tog retka matrice Q, te od n+ 1-vog do m-tog stupca

matrice Q.

U trecem dijelu rada opisat cemo upravljivost te cemo pokazati kako se ona moze nu-

mericki provjeriti svodenjem matrice na Hessenbergovu formu. Takoder, navest cemo pri-

mjere upravljivih i neupravljivih sustava. U ovom dijelu ce biti opisana i udaljenost do

neupravljivosti sustava kao bolja mjera od provjeravanja same upravljivosti sustava.

1

Page 5: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

2 Linearni vremenski neovisni sustav

Linearni vremenski neovisni (LTI - linear time invariant) sustav je zadan sljedecim obicnim

diferencijalnim jednadzbama 1. reda

x(t) = Ax(t) +Bu(t), t ≥ t0, x(t0) = x0, (1)

y(t) = Cx(t) +Du(t), (2)

gdje je

x(t) ∈ Rn - vektor stanja,

u(t) ∈ Rm - vektor upravljanja (input), m ≤ n,

y(t) ∈ Rr - vektor izlaza,

A ∈ Rn×n - matrica koeficijenata sustava,

B ∈ Rn×m - matrica ulaza sustava,

C ∈ Rr×n - matrica izlaza sustava,

D ∈ Rr×m - matrica prijenosa sustava,

x(t0) je pocetni uvjet.

Jednadzbu (1) nazivamo jednadzbom stanja, a jednadzbu (2) nazivamo jednadzbom izlaza.

Ukoliko je m = r = 1 sustav nazivamo single-input single-output sustav (SISO).

Cesto se pri modeliranju brojnih fizikalnih problema dobiju sustavi nelinearnih jednadzbi

ili sustavi diferencijalnih jednadzbi 2. reda ili parcijalne diferencijalne jednadzbe. Pokazat

cemo na primjeru kako se sustav obicnih diferencijalnih jednadzbi 2. reda moze zapisati kao

LTI te kako se nelinearan sustav diferencijalnih jednadzbi moze zapisati kao LTI.

Primjer 2.1. Sustav dvije mase

Razmotrimo sustav prikazan na Slici 2.1

Slika 2.1: Sustav dvije mase

2

Page 6: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Neka su k1, k2, k3 krutosti za svaku pojedinu oprugu, m1,m2 mase tijela, c1 prigusenje

koje djeluje na tijelo mase m1 te u2 upravljanje koje djeluje na tijelo mase m2.

Rjesenje.

Pretpostavimo da se gibanje vrsi samo u jednom smjeru i oznacimo redom s x1 i x2 otklone

masa m1 i m2 od ravnoteznog polozaja. Da bismo odredili jednadzbe gibanja sustava, sjetimo

se Newtnovog drugog zakona koji glasi

F = ma = mx,

gdje je m masa tijela, a akceleracija, a F zbroj svih sila koje djeluju na tijelo mase m. Sile

koje djeluju na svako pojedino tijelo u ovom sustavu su:

1. sila opruge, koja je po Hookovom zakonu proporcionalna otklonu tijela od ravnoteznog

polozaja, −kx, gdje je x otklon od ravnoteznog polozaja, a k konstanta elasticnosti

2. sila prigusenja, −cx

3. vanjska sila u2, koja moze, a i ne mora postojati.

Za vise mozete pogledati u [1].

Odredimo prvo koliko ce iznositi promjene duljina opruga u nasem primjeru, redom za

opruge k1, k2 i k3 one iznose x1, x2 − x1 i x2. Tada je jednadzba gibanja mase m1 sljedeca:

F1 = m1x1 = −k1x1 + k2(x2 − x1)− c1x1. (3)

Primijetimo da opruge k1 i k2 djeluju u suprotnim smjerovim na masu m1 pa su im predznaci

suprotni.

Analogno, jednadzba gibanja tijela mase m2 je sljedeca:

F2 = m2x2 = −k2(x2 − x1)− k3x2 + u2. (4)

U matricnom obliku jednadzbe (3) i (4) mozemo zapisati na sljedeci nacin:[m1 00 m2

] [x1x2

]+

[c1 00 0

] [x1x2

]+

[k1 + k2 −k2−k2 k2 + k3

] [x1x2

]=

[0u2

],

odnosno

Mx+ Cx+Kx = u, (5)

gdje je:

x =

[x1x2

], u =

[0u2

], M =

[m1 00 m2

],

C =

[c1 00 0

], K =

[k1 + k2 −k2−k2 k2 + k3

].

3

Page 7: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Ukoliko uvedemo nove varijable y1 = x i y2 = x, tj.

y =

[y1y2

].

Tada dobijamo sustav oblika:

y1 = y2

y2 = −M−1(Cy2 +Ky1 − u),

odnosno

y = Ay +Bu,

z = C ′y,

gdje je:

A =

[0 I

−M−1K −M−1C

], B =

[0

M−1

]C ′ =

[1 0 0 00 1 0 0

].

Primijetimo da smo dobili LTI sustav u kojem je u vektor upravljanja sa samo jednom

komponentom, dok nam y predstavlja vektor stanja, a z vektor izlaza.

Primjer 2.2. Gibanje satelita

Razmotrimo sustav prikazan na Slici 2.2

satelit

Zemlja ϕ(t)ϕ(t)

u1(t)

d(t)

u2(t)

Slika 2.2: Gibanje satelita

Neka se satelit jedinicne mase krece u orbiti oko Zemlje na udaljenosti d(t) od sredista

Zemlje. Neka je ϕ(t) kut pod kojim se satelit nalazi u vremenu t i neka tri sile djeluju na taj

4

Page 8: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

satelit. Radijalna sila u1(t), tangencijalna sila u2(t) te sila privlacnosti FG =α

d2(t), gdje je

α konstanta.

Rjesenje.

Primijetimo da ovaj primjer prikazuje gibanje po kruznici, a ono se sastoji od:

1. jednolikog gibanja po tangenti na kruznicu u tocki odredenoj trenutnim polozajem

tijela

2. jednolikim ubrzanim gubanjem prema sredistu kruzne putanje.

Jednadzba koja opisuje jednoliko ubrzano gibanje prema sredistu je sljedeca:

Fcp = Fcf − FG + u1(t)

m ¨d(t) = md(t) ˙ϕ2(t)− α

d2(t)+ u1(t),

odnosno

¨d(t) = d(t) ˙ϕ2(t)− α

d2(t)+ u1(t). (6)

Kako imamo i jednoliko pravocrtno gibanje po tangenti na kruznicu, zbroj sila koje djeluju

tangencijalno mora biti 0.

Transverzalna akceleracija je dana formulom atr = d(t) ¨ϕ(t) + 2 ˙d(t) ˙ϕ(t). Stoga vrijedi

Ftr − u2(t) = 0

m(d(t) ¨ϕ(t) + 2 ˙d(t) ˙ϕ(t)) = u2(t),

odnosno

¨ϕ(t) =−2 ˙d(t) ˙ϕ(t)

d(t)+u2(t)

d(t). (7)

Jednadzbe (6) i (7) su jednadzbe gibanja ovog sustava.

Definirajmo vektor stanja na sljedeci nacin:

x1(t) = d(t), x2(t) = ˙d(t), x3(t) = ϕ(t), x4(t) = ˙ϕ(t),

a vektor izlaza na sljedeci:

y1(t) = d(t), y2(t) = ϕ(t).

5

Page 9: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Tada u matricnom zapisu sustav je dan s

x1(t)x2(t)x3(t)x4(t)

=

x2(t)

x1(t)x24(t)−

α

x21(t)+ u1(t)

x4(t)

−2x2(t)x4(t)

x1(t)+u2(t)

x1(t)

,

[y1(t)y2(t)

]=

[1 0 0 00 0 1 0

]x1(t)x2(t)x3(t)x4(t)

,uz pocetne uvjete:

x0 =

d(0)

0ϕ(0)

˙ϕ(0)

=

d00ϕ0

ω0

, u0 =

[00

].

Dobijeni sustav

x(t) = f(x(t), u(t), t), x(t0) = x0,

y(t) = h(x(t), u(t), t)

je nelinearan te ga zelimo linearizirati oko pocenog uvjeta (x0, u0).

Objasnimo kako cemo provesti linearizaciju. U slucaju kada razmatramo male perturba-

cije oko nekog referentnog stanja, tada je moguce nelinearne jednadzbe

x(t) = f(x(t), u(t), t), (8)

linearizirati oko referentnog stanja i dobiti linearne diferiencijalne jednadzbe koje opisuje

dinamiku malih perturbacija.

Pretpostavimo da imamo referentno stanje x(t) i odgovarajuci referentni upravljacki vektor

u(t). U slucaju bez perturbacija, referentni vektori zadovoljavaju nelinearnu jednadzbu:

x(t) = f(x(t), u(t), t).

U perturbiranom stanju, vektor stanja i upravljanja mozemo zapisati kao:

x(t) = x(t) + x(t), (9)

u(t) = u(t) + u(t), (10)

6

Page 10: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje su x(t) i u(t) male varijacije oko referentnog vektora stanja i upravljanja.

Uvrstimo li (9) i (10) u (8) dobijamo

x(t) + ˙x(t) = f(x(t) + x(t), u(t) + u(t), t).

Razvijemo li i-tu komponentu (i = 1, . . . , n) prethodnog izraza u Taylorov red te zanemarimo

clanove drugog i visih redova, dobijamo:

xi(t) + ˙xi(t) = fi(x(t), u(t), t) +n∑

j=1

∂fi∂xj

xj(t) +n∑

j=1

∂fi∂uj

uj(t). (11)

Iz izraza (8) i (11) dobijamo:

˙xi(t) =n∑

j=1

∂fi∂xj

xj(t) +n∑

j=1

∂fi∂uj

uj(t), (12)

gdje su parcijalne derivacije u prethodnom izrazu funkcije referentnog stanja i upravljanja.

Sustav jednadzbi (12) mozemo prikazati u matricnom obliku:

˙x(t) = Ax(t) +Bu(t),

gdje su Jacobijani A(t) i B(t) definirani sa:

A(t) =

∂f1∂x1

∂f1∂x2

· ∂f1∂xn

∂f2∂x1

∂f2∂x2

· ∂f2∂xn

......

. . ....

∂fn∂x1

∂fn∂x2

· ∂fn∂xn

B(t) =

∂f1∂u1

∂f1∂u2

· ∂f1∂un

∂f2∂u1

∂f2∂u2

· ∂f2∂un

......

. . ....

∂fn∂u1

∂fn∂u2

· ∂fn∂un

.U slucaju da su referentni vektori konstantni imamo linearni vremenski neovisni sustav.

Upravo to je slucaj u ovom primjeru i ovom linearizacijom dobijamo sljedeci sustav:

x(t) = Ax(t) +Bu(t), x(t0) = x0,

y(t) = Cx(t),

7

Page 11: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje je

A =∂f

∂x

∣∣∣(x0,u0)

=

=

0 1 0 0

ω20 +

d300 0 2d0ω0

0 0 0 1

0−2ω0

d00 0

,

B =∂f

∂u

∣∣∣(x0,u0)

=

0 01 00 0

01

d0

,C =

∂h

∂x

∣∣∣(x0,u0)

=

[1 0 0 00 0 1 0

].

3 QR faktorizacija s pivotiranjem

QR faktorizaciju s pivotiranjem u ovom radu spominjemo zato sto ce nam trebati za

numericki efikasno provjeravanje upravljivosti. Krenimo od same QR faktorizacije.

Za matricu A ∈ Rm×n rastav na produkt ortogonalne matrice Q ∈ Rm×m i gornje tro-

kutaste matrice R ∈ Rm×n, tako da vrijedi A = QR, nazivamo QR faktorizacija (rastav)

matrice A.

Napomenimo da je realna kvadratna matrica Q ortogonalna ako vrijedi QTQ = I, a ma-

tricu R zovemo gornje trokutastom ako su joj elementi ispod glavne dijagonale jednaki nula.

Za matricu R ∈ Rm×n s elementima rij, kazemo da se elementi rii, i = 1, . . . ,min{m,n}nalaze na glavnoj dijagonali.

QR faktorizacija moze se izracunati na vise razlicitih nacina. Gram–Schmidtov postupak

ortogonalizacije jedan je od tih nacina, ali je numericki nestabilan, zato se za QR faktori-

zaciju najcesce koriste Householderove transformacije (za oba nacina vidi [8]). Givensove

rotacije su jos jedna metoda za racunanje QR faktorizacije koja se posebno koristi kada su

u pitanju strukturirane matrice i upravo ta metoda bit ce obradena u ovom radu.

8

Page 12: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3.1 Givensove rotacije

3.1.1 Matrice rotacije

Matrica MR ∈ R2×2 je matrica rotacije u ravnini za koju vrijedi

MR =

[cosφ − sinφsinφ cosφ

], (13)

gdje je φ kut rotacije suprotan smjeru rotacije kazaljke na satu.

Slika 3.1 prikazuje kako matrica MR rotira bazne vektore e1 i e2. Kako na temelju slike

3.1 pokazati da je (13) stvarno matrica rotacije mozete vidjeti u [7].

x

y

−1 0 1

−1

1

e1

e2e′1

e′2

sinφ

cosφ

sinα

cosα

φ

φα

Slika 3.1: Rotacija u xOy ravini

Matrica M je regularna, ortogonalna i cuva euklidsku normu, takoder produkt matrica

rotacije je opet matrica rotacije. Vise mozete vidjeti u [7].

Takoder, matrica MR(i, k, φ) ∈ Rn×n je matrica rotacije za kut φ (u ravnini odredenoj s

kanonskim vektorima i i k) ukoliko je zadana na sljedeci nacin:

MR(i, k, φ) =

1 · · · 0 · · · 0 · · · 0...

. . ....

. . ....

. . ....

0 · · · cosφ · · · − sinφ · · · 0...

. . ....

. . ....

. . ....

0 · · · sinφ · · · cosφ · · · 0...

. . ....

. . ....

. . ....

0 · · · 0 · · · 0 · · · 1

,

pri cemu se podmatrica

[cosφ − sinφsinφ cosφ

]nalazi na presjeku i-tog i k-tog retka odnosno

stupca.

9

Page 13: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3.1.2 Givensove rotacije

Givensove rotacije G su matrice rotacije koje su dobile ime po americkom matematicaru

Jamesu Wallaceu Givensu. To su matrice koje rotiraju vektore u ravnini tako da drugu

komponentu poniste, odnosno postave na nulu, tj. ako imamo vektor x =[x1 x2

]T ∈ R2

matrica G ce na njega djelovati na sljedeci nacin:

Gx =

[cosφ − sinφsinφ cosφ

] [x1x2

]=

[y10

].

Iz sljedeceg sustava odredujemo koliki su sinφ i cosφ

x1 cosφ− x2 sinφ = y1,

x1 sinφ+ x2 cosφ = 0.

Za vrijednosti sinφ i cosφ za x ∈ Rn dobije se

cosφ =x1√x21 + x22

, sinφ =−x2√x21 + x22

, (14)

a sam postupak racunanja kuta te algoritam koji izbjagava “overflow” mozete pronaci u [5],

[7] kao i prikaz mnozenja matrica Givensovim matricama.

Takoder za matrice iz Rn×n mozemo konstruirati odgovarajuce Givensove rotacije. To su

matrice oblika

G(i, k, φ) =

1 · · · 0 · · · 0 · · · 0...

. . ....

. . ....

. . ....

0 · · · cosφ · · · − sinφ · · · 0...

. . ....

. . ....

. . ....

0 · · · sinφ · · · cosφ · · · 0...

. . ....

. . ....

. . ....

0 · · · 0 · · · 0 · · · 1

,

pri cemu se podmatrica

[cosφ − sinφsinφ cosφ

]nalazi na presjeku i-tog i k-tog retka odnosno

stupca, ostali dijagonalni elementi su jednaki 1, a preostali elementi izvan dijagonale su

jednaki 0.

Analogno prethodno opisanom dvodimenzionalnom problemu, vrijednosti sinφ i cosφ se

racunaju na prethodno opisani nacin, tj. za x ∈ Rn

cosφ =xi√

x2i + x2k, sinφ =

−xk√x2i + x2k

. (15)

10

Page 14: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Tada djelovanjem Givensove rotacije G(i, k, φ) ∈ Rn×n na vektor x dobijamo vektor y ∈ Rn

oblika:

yj =

xj, za j 6= i, j 6= k,

0, za j = k,x2i + x2k√x2i + x2k

, za j = i,

,

odnosno ponistavamo k-tu komponentu vektora x, i-tu mijenjamo dok ostale komponente

ostaju nepromijenjene.

3.2 QR faktorizacija koristeci Givensove rotacije

Kako smo vec spomenuli, QR faktorizacija je rastav matrice A na dvije matrice A = QR, za

koje vrijedi da je Q ortogonalna, a R gornje trokutasta.

Teorem 3.1. Za bilo koju matricu A ∈ Rm×n, gdje je m ≥ n postoje matrice Q ∈ Rm×m i

R ∈ Rm×n takve da je A = QR, pri cemu je Q ortogonalna, a R gornje trokutasta matrica.

Dokaz 3.1. Dokaz ovog teorema pomocu Gram-Schmidtovog postupka ortogonalizacije mozete

naci u [8, str. 84].

U ovom potpoglavlju cemo pokazati kako se QR faktorizacija moze izracunati pomocu

Givensovih rotacija.

Neka je A ∈ Rm×n matrica, gdje je m ≥ n. Kako Givensove rotacije ponistavaju samo

jedan element u matrici koju mnozimo mi cemo s Gl(i, k, φ) ∈ Rm×m oznaciti matricu koja

ponistava element akl (element u k-tom retku i l-tom stupcu), a kut φ izracunava za zadane

ail i akl. Ponistavanje cemo vrsiti po sljedecem algoritmu:

U prilogu mozete pronaci funkcije za racunanje kuta s Givensovim rotacijama te za QR

Algoritam 1 (QR faktorizacija pomocu Givensovih rotacija)

Ulaz: A ∈ Rm×n

Izlaz: R ∈ Rm×n gornje trokutasta, Q ∈ Rm×m ortogonalna1: R = A, Q = I2: for l = 1, . . . , n do3: for i = m, . . . , l + 1 do4: izracunati kut φ (tj. elemente Givensove rotacije Gl(i− 1, i, φ))5: R = Gl(i− 1, i, φ)R (ponistava element ail)6: Q = QGl(i− 1, i, φ)T

7: end for8: end for

faktorizaciju pomocu Givensovih rotacija.

11

Page 15: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3.3 Svojstva QR faktorizacije

Teorem 3.1 nam govori da QR faktorizacija postoji. Sljedeca dva teorema govore o poveza-

nosti matrice Q sa slikom od A i ortogonalnim komplementom od slike od A, tj. range(A) i

range(A)⊥ te o jedinstvenosti QR faktorizacije.

Teorem 3.2. Neka je A ∈ Rm×n, rang(A) = n ≤ m, A = QR, QR faktorizacija te neka su

A = [a1, a2, . . . , an] i Q = [q1, q2, . . . , qm] zapisane pomocu pripadnih vektora stupaca, tada

vrijedi

span{a1, . . . , ak} = span{q1, . . . , qk}, ∀k = 1, . . . , n.

Posebno, ako je Q1 = Q(1 : m, 1 : n) i Q2 = Q(1 : m,n+ 1 : m) tada vrijedi

range(A) = range(Q1) (16)

range(A)⊥ = range(Q2) (17)

i A = Q1R1, gdje je R1 = R(1 : n, 1 : n).

Dokaz 3.2. Pokazimo prvo da se odgovarajuce linearne ljuske podudaraju. Kako vrijedi da

je A = QR, tada se k-ti stupac od A moze zapisati na sljedeci nacin:

ak =k∑

i=1

rikqi

jer je R gornje trokutasta matrica pa ce se qj, j > k, mnoziti s 0. Iz ovoga slijedi da je

ak ∈ span{q1, . . . , qk}, odnosno

span{a1, . . . , ak} ⊆ span{q1, . . . , qk}.

Kako je matrica A punog ranga stupaca, dimenzija od span{a1, . . . , ak} je k. Stoga mora

vrijediti

span{a1, . . . , ak} = span{q1, . . . , qk}.

Kako je slika jednaka linearnoj ljusci vektora stupaca, vrijedi jednadzba (16).

Iz definicije ortogonalnog komplementa vrijedi:

range(A)⊥ = {y ∈ Rm : yTx = 0,∀x ∈ range(A)}.

A kako je Q = [Q1, Q2] ortogonalna matrica, vrijedi da je

range(Q1)⊥ = range(Q2),

stoga je i

range(A)⊥ = range(Q2).

12

Page 16: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Takoder jednostavno se pokaze da vrijedi A = Q1R1. Naime, koristeci odgovarajuce blok

particioniranje imamo

A = QR = [Q1, Q2]

[R1

0

]= Q1R1.

Uvedimo pojam Cholesky faktora matrice A ∈ Rn×n.

Teorem 3.3. Neka je A ∈ Rn×n simetricna pozitivno definitna matrica, tada postoji je-

dinstvena donje trokutasta matrica G ∈ Rn×n s pozitivnim dijagonalnim elementima za koju

vrijedi A = GGT .

Dokaz 3.3. Dokaz mozete vidjeti u [5, str. 143].

Matricu G iz prethodnog teorema zovemo Cholesky faktor.

Teorem 3.4. Neka je A ∈ Rm×n, rang(A) = n ≤ m. Tada je faktorizacija A = Q1R1

jedinstvena, gdje Q1 ∈ Rm×n ima ortogonalne stupce, a R1 ∈ Rn×n je gornje trokutasta

matrica s pozitivnim elementima na dijagonali. Stovise, R1 = BT , gdje je B donji trokutasti

Cholesky faktor od ATA.

Dokaz 3.4. Dokaz mozete vidjeti u [5, str. 230].

3.4 Matrice permutacije

Definicija 3.1. Matrica permutacije je matrica kojoj su elementi nule ili jedinice i koja u

svakom retku i u svakom stupcu ima tocno jednu jedinicu.

Primijetimo da je jedinicna matrica takoder matrica permutacije.

Primjer 3.1. Mnozenjem neke matrice A ∈ R4×4 zdesna matricom

Π =

0 0 0 10 0 1 01 0 0 00 1 0 0

,prvi stupac ce se naci na mjestu cetvrtog, drugi na mjestu treceg, treci na mjestu prvog,

te cetvrti na mjestu drugog. U slucaju kada bi imali mnozenje slijeva tada bi se prvi redak

nasao na mjestu treceg retka, drugi na mjestu cetvrtog, treci na mjestu drugog i cetvrti na

mjestu prvog.

ΠA = Π[ar1 , ar2 , ar3 , ar4 ]T = [ar4 , ar3 , ar1 , ar2 ]

T

AΠ = [as1 , as2 , as3 , as4 ]Π = [as3 , as4 , as2 , as1 ].

13

Page 17: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3.5 QR faktorizacija s pivotiranjem

U slucaju da A ∈ Rm×n nije punog ranga stupaca (rang(A) < n), opcenito QR faktorizacijom

necemo dobiti ortogonalnu bazu za range(A).

Primjer 3.2. Neka je A ∈ R3×3, rang(A) = 2, te neka se QR faktorizacijom dobije sljedece

A = [a1, a2, a3] = [q1, q2, q3]

1 1 10 0 10 0 1

.Vidimo da je range(A) razlicito od svih potprostora span{q1, q2}, span{q1, q3}, span{q2, q3}.Odnosno cijelu sliku matrice A ne mozemo dobiti sa samo dva vektora stupca matrice Q, jer

je a3 = q1 + q2 + q3.

Ovaj problem mozemo rijesiti ukoliko koristimo QR faktorizaciju s pivotiranjem, te na

taj nacin dobijamo sljedece:

AΠ = QR,

gdje je Π matrica permutacije.

Algoritam 1 se moze modificirati tako da dobijemo ortogonalnu bazu za range(A). Mo-

dificiranim algoritmom dobijemo sljedecu faktorizaciju:

QTAΠ =

[ ]R11 R12 r0 0 m− rr n− r

,

gdje je r = rang(A), Q ortogonalna matrica, R11 gornje trokutasta s pozitivnim elementima

na dijagonali te Π matrica permutacije.

U nastavku cemo opisati kako se navedena QR faktorizacija s pivotiranjem moze izracunati.

Ako je AΠ = [ac1 , ac2 , . . . , acn ] i Q = [q1, q2, . . . , qn], tada vrijedi

ack =

min{r,k}∑i=1

rikqi, ∀k = 1, . . . , n.

Ako je rang(A) = r < n, tada postoji k > r te vrijedi ack ∈ span{q1, . . . , qr}, odnosno

range(A) = span{q1, . . . , qr}.

14

Page 18: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Matricu Q dobijemo mnozenjem Givensovih matrica, a matricu Π mnozenjem matrica per-

mutacije.

Pretpostavimo da za neki k imamo izracunat odgovarajuci umnozak Givensovih matrica

(Gk−1 · · ·G1), gdje je Gk−1 takoder umnozak Givensovih matrica koje ponistavaju elemente

u k − 1 stupcu, i matrica permutacije (Πk−1 · · ·Π1) tako da vrijedi:

Gk−1 · · ·G1AΠk−1 · · ·Π1 =

[ ]R

(k−1)11 R

(k−1)12 k − 1

0 R(k−1)22 m− k + 1

k − 1 n− k + 1

,

gdje je R(k−1)11 gornje trokutasta s pozitivnim elementima na dijagonali.

Nadalje, neka je

R(k−1)22 = [zk−1k , . . . , zk−1n ],

gdje su zk−1k , . . . , zk−1n stupci matrice R(k−1)22 te neka je p ≥ k najmanji indeks za koji vrijedi:

||zk−1p ||2 = max{||zk−1k ||2, . . . , ||zk−1n ||2}.

Primijetimo ako je rang(A) = k − 1, tada je ovaj maksimum jednak 0 i tu stajemo, u

suprotnom , neka je Πk matrica permutacije koja mijenja stupce p i k te neka je Gk umnozak

Givensovih matrica koji ce ponistiti elemente u k-tom stupcu, tako da je R(k) = GkR(k−1)Πk

te da vrijedi R(k)(k + 1 : m, k) = 0.

Drugim rijecima matrica permutacije Πk ce dovesti na k-tu poziciju onaj stupac matrice

R(k−1)22 koji je po normi najveci te ce matrica Gk ponistiti sve elemente tog stupca koji se

nalaze ispod dijagonale.

Norme vektora stupaca ne moraju se u potpunosti racunati ponovo. Kada bi racunali

normu cijelog stupca nakon k − 1 koraka, bilo bi nam potrebno m(m− 1)(n− k) operacija

jer imamo m mnozenja m− 1 zbrajanje te n− k stupaca.

Kako bi smanjili broj operacija prisjetimo se svojstva Givensovih matrica da cuvaju

euklidsku normu. Ako je

QT z = z =

[ ]α 1w s− 1

,

15

Page 19: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

tada je

||w||2 = ||z||2 − α2,

pa nove vrijednosti norme racunamo na sljedeci nacin:

||z(k)j ||2 = ||z(k−1)j ||2 − r2kj.

Stoga, nove vrijednosti normi mozemo izracunati u 2(n − k) operacija. Primijetimo, u

pocenom koraku morat cemo racunati norme koristeci m2n operacija.

Sljedecim algoritmom opisana je QR faktorizacija koristeci Givensove rotacije s pivotira-

njem. U algoritmu je s nv(r) oznacen kvadrat norme vektora stupca r, s piv(r) je oznaceno

s kojim stupcem je zamjenjen stupac r.

Algoritam 2 (QR faktorizacija pomocu Givensovih rotacija s pivotiranjem)

Ulaz: A ∈ Rm×n, m ≥ nIzlaz: R ∈ Rm×n gornje trokutasta, Q ∈ Rm×m ortogonalna, r = rang(A), Π matrica

permutacije1: for j = 1, . . . , n do2: nv(j) = A(1 : m, j)TA(1 : m, j)3: end for4: R = A, Q = I, Π = I5: r = 06: odredi najmanji indeks k za koji vrijedi da je τ = max

k′=1,...,nnv(k′)

7: while τ > 0 do8: r = r + 19: piv(r) = k10: zamjeni mjesta stupcima r i k u matricama R, Π te zamjeni vrijednosti od nv(r) i

nv(k)11: for i = m, . . . , r + 1 do12: izracunati kut φ (tj. elemente Givensove rotacije Gr(i− 1, i, φ))13: R = Gr(i− 1, i, φ)R (ponistava element air)14: Q = QGr(i− 1, i, φ)T

15: end for16: for j = r + 1, . . . , n do17: nv(j) = nv(j)−R(r, j)2

18: end for19: if r < n then20: odredi najmanji indeks k za koji vrijedi da je τ = max

k′=r+1,...,nnv(k′)

21: else22: τ = 023: end if24: end while

16

Page 20: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Primjer 3.3. Primijenite algoritam 2 na matricu

A =

1 2 32 4 61 8 92 16 18

.Rjesenje.

Pripadne norme vektora stupaca su redom: 10, 340, 450, stoga moramo zamijeniti prvi i zad-

nji stupac. Nakon zamijene ponistavamo elemente u prvom stupcu i dobijamo sljedece:

A =

−21.2132 −18.3848 −2.8284

0.0000 −0.6061 0.60610.0000 −1.2778 1.2778

0 0 0

, r = 1.

Vidimo da su u sljedecem koraku norme jednake, iznose 2, pa ne izvrsavamo nikakvu za-

mjenu. Ponistavanjem elemenata u drugom stupcu dobijamo:

A =

−21.2132 −18.3848 −2.8284

0.0000 1.4142 −1.41420.0000 −0.0000 0.0000

0 0 0

, r = 2.

Nakon ovog ponistavanja nove norme vektora stupaca su 0, stoga algoritam staje. QR

faktorizacija je sljedeca:

AΠ =

1 2 32 4 61 8 92 16 18

0 0 1

0 1 01 0 0

=

−0.1414 −0.4243 0.8944 0−0.2828 −0.8485 −0.4472 0−0.4243 0.1414 −0.0000 0.8944−0.8485 0.2828 −0.0000 −0.4472

−21.2132 −18.3848 −2.8284

0.0000 1.4142 −1.41420.0000 −0.0000 0.0000

0 0 0

= QR,

a rang(A) = 2.

17

Page 21: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3.6 Numericki rang

Pogledajmo sljedeci primjer:

Primjer 3.4. Odredite rang matrice

A =

1 2 32 4 61 8 9 + 1

2e−5

2 16 18 + e−5

.Rjesenje.

Primijetimo rang ove matrice ne razlikuje se od ranga matrice u prethodnom primjeru, jer

su u oba primjera drugi i cetvrti redak skalarni umnosci broja 2 i redom prvog i treceg retka,

ali kao rezultat primjene algoritma 2 dobili smo rangA = 3. Do ove pogreske doslo je zbog

zaokruzivanja. Kriterij za nastavak faktorizacije u algoritmu 2 je da je τ tocno nula, a u

ovom primjeru smo u trecem koraku dobili da je τ = 5.3069e−14, sto je dovoljno malo, s

obzirom na strojnu tocnost, da bi se smatralo nulom te bismo faktorizaciju trebali zavrsiti

u prethodnom koraku i dobiti da je rangA = 2.

Upravo zbog ove greske uveden je drugi kriterij za odredivanje treba li u k-tom koraku

stati s algoritmom.

Pretpostavimo da nakon k koraka imam sljedecu faktorizaciju

QT (k)AΠ(k) =

[ ]R

(k)11 R

(k)12 k

0 R(k)22 m− k

k n− k,

tada je zaustavni kriterij

||R(k)22 ||2 ≤ ε||A||2,

gdje je ε strojna tolerancija.

Stoga mozemo zakljuciti da bi smo dobili tocniji rezultat ranga, dovoljno je u algo-

ritmu 2 umjesto τ > 0 staviti ||R(r + 1 : m, r + 1 : n)||2 > ε||A||2, jer je R(k)22 isto sto i

R(r + 1 : m, r + 1 : n) u algoritmu 2.

Rang koji se racuna na ovakav nacin nazivamo numericki rang.

Ovom problemu moze se pristupiti i drugacije. Ukoliko odredimo singularne vrijednosti

matrice A, σ1, . . . , σn, tada matrica A ima numericki rang k ukoliko vrijedi sljedece:

σ1 ≥ · · · ≥ σk > ε > σk+1 ≥ · · · ≥ σn ≥ 0,

18

Page 22: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje je ε stojna tolerancija. Mozemo reci da ce matrica A imati rang k ukoliko nakon k

singularnih vrijednosti primijetimo znacajno opadanje.

Primjietimo, primijenimo li algoritam 2 s promijenjenim zaustavnim kriterijem, uz tole-

ranciju ε = e−6 dobit cemo da je rangA = 2, jer je nakon drugog koraka

ε||A||2 = e−6 · 28.2243 = 2.8224e−5,

||R(3 : 4, 3)||2 = 4.4720e−11.

Vidimo da vrijedi nejednakost:

ε||A||2 ≥ ||R(3 : 4, 3)||2

te algoritam staje.

Pogledajmo jos i sljedeci primjer:

Primjer 3.5. Kada za matricu

A =

10 0 0 0 0 00 9 0 0 0 00 0 8 0 0 00 0 0 e−10 0 00 0 0 0 e−1 00 0 0 0 0 e−9

ne bismo racunali numericki rang, rekli bismo da je rangA = 6, no racunamo li numericki

rang uz toleranciju ε = e−6 vrijediti ce sljedece rangA = 4.

U prilogu mozete pronaci Matlab funkciju (Prilog - Matlab kodovi (3.)) za racunanje QR

faktorizacije pomocu Givensovih rotacija s pivotiranjem koja racuna numericki rang matrice.

4 Upravljivost

U ovom poglavlju cemo objasniti sto je to upravljivost i navesti kriterije kako mozemo pro-

vjeriti je li neki sustav upravljiv ili nije. Takoder cemo navesti i numericki efikasan algoritam

za provjeru upravljivosti.

Definicija 4.1. Za sustav (LTI)

x(t) = Ax(t) +Bu(t), t ≥ t0, x(t0) = x0, (18)

y(t) = Cx(t) +Du(t), (19)

19

Page 23: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

kazemo da je upravljiv, ukoliko pocevsi iz proizvoljnog stanja x0, sustav mozemo dovesti u

proizvoljno stanje x1 = x(t1) u nekom konacnom vremenu t1 tako da pravilno odaberemo

ulaz u(t), 0 ≤ t ≤ 1.

Rjesenje (LTI) sustava je dano s

x(t) = eA(t−t0)x0 +t∫

t0

eA(t−s)Bu(s) ds

y(t) = CeA(t−t0)x0 +t∫

t0

CeA(t−s)Bu(s) ds+Du(t).

(20)

Vise pogledati u [2].

Napomena 4.1. Kada je u pitanju upravljivost (LTI) sustava cesto se govori i upravljivost

para (A,B), sto objasnjava sljedeci teorem.

Iskazimo prvo teorem koji ce nam trebati u dokazu teorema o kriterijima upravljivosti.

Teorem 4.1. Hamilton - Cayley

Svaka matrica ponistava svoj karakteristicni polinom, κA(A) = 0.

Dokaz 4.1. Dokaz mozete vidjeti u [4].

Vidimo da vrijedi:

κA(A) = An + a1An−1 + · · ·+ anI = 0,

sto bi znacilo da se An moze zapisati kao linearna kombinacija od An−1, . . . , A0.

Teorem 4.2. Kriteriji upravljivosti

Neka je matrica A ∈ Rn×n, B ∈ Rn×m, m ≤ n. Sljedece tvrdnje su ekvivalentne:

1.) Sustav (LTI) je upravljiv.

2.) Kalmanov kriterij upravljivosti: Matrica dimenzije n× nm

CM = [B,AB,A2B, . . . , An−1B]

ima puni rang n .

3.) Matrica

WC =

∫ t1

0

eAtBBT eAT t dt

je regularna ∀ t1 > 0.

4.) Ako je (λ, x) svojstveni par od AT , tada xTB 6= 0.

20

Page 24: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

5.) rang ([A− λI,B]) = n za svaku svojstvenu vrijednost od A.

6.) Svojstvene vrijednosti od A − BK mogu se proizvoljno pridruziti (uz pretpostavku da

svojstvene vrijednosti dolaze u konjugirano kompleksnim parovima) pomocu odgovarajuce

matrice K.

Dokaz 4.2. Pokazat cemo da vrijedi 1.) ⇒ 2.) ⇒ 3.) ⇒ 1.), a ostale ekvivalencije mozete

pronaci u [2].

Neka je B.S.O. t0 = 0 i x(0) = x0

1.) ⇒ 2.)

Pretpostavimo suprotno, neka je sustav upravljiv, a matrica CM nije punog ranga,

tj. rangCM < n.

Iz (20) vrijedi:

x(t1) = eAt1x0 +

t1∫0

eA(t1−t)Bu(t) dt

= eA(t1)x0 +

t1∫0

(I + A(t1 − t) +A2

2!(t1 − t)2 + · · · )Bu(t) dt

= eA(t1)x0 +B

t1∫0

u(t) dt+ AB

t1∫0

(t1 − t)u(t) dt+ A2B

t1∫0

(t1 − t)2

2!u(t) dt+ · · ·

Po Hamilton - Cayleyjevom teoremu vidimo da AnB mozemo izraziti pomocu matrica

B,AB, . . . , An−1B.

Takoder i AkB, za k ≥ n+ 1, mozemo izraziti pomocu matrica B,AB, . . . , An−1B. Tada

vrijedi da je x(t1) linearna kombinacija stupaca B,AB, . . . , An−1B.

Kako CM nije punog ranga, za neki t1, x(t1) se ne dostize te sustav nije upravljiv sto je

kontradikcija.

2.) ⇒ 3.)

Pretpostavimo suprotno, neka je matrica CM punog ranga, tj. rangCM = n, a matrica WC

je singularna, tj. ∃ v 6= 0 tako da WCv = 0, kako je WC simetricna tada je i vTWC = 0.

Pomnozimo li WC slijeva s vT i zdesna s v dobijemo:∫ t1

0

vT eAtBBT eAT tv dt = 0,

odnosno ∫ t1

0

cT (t)c(t) dt = 0,

21

Page 25: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje je c(t) = BT eAT tv. Tada vrijedi da je cT (t) = vT eAtB = 0, ∀ t, 0 ≤ t ≤ t1.

Uvrstimo li t = 0 vrijedi vTB = 0. Deriviramo li po t i uvrstimo t = 0 dobijamo: vTAB = 0.

Takoder ako dva puta deriviramo po t i uvrstimo t = 0 dobijamo vTA2B = 0. Na analogan

nacin dobijamo: vTAn−1B = 0.

Vidimo da smo nasli vektor v koji je okomit na sve stupce matrice CM koja je punog ranga.

To znaci da je v = 0, sto je kontradikcija s prepostavkom.

3.) ⇒ 1.)

Neka je WC regularna ∀ t. Pokazimo da je x(t1) = x1, za proizvoljan x1, tj. pronadimo u(t)

za koji ce to vrijediti. Uvrstimo li u (20)

u(t) = BT eAT (t1−t)W−1

C (−eAt1x0 + x1)

dobijamo:

x(t1) = eAt1x0 +

t1∫0

eA(t1−t)BBT eAT (t1−t)W−1

C (−eAt1x0 + x1) dt

= eAt1x0 +WCW−1C (−eAt1x0 + x1)

= eAt1x0 + (−eAt1x0 + x1)

= x1,

iz cega slijedi da je sustav upravljiv.

Definicija 4.2. Matricu

CM = [B,AB,A2B, . . . , An−1B]

zovemo matrica upravljivosti.

Napomena 4.2. Komponente upravljivosti

Uvjetovanost iz definicije 4.1 cesto nazivamo potpuna uvjetovanost, cime impliciramo da su

sva stanja upravljiva. Medutim, ukoliko imamo samo jedan ulaz iz u(t) = [u1(t), u2(t), . . . , um(t)]T ,

recimo uj(t), tada rang odgovarajuce n× n matrice upravljivosti CjM = [bj, Abj, . . . , A

n−1bj],

gdje je bj j-ti stupac od B, odgovara broju stanja koji su upravljivi koristeci ulaz uj(t).

Ilustrirajmo napomenu 4.2 primjerom. Razmotrimo primjer gibanja satelita, uz pripadnu

linearizaciju i d0 = 1.

Tada je

C1M = [b1, Ab1, A

2b1, A3b1] =

0 1 0 −3ω2

0 + 2α1 0 −3ω2

0 + 2α 00 0 −2ω0 10 −2ω0 0 6ω3

0 − 4ω0α

,

22

Page 26: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

C2M = [b2, Ab2, A

2b2, A3b2] =

0 0 2ω0 00 2ω0 0 −6ω3

0 + 4αω0

0 1 0 −2ω0

1 0 −4ω20 0

,CM = [B,AB,A2B,A3B]

=

0 0 1 0 0 2ω0 −3ω2

0 + 2α 01 0 0 2ω0 −3ω2

0 + 2α 0 0 −6ω30 + 4αω0

0 0 0 1 −2ω0 0 1 −2ω0

0 1 −2ω0 0 0 −4ω20 6ω3 − 4ωα 0

.Vidimo da su matrice CM i C2

M ranga 4, sto znaci da su sva stanja upravljiva koristeci

obje sile (tj. oba ulaza) ili samo tangencijalnu silu, odnosno ulaz u2(t).

Matrica C1M je ranga 3, a to znaci da koristeci samo radijalnu silu, odnosno ulaz u1(t), jedno

od stanja nije upravljivo. Objasnimo ukratko sto je stabilnost sustava i zasto je ona vazna.

Definicija 4.3. Stanje ravnoteze dinamickog sustava

˙x(t) = Ax(t),

x(0) = x0

je vektor xe koje zadovoljava da je Axe = 0

Vidimo, ukoliko je matrica regularna jedino stanje ravnoteze je xe = 0.

Definicija 4.4. Kazemo da je stanje ravnoteze xe asmiptotski stabilno, ako za svako pocetno

stanje x0 vrijedi x(t)→ xe za t→∞.

Definicija 4.5. Za dinamicki sustav x = Ax kazemo da je stabilan ako su sve svojstvene

vrijednosti u otvorenoj lijevoj poluravnini, tj. Reλ(A) < 0. A matricu A koja zadovoljava

ovo svojstvo zovemo stabilna ili Hurwitzova matrica.

Takoder, mozemo reci da je sustav asimptotski stabilan ukoliko x(t)→ xe za t→∞

Primjer 4.1. Ukoliko u primjeru 2.1 stavimo da je

1.) m1 = 1,m2 = 0.5, k1 = 2, k2 = 0.5, k3 = 4, c1 = 1 i u2 = 0, dobit cemo sustav:

y = Ay =

0 0 1.0000 00 0 0 1.0000

−2.5000 0.5000 −0.1000 01.0000 −9.0000 0 0

y.Matrica A ima sljedece realne vrijednosti svojstvenih vrijednosti:

−0.0494,−0.0494,−0.0006,−0.0006.

Vidimo kako je ovako zadan sustav stabilan, a matrica A je Hurwitzova.

23

Page 27: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

2.) m1 = 1,m2 = 0.5, k1 = 2, k2 = 0.5, k3 = 4, c1 = 0 i u2 = 0 sustav je sljedeci:

y = Ay =

0 0 1.0000 00 0 0 1.0000

−2.5000 0.5000 0 01.0000 −9.0000 0 0

y,a realne vrijednosti svojstvenih vrijednosti matrice A su:

0.0410e−15, 0.0410e−15,−0.2220e−15,−0.2220e−15

sto znaci da ovaj sustav nije stabilan.

Slika 4.1: Prikaz odstupanja masa od njihovog ravnoteznog polozaja

Takoder iz slike 4.1 vidimo kako se u slucaju 1.) sustav stabilizirao oko ravnoteznog

polozaja.

Vaznost stabilnosti sustava je upravo u tome sto ce neovisno o pocetnom polozaju sustav

s vremenom doci do ravnoteznog polozaja.

4.1 Dekompozicija neupravljivog sustava

Pretpostavimo da par (A,B) nije upravljiv. Neka je rang (CM) = k, k < n. Tada iduci

teorem opisuje dekompoziciju takvog sustava na upravljiv i neupravljiv dio.

Teorem 4.3. Dekompozicija neupravljivog sustava

Ako matrica upravljivosti CM ima rang k, tada postoji regularna matrica T takva da

A = TAT−1 =

[A11 A12

0 A22

], B = TB =

[B1

0

], (21)

24

Page 28: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje su matrice A11, A12, A22 redom matrice dimenzija k×k, k× (n−k) i (n−k)× (n−k),

B1 ima k redova. Nadalje par (A11, B1) je upravljiv.

Dokaz 4.3. Neka su q1, q2, . . . , qk linearno nezavisni stupci matrice CM . Nadopunimo ih do

baze sa qk+1, . . . , qn. Neka je T = [q1, q2, . . . , qn]−1, trebamo pokazati da su tada TAT−1 i

TB oblika kao u iskazu teorema.

Vrijedi:

AT−1 = [Aq1, . . . , Aqk, . . . , Aqn].

Znamo da ∀ i = 1, . . . , k se Aqi moze iskazati kao linearna kombinacija stupaca od CM , stoga

vrijedi:

AT−1 = [Aq1, . . . , Aqk, . . . , Aqn] = [q1, . . . , qk, . . . , qn]

[A11 A12

0 A22

]. (22)

Pomnozimo li jednakost (22) s T dobijamo sljedece:

TAT−1 =

[A11 A12

0 A22

].

Analogno vrijedi:

B = T−1[B1

0

], odnosno TB =

[B1

0

].

Treba jos pokazati da je par (A11, B1) upravljiv. Zapisimo matricu CM pomocu matrica A,B.

CM = [T−1B, T−1ATT−1B, . . . , T−1Ak−1

TT−1B, . . . T−1An−1

TT−1B] =

= T−1[B1 A11B1 · · · A

k−111 · · · A

n−111 B1

0 0 · · · 0 · · · 0

].

Kako po Hamilton-Cayleyjevom teoremu vrijedi da je ∀ j ≥ k, Aj

11 linearna kombincija od

Ai

11, i = 0, 1, . . . , (k − 1). Tada je

rang(B1, A11B1, · · · , Ak−111 ) = k,

sto po teoremu (4.2) znaci da je par (A11, B1) upravljiv.

Napomena 4.3. Za regularnu matricu T , (LTI) sustav mozemo supstitucijom x(t) = Tx(t)

svesti na oblik

x(t) = Ax+Bu(t),

y(t) = CT−1x(t) +Du(t).

25

Page 29: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Teorem 4.4. Neka je T regularna matrica takva da vrijedi A = TAT−1, B = TB. Par

(A,B) je upravljiv ako i samo ako je upravljiv i par (A,B).

Dokaz 4.4. Primijenimo teorem 4.2:

C(A,B)M = [B,AB, . . . , An−1B] = [T−1B, T−1ATT−1B, . . . , T−1A

n−1TT−1B]

= T−1[B,AB, . . . , An−1

B] = T−1C(A,B)M ,

kako je T 1 regularna matrica ona nece promjeniti rang matrice C(A,B)M , stoga vrijedi

rangC(A,B)M = rangC

(A,B)M .

Po Kalmanovom kriteriju upravljivosti, par (A,B) ce biti upravljiv ako i samo ako je upravljiv

i par (A,B).

Napomena 4.4. T mozemo odabrati da bude ortogonalna ukoliko napravimo QR dekompo-

ziciju matrice CM . Ukoliko je CM = QR, tada je T = QT .

4.2 Numericko provjeravanje upravljivosti

Prethodno navedeni teoretski vazni kriteriji upravljivosti, nazalost, ne povlace numericki

efikasne testove za provjeru upravljivosti. Provjeravanje svojstvenih vrijednosti i svojstvenih

vektora nije numericki pouzdano i stabilno, odredivanje numerickog ranga ne mora uvijek

biti pouzdan nacin za odredivanje upravljivosti, pogledajmo na primjeru.

Primjer 4.2. (Paige, 1981.)

Neka je par (A,B) zadan s

A =

1 0 · · · 00 2−1 · · · 0... 0

. . . 00 0 · · · 2−n+1

, B =

11...1

.Provjerite je li on upravljiv.

Rjesenje. Koristimo li 4. kriterij teorema 4.2 vidimo da je par (A,B) upravljiv, jer su

svojstveni vektori matrice AT lijevi svojstveni vektori matrice A, a svojstveni vektori matrice

A su vektori kanonske baze, te za sve vrijedi xTB = 1 6= 0. No, racunamo li numericki rang

matrice CM koja glasi

CM =

1 1 · · · 11 2−1 · · · 2−n+1

......

. . ....

1 2−n+1 · · · 2(−n+1)(n−1)

,26

Page 30: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

za n = 12, uz strojnu toleranciju e−16, dobit cemo da je rang(CM) = 11 < 12. Vidimo da

kada bi gledali po ovom kriteriju par (A,B) ne bi bio upravljiv.

Stoga se u iducem potpoglavlju fokusiramo na algoritam koji daje pouzdanije, efikasnije

provjeravanje upravljivosti.

4.2.1 Numericki efikasnije provjeravanje upravljivosti

Definicija 4.6. Za matricu A ∈ Rn×n cemo reci da je u gornjoj Hessenbergovoj formi ako

vrijedi aij = 0, za i − j ≥ 2, tj. matrica A je gornje trokutasta i ima jos jednu sporednu

dijagonalu ispod glavne.

Numericki efikasno provjeravanje upravljivosti moze se dobiti redukcijom para (A,B) u

blok Hessenbergovu formu koristeci ortogonalnu transformaciju slicnosti. Primjenom algo-

ritma stvaramo ortogonalnu matricu P takvu da vrijedi

PAP T = H, gdje je H blok gornje Hessenbergova matrica

PB = B =

[B1

0

].

(23)

Forma (23) zove se upravljiva - Hessenbergova forma para (A,B), a par (H,B) zove se

upravljivi - Hessenberg par od para (A,B).

Redukcija se provodi koristeci QR faktorizaciju s pivotiranjem. Kako smo vec rekli u

ovom radu cemo za QR faktorizaciju s pivotiranjem koristiti Givensove rotacije.

Opisimo algoritam za single-input case, odnosno za slucaj kada je B vektor stupac. Neka

su A ∈ Rn×n i b ∈ Rn

1. Odredimo prvo matricu P1 koja ce u vektoru b ponistiti sve osim prvog elementa stupca,

te dobijemo

P1b =

±||b||...0

, P1APT1 =

a′11 a′12 · · · a′1n...

.... . .

...a′n1 a′n2 · · · a′nn

.2. Odredimo matricu

P2 =

1 · · · 0...

G20

,

27

Page 31: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

gdje je G2 umnozak Givensovih rotacija koji ce ponistiti sve elemenate u prvom stupcu

matrice A, osim prva dva. Nakon ponistavanja dobijamo sljedece

P2P1APT1 P

T2 =

a′11 a′12 · · · a′1n±||a1|| a′′22 · · · a′′2n

......

. . ....

0 a′n2 · · · a′nn

.3. Analogno koraku 2. idemo na sljedeci stupac i vrsimo ponistavanja, sve dok ne do-

bijemo gornju Hessenbergovu formu. Primijetimo mnozenjem s lijeve strane radimo

ponistavanja, a zbog strukture matrice P2, mnozenjem zdesna necemo narusiti struk-

turu nula. Neka smo dosli do koraka k, odgovarajuca matrica Pk ce imati jedinice na

dijagonali prvih k − 1 stupaca, a upravo ti stupci su vec ponisteni.

Primijetimo da je matrica Pn−1 · · ·P2, zapravo matrica QT dobivena QR faktorizacijom ma-

trice A(2 : n, 1 : n), a matrica P = Pn−1 · · ·P2P1.

Sljedeci teorem povezuje prethodno opisani algoritam i upravljivost.

Teorem 4.5. Par (A, b), A ∈ Rn×n, b ∈ Rn, je upravljiv ako i samo ako je upravljiva -

Hessenbergova forma (H, b) takva da je H nereducirana gornje Hessenbergova forma, tj. ako

je hi,i−1 6= 0, i = 2, . . . , n i b1 6= 0.

Dokaz 4.5. Kako imamo transformaciju slicnosti, po teoremu (4.4), vrijedi

C(A,b)M = [b, Ab, . . . , An−1b] = [b,Hb, . . . , Hn−1b] = C

(H,b)M .

U Hessenbergovoj formi imat cemo sljedece:

H = PAP T =

h11 h12 · · · · · · h1nh21 h22 · · · · · · h2n

0 h32. . . · · · h3n

......

. . . . . ....

0 · · · 0 hn,n−1 hnn

, b = Pb =

b1...0

. (24)

Tada je

C(H,b)M =

b1 h11b1 c13 · · · c1n0 h21b1 · · · · · · c2n0 0 h21h32b1 · · · h3n...

.... . . . . .

...

0 0 0 0 h21 · · ·hn,n−1b1

.

28

Page 32: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Vidimo da je matrica C(H,b)M gornje trokutasta s dijagonalnim elementima b1, h21b1, h21h32b1,

. . . , h21 · · ·hn,n−1b1.

Sustav je upravljiv ako i samo ako je rangC(H,b)M = n, a rangC

(H,b)M = n ako i samo ako

je hi,i−1 6= 0, i = 2, . . . , n i b1 6= 0.

Zapisat cemo formalno algoritam za B ∈ Rm×n te iskazati teorem analogan teoremu 4.5

za B ∈ Rm×n .

Algoritam 3 (Staircase algoritam)

Ulaz: A ∈ Rn×n,B ∈ Rn×m, n ≥ mIzlaz: H ∈ Rn×n blok gornje Hessenbergova matrica, B ∈ Rn×m , P ∈ Rn×n ortogonalna

matrica1: izvrsiti QR faktorizaciju s pivotiranjem nad B, Π1 je permutacijska matrica i P1 ortogo-

nalna matrica takve da vrijedi

P1BΠ1 =

[B1

0

],

gdje je B1 ∈ Rn1×m gornje trokutasta matrica i n1 = rangB1 = rangB2: azuritati A i B

P1APT1 = H =

[H

(1)11 H

(1)12

H(1)21 H

(1)22

], B = P1B =

[B1

0

]ΠT

1 ,

gdje je H(1)21 ∈ R(n−n1)×n1 , n1 ≤ n.

3: if H(1)21 = 0 then

4: STOP5: end if6: izvrsiti QR faktorizaciju s pivotiranjem nad H

(1)21 , Π2 je permutacijska matrica i P2

ortogonalna matrica takve da vrijedi

P2H(1)21 Π2 =

[H

(∗)21

0

],

gdje je H(∗)21 ∈ Rn2×n1 gornje trokutasta matrica i n2 = rangH

(∗)21 = rangH

(1)21 , n2 ≤ n1.

7: if n1 + n2 = n then8: STOP9: end if

29

Page 33: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

10: formiraj matricu P2 i azuriraj matricu P

P2 = diagIn1 , P2 =

[In1 0

0 P2

], P = P2P1

te azuriraj H

P2HPT2 = H =

H(1)11 H

(2)12 H

(2)13

H(2)21 H

(2)22 H

(2)23

0 H(2)32 H

(2)33

,gdje je H

(2)32 ∈ R(n−n1−n2)×n2 i H

(2)21 = H

(∗)21 ΠT

2 .

11: if H(2)32 = 0 then

12: STOP13: end if14: saH

(2)32 idi na korak 6. te nastavi analogno dalje dok jedan od if uvjeta ne bude zadovoljen

i algoritam se zavrsi

Napomena 4.5. U samoj implementaciji algortima necemo se pitati je li matrica H(k)ij = 0,

nego je li ||H(k)ij ||2 < ε||A||2, sto je vec ukljuceno u racunanje QR faktorizacije pomocu

Givensovih rotacija s pivotiranjem.

Algoritam staje u nekom koraku k ≤ n i dobijamo:

H = PAP T =

H11 H12 · · · · · · H1k

H21 H22 · · · · · · H2k

0 H32. . . · · · H3k

......

. . . . . ....

0 · · · 0 Hk,k−1 Hkk

, B = PB =

B1...0

. (25)

Matlab kod algoritma mozete pronaci u Prilogu - Matlab kodovi (4. funkcija).

Teorem 4.6. Upravljivi - Hessenberg

1. Neka je dan par (A,B), ortogonalna matrica P , konstruirana kako je prikazano u

algoritmu 3, je takva da vrijedi PAP T = H i PB = B, gdje su H i B dane s (25).

2. Ako je par (A,B) upravljiv, tada je Hk,k−1 punog ranga. U suprotnom Hk,k−1 = 0.

Dokaz 4.6. Dokaz slijedi iz konstrukcije prikazane u algoritmu 3, a detaljnije mozete vidjeti

u [2, str. 209].

30

Page 34: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

4.2.2 Primjeri

Pokazimo jos sto se tocno dobije primjenom algoritma 3 nad primjerom 4.2 za n = 12 uz

toleranciju ε = e−6.

Matrice H i B su sljedeceg oblika:

H =

0.1666 0.2887 −0.0000 0.0000 −0.0000 0.0000 0.0000 · · ·0.2887 0.7539 −0.2664 0.0000 −0.0000 0.0000 0.0000 · · ·−0.0000 −0.2664 0.4693 −0.1774 −0.0000 −0.0000 0.0000 · · ·0.0000 −0.0000 −0.1774 0.2843 −0.1037 −0.0000 0.0000 · · ·−0.0000 0.0000 0.0000 −0.1037 0.1582 −0.0561 0.0000 · · ·0.0000 −0.0000 −0.0000 −0.0000 −0.0561 0.0834 −0.0291 · · ·0.0000 0.0000 0.0000 0.0000 0.0000 −0.0291 0.0427 · · ·0.0000 −0.0000 −0.0000 −0.0000 −0.0000 0.0000 −0.0147 · · ·−0.0000 0.0000 −0.0000 0.0000 0.0000 0.0000 0.0000 · · ·0.0000 −0.0000 0.0000 −0.0000 −0.0000 −0.0000 −0.0000 · · ·−0.0000 0.0000 −0.0000 −0.0000 −0.0000 0.0000 0.0000 · · ·0.0000 0.0000 −0.0000 0.0000 −0.0000 0.0000 −0.0000 · · ·

· · · 0.0000 −0.0000 0.0000 −0.0000 0.0000· · · 0.0000 −0.0000 0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 0.0000 0.0000· · · −0.0147 −0.0000 −0.0000 0.0000 0.0000· · · 0.0214 −0.0072 −0.0000 0.0000 0.0000· · · −0.0072 0.0106 −0.0035 0.0000 0.0000· · · 0.0000 −0.0035 0.0052 −0.0016 0.0000· · · −0.0000 −0.0000 −0.0016 0.0025 0.0006· · · −0.00006 −0.0000 0.0000 0.0006 0.0012

B =

3.46410.0000−0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000

.

31

Page 35: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Iz matrice H vidimo da cemo, primijenimo li algoritam 3 na primjer 4.2, dobiti elemente na

donjoj sporednoj dijagonali u rasponu od 10−1 do 10−4 te cemo na taj nacin dobiti da je

sustav upravljiv.

Pogledajmo primjer 2.1 uz m1 = 1, m2 = 25, k1 = 1, k2 = 0.5, k3 = 2, c1 = 1. Pripadne

matrice su

A =

0 0 1.0000 00 0 0 1.0000

−1.5000 0.5000 −0.1000 00.0200 −0.1000 0 0

, B =

0 00 0

1.0000 00 0.0400

.Primijenom algoritma 3 uz toleranciju ε = e−6 dobijamo sljedece matrice H i B:

H =

[H11 H12

H21 H22

]=

−0.1000 0 −1.5000 0.5000

0 0 0.0200 −0.10001.0000 0 0 0

0 1.0000 0 0

, B =

1.0000 0

0 0.04000 00 0

.Vidimo da je matrica

H21 =

[1.0000 0

0 1.0000

]punog ranga sto znaci da je ovako zadani sustav upravljiv.

Vec smo vidjeli da je primjer 2.2 upravljiv ukoliko u2 6= 0. No ukoliko stavimo da je

u2 = 0 te uzmemo ω0 = 2, d0 = 1 i α = 39, matrice A i B su sljedece:

A =

0 1 0 082 0 0 40 0 0 10 4 0 0

, B =

0 01 00 00 0

.Primjenom algoritma 3 uz ε = e−6 dobijamo sljedece matrice H i B:

H =

0 −23.7685 0 −78.5815

−4.1231 0 0 00 −0.9701 0 0.24250 0 0 0

, B =

−1 00 00 00 0

te vidimo kako je jedan od elemenata na sporednoj dijagonali jednak 0, sto znaci da je

sustav neupravljiv. U ovom slucaju imali smo jedan input, stoga smo gledali samo sporednu

dijagonalu, a ne blok sporednu dijagonalu, gdje su blok matrice i na dijagonali i na sporednoj

dijagonali.

32

Page 36: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

4.3 Udaljenost do neupravljivosti

Bolja mjera od provjere upravljivosti sustava je informacija koliko je neki upravljivi sustav

udaljen od neupravljivog, tj. koliko trebamo perturbirati upravljiv sustav da bi on bio

neupravljiv. Naime, moguce je da je sustav upravljiv, ali da ce uz malu perturbaciju postati

neupravljiv.

Oznacimo mjeru udaljenosti do neupravljivosti s

µ(A,B) = min{||[∆A∆B]||2 tako da sustav (A+ ∆A,B + ∆B) nije upravljiv.}, (26)

gdje je [∆A∆B] matrica perturbacije redom matrica A i B.

Mjera µ(A,B) odreduje kolika je udaljenost upravljivog sustava (A,B) do najblizeg ne-

upravljivog sustava. Ukoliko je ta mjera mala, kazemo da je upravljivi sustav blizu ne-

upravljivog, u suprotnom, ukoliko je mjera velika, kazemo da je upravljivi sustav daleko od

neupravljivog.

Sljedeci teorem daje karakterizaciju udaljenosti do neupravljivosti.

Teorem 4.7. SVD karakterizacija udaljenosti do neupravljivosti

Udaljenost do neupravljivosti mozemo racunati na sljedeci nacin:

µ(A,B) = mins∈C

σmin(sI − A,B), gdje je σmin(sI − A,B)

najmanja singularna vrijednost matrice (sI − A,B).

Dokaz 4.7. Dokaz mozete vidjeti u [2, str. 217].

Ukoliko sustav primjenom algoritma 3 ima mali element na sporednoj dijagonali, dovoljno

ga je malo perturbitati i dobit cemo neupravljiv sustav, no obrat ne vrijedi. Ukoliko imamo

sve velike elemente na sporednoj dijagonali, sustav i dalje moze biti blizu neupravljivog.

Pogledajmo primjere:

Primjer 4.3. Neka je par (A, b) zadan s

A =

4 0.1 2 52 10 1 30 0 1 0.0001

0.01 0 2 2

, b =

1000

.Provjerite je li on upravljiv, te zatim za perturbaciju matrice A, matricu A′, provjerite je li

par (A′, b) upravljiv,

A′ =

4 0.1 2 52 10 1 30 0 1 0.0000001

0.01 0 2 2

.

33

Page 37: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

Rjesenje.

Primjenom algortima 3 uz toleranciju ε = e−6 dobit cemo redom matrice H i H ′

H =

4 0.125 −4.9994e 2.00012 10.015− 2.9599 1.010 0.00401 1.9852 −1.9950 0 −1.1229e−4 1

,

H ′ =

4 0.125 −4.9994e 2.00012 10.015− 2.9599 1.010 0.00401 1.9852 −1.9950 0 −1.1229e−7 1

.Vidimo kako je matrica H imala mali element na sporednoj dijagonali te smo malom pertur-

bacijom matrice A, dobili matricu H ′ iz koje vidimo da par (A′, b) nije upravljiv. Takoder,

primjenom funkcije discntrl koja odreduje udaljenost do neupravljivosti dobili smo:

µ(A, b) = 5.0638e−5,

za pocetni upravljivi par (A, b) te i iz ovoga vidimo da je on blizu neupravljivog.

Vise o funkciji discntrl vidi u [2].

Primjer 4.4. Odredite udaljenost do neupravljivosti za upravljivi par (A, b).

A =

5 5 4 3 2 1

0.1 1 0 0 0 00 0.1 2 0 0 00 0 0.1 30 00 0 0 0.1 4 00 0 0 0 0.1 5

, b =

100000

.

Rjesenje. Vidimo da je par upravljiv te ne mozemo reci da ima male elemente na spored-

noj dijagonali, no primjenom funkcije discntrl koja odreduje udaljenost do neupravljivosti

dobili smo:

µ(A, b) = 4.1130e−7,

sto nam govori da je par (A, b) blizu neupravljivog.

34

Page 38: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

5 Literatura

[1] K. Burazin, Z. Tomljanovic, I. Vuksanovic, Prigusivanje mehanickih vibracija, math.e,

Hrvatski matematicki elektronicki casopis, vol. 24

[2] B.N.Datta, Numerical methods for linear control systems, Department of Mathematical

Sciences, Northern Illinois University, 2003.

[3] J. W. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.

[4] Z. Drmac, Numericka matematika, Zagreb, 2010.,

http://web.math.pmf.unizg.hr/~drmac/na001.pdf

[5] G.Golub, C.F.Van Loan, Matrix Computations, Johns Hopkins Univ Pr., 3rd edition,

1996.

[6] R. Scitovski, Numericka matematika, Sveuciliste J. J. Strossmayera u Osijeku, Odjel

za matematiku, Osijek, 2000.

[7] Z.Tomljanovic, M. Ugrica, QR dekompozicija koristeci Givensove rotacije i primjene,

Osjecki matematicki list, 14(2015), 117-141.

[8] N. Truhar, Numericka linearna algebra, Sveuciliste J. J. Strossmayera u Osijeku, Odjel

za matematiku, Osijek, 2010.

35

Page 39: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

6 Prilog - Matlab kodovi

1. Funkcija za racunanje elemenata Givensove matrice

function [c,s] = Givens(a,b)

r = 0;

if b == 0

c = 1;

s = 0;

else if norm(b) > norm(a)

r = - a / b;

s = 1 / sqrt (1 + r * r);

c = s * r;

else r = - b / a;

c = 1 / sqrt ( 1 + r * r);

s = c * r;

end

end

2. Funkcija za odredivanje QR faktorizacije pomocu Givensovihrotacija

function [Q,A] = giv(A,b)

m = size(A,1);

n = size(A,2);

Q= eye(m);

for j = 1 : n

for i = m : -1 : j + 1

[c,s] = Givens ( A(i-1,j) , A(i,j) );

A(i-1 : i , j : n) = [c s ; -s c] ’ * A( i-1 : i, j : n);

Q(1 : m , i-1 : i) = Q(1 : m , i-1 : i)*[c s;-s c];

end

end

Q = Q( : , 1 : n)

A = A(1 : n , 1 : n)

36

Page 40: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

3. Funkcija za odredivanje QR faktorizacije pomocu Givensovihrotacija s pivotiranjem

function [Q,A,E,r] = giv_qre(A,tol,nor)

m = size(A,1); n = size(A,2);

Q = eye(m); E = eye(n);

nv = zeros (n,1); piv = zeros(n,1);

r = 0;

for j = 1:n

nv(j) = A(1:m,j)’*A(1:m,j);

end

[tau,k] = max(nv(1:n))

while norm(A(r+1:m,r+1:n))>tol*nor

r = r+1; piv(r)=k;

tmp = E(1:n,r);

E(1:n,r) = E(1:n,k);

E(1:n,k) = tmp;

tmp = A(1:m,r);

A(1:m,r) = A(1:m,k);

A(1:m,k) = tmp;

tmp = nv(r);

nv(r) = nv(k);

nv(k) = tmp;

for i = m : -1 : r + 1

[c,s] = Givens ( A(i-1,r) , A(i,r) );

A(i-1 : i , r : n) = [c s ; -s c]’ * A( i-1 : i, r : n);

Q(1 : m , i-1 : i) = Q(1 : m , i-1 : i)*[c s;-s c];

end

for jj = r+1:n

nv(jj)=nv(jj)-A(r,jj)^2;

end

if r < n

[tau,k] = max(nv(r+1:n)); k=r+k;

else

tau=0;

end

end

end

37

Page 41: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

4. Funkcija koja primjenjuje staricase algoritam

function [H,BB,P] = control_hessenberg_giv1 (A,B,tol)

[P1,B1,E1] = giv_qr1(B,tol,norm(B));

n = size(A,1);

BB = B1*E1’;

H1 = P1’*A*P1;

n1 = rank(BB);

n2 = n1;

H21 = H1(n1+1:n,1:n1);

P = P1’;

H = H1;

nor = norm(A);

while (norm(H21) >=nor*tol & n ~= n1)

[P22,H2,E2,r] = giv_qr1(H21,tol,nor);

n2=r;

P(n1+1:n,1:n) = P22’*P(n1+1:n,1:n);

H(n1+1:n,1:n1) = P22’*H(n1+1:n,1:n1);

H(1:n1,n1+1:n) = H(1:n1,n1+1:n)*P22;

H(n1+1:n,n1+1:n) = P22’* H(n1+1:n,n1+1:n)*P22;

H21 = H(n1+n2+1:n,n1+1:n1+n2);

n1 = n1 + n2;

end

end

38

Page 42: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

7 Sazetak

Upravljivost linearnih vremenski neovisnih sustava bitna je u raznim granama fizike, po-

najvise u mehanici, titranju i elektricitetu. Postoje razni kriteriji za provjeravanje uprav-

ljivosti sustava, ali u ovom radu je koncentracija na numericki efikasnim provjerama uprav-

ljivosti. Koristen je i opisan staircase algoritam, a za njega je bilo potrebno napraviti nu-

mericku podlogu, koja se sastoji od QR faktorizacije s pivotiranjem te koncepta numerickog

ranga. U QR faktorizaciji su se koristile Givensove rotacije, te su i one u radu opisane.

Za kraj je opisana bolja mjera od provjere upravljivosti sustava, a to je informacija koliko

je neki upravljivi sustav udaljen od neupravljivog. Uz rad su prilozeni i Matlab kodovi za

odredivanje QR faktorizacije s pivotiranjem koristeci Givensove rotacije te implementacija

staircase algoritma.

39

Page 43: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

8 Title and summary

Controllability of linear time-invariant system. Controllability of linear time indepen-

dent systems is essential in various branches of physics, especially in mechanics, oscillations

and electricity. There are various criteria for checking controllability of the system, but in

this case the concentration is on numerically efficient ways to check controllability. Staircase

algorithm is used and described in this paper, for which it has been necessary to make a

numerical basis, comprising the QR factorization with pivoting and concept of the numerical

rank. The QR factorization uses Givens matrices, so they are also described in the work.

In the end, we described a better measure for checking controllability of the system, and

that information gives us the distance to uncontrollability. In addition to the work there

are attached Matlab codes for determining the QR factorization with pivoting using Givens

rotations and implementation staircase algorithm .

40

Page 44: Matea Ugrica - mathos.unios.hrmdjumic/uploads/diplomski/UGR03.pdf · Ukoliko je m= r= 1 sustav nazivamo single-input single-output sustav (SISO). ... Pokazat cemo na primjeru kako

9 Zivotopis

Rodena sam 2. srpnja 1991. godine u Osijeku. Zavrsila sam Osnovnu skolu Visnjevac u

Visnjevcu te III. gimnaziju u Osijeku. Tijekom osnovnoskoloskog i srednjoskolskog obrazo-

vanja sudjelovala sam na zupanijskim i drzavnim natjecanjima iz matematike, informatike

i logike. Nakon zavrsenog Sveucilisnog preddiplomskog studija matematike upisala sam

Sveucilisni diplomski studij matematike, smjer Matematika i racunarstvo.

Rektorovu nagradu za seminarski rad pod nazivom ”QR dekompozicija koristeci Given-

sove rotacije” dobila sam 2014. godine. Strucni rad u suradnji s doc. dr. sc. Zoranom

Tomljanovicem pod nazivom “QR dekompozicija koristeci Givensove rotacije i primjene”

objavljen je 2015. godine u Osjeckom matematickom listu.

Od listopada 2013. do lipnja 2015. radila sam kao demonstrator na Odjelu za matematiku

u Osijeku, a sudjelovala sam i u pripremama za natjecanje ucenika srednjih skola (2013. -

2014.).

41