Matea Ugrica. Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni diplomski studij matematike i računarstva

Similar documents
Metode izračunavanja determinanti matrica n-tog reda

Hornerov algoritam i primjene

Matrične dekompozicije i primjene

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

TEORIJA SKUPOVA Zadaci

Simetrične matrice, kvadratne forme i matrične norme

Tina Drašinac. Cramerovo pravilo. Završni rad

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

Sveučilište Josipa Jurja Strossmayera u Osijeku Odjel za matematiku

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Nilpotentni operatori i matrice

Projektovanje paralelnih algoritama II

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Formule za udaljenost točke do pravca u ravnini, u smislu lp - udaljenosti math.e Vol 28.

Uvod u numericku matematiku

Mirela Nogolica Norme Završni rad

Karakteri konačnih Abelovih grupa

Matrice traga nula math.e Vol. 26. math.e. Hrvatski matematički elektronički časopis. Matrice traga nula. komutator linearna algebra. Sažetak.

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

Mathcad sa algoritmima

Teorem o reziduumima i primjene. Završni rad

Iterativne metode za rješavanje linearnih sustava

Metoda parcijalnih najmanjih kvadrata: Regresijski model

Linearno programiranje i primjene

Quasi-Newtonove metode

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

Vektori u ravnini i prostoru. Rudolf Scitovski, Ivan Vazler. 10. svibnja Uvod 1

Vedska matematika. Marija Miloloža

NIZOVI I REDOVI FUNKCIJA

pretraživanje teksta Knuth-Morris-Pratt algoritam

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Ariana Trstenjak Kvadratne forme

ALGORITAM FAKTORIZACIJE GNFS

Fibonaccijev brojevni sustav

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Preddiplomski sveučilišni studij matematike. Završni rad. Tema : Vedska matematika

Pellova jednadžba. Pell s equation

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

Linearni operatori u ravnini

Prsten cijelih brojeva

Konformno preslikavanje i Möbiusova transformacija. Završni rad

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

Fajl koji je korišćen može se naći na

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku

Položaj nultočaka polinoma

Funkcijske jednadºbe

Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku. Sveučilišni preddiplomski studij matematike

Maja Antolović Algoritmi u teoriji brojeva

SITO POLJA BROJEVA. Dario Maltarski PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad. Voditelj rada: Doc. dr. sc.

Matrice u Maple-u. Upisivanje matrica

Red veze za benzen. Slika 1.

Simulacije dinamičkih sustava u programskom jeziku Python

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

UNIVERZITET U NOVOM SADU PRIRODNO-MATEMATIČKI FAKULTET DEPARTMAN ZA MATEMATIKU I INFORMATIKU

PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Marina Zrno KOMUTATIVNI PRSTENI. Diplomski rad. Voditelj rada: prof.dr.sc.

HRVATSKA MATEMATIČKA OLIMPIJADA

Primjena numeričke metode Runge-Kutta na rješavanje problema početnih i rubnih uvjeta

Kvaternioni i kvaternionsko rješenje kvadratne jednadžbe

Matematika (PITUP) Prof.dr.sc. Blaženka Divjak. Matematika (PITUP) FOI, Varaždin

NTRU KRIPTOSUSTAV. Valentina Pribanić PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad

Pitagorine trojke. Uvod

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Impuls sile i količina gibanja

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

Zanimljive rekurzije

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje DIPLOMSKI RAD. Vladimir Milić. Zagreb, 2008.

ALGORITMI PODIJELI PA VLADAJ

POOPĆENJE KLASIČNIH TEOREMA ZATVARANJA PONCELETOVOG TIPA

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku. Velibor Gojić. Blok dizajni. Diplomski rad. Osijek, 2014.

Procjena funkcije gustoće

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni preddiplomski studij matematike. Ivana Oreški REKURZIJE.

Mersenneovi i savršeni brojevi

Sveučilišni studijski centar za stručne studije. Zavod za matematiku i fiziku. Uvod u Matlab. Verzija 1.1

Cyclical Surfaces Created by a Conical Helix

Neprekidan slučajan vektor

Nelder Meadova metoda: lokalna metoda direktne bezuvjetne optimizacije

PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK BINARNI POLINOMI. Diplomski rad. Voditelj rada: doc. dr. sc. Goranka Nogo. Zagreb, 2017.

Grupiranje podataka u skupine 1 Rudolf Scitovski, Odjela za matematiku, Sveučilište u Osijeku 2

Lekcija 1: Osnove. Elektrotehnički fakultet Sarajevo 2012/2013

DISKRETNI LOGARITAM. 1 Uvod. MAT-KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XVII (2)(2011), 43-52

U čemu je snaga suvremene algebre?

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

Erdös-Mordellova nejednakost

Periodi i oblici titranja uobičajenih okvirnih AB građevina

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku. Natalija Tvrdy. Vektori u nastavi. Diplomski rad. Osijek, 2012.

1 Pogreške Vrste pogrešaka Pogreške zaokruživanja Pogreške nastale zbog nepreciznosti ulaznih podataka

Metode praćenja planova

Krivulja središta i krivulja fokusa u pramenu konika. konika zadanom pomoću dviju dvostrukih točaka u izotropnoj ravnini

NEKE VARIJANTE PITAGORINOG TEOREMA

O aksiomu izbora, cipelama i čarapama

Uvod u relacione baze podataka

Cauchy-Schwarz-Buniakowskyjeva nejednakost

BROWNOV MOST I KOLMOGOROV-SMIRNOVLJEVA STATISTIKA

A L A BA M A L A W R E V IE W

Hamilton Jacobijeva formulacija klasične mehanike

Sveučilište u Zagrebu Prirodoslovno matematički fakultet

Transcription:

Sveučilište J J Strossmayera u Osijeku Odjel za matematiku Sveučilišni diplomski studij matematike i računarstva Matea Ugrica Upravljivost linearnih vremenski neovisnih sustava Diplomski rad Osijek, 215

Sveučilište J J Strossmayera u Osijeku Odjel za matematiku Sveučilišni diplomski studij matematike i računarstva Matea Ugrica Upravljivost linearnih vremenski neovisnih sustava Diplomski rad Mentor: docdrsc Zoran Tomljanović Osijek, 215

Sadržaj 1 Uvod 1 2 Linearni vremenski neovisni sustav 2 3 QR faktorizacija s pivotiranjem 8 31 Givensove rotacije 9 311 Matrice rotacije 9 312 Givensove rotacije 1 32 QR faktorizacija koristeći Givensove rotacije 11 33 Svojstva QR faktorizacije 12 34 Matrice permutacije 13 35 QR faktorizacija s pivotiranjem 14 36 Numerički rang 18 4 Upravljivost 19 41 Dekompozicija neupravljivog sustava 24 42 Numeričko provjeravanje upravljivosti 26 421 Numerički efikasnije provjeravanje upravljivosti 27 422 Primjeri 31 43 Udaljenost do neupravljivosti 33 5 Literatura 35 6 Prilog - Matlab kodovi 36 7 Sažetak 39 8 Title and summary 4 9 Životopis 41

1 Uvod Upravljivost je jedan od glavnih koncepata teorije sustava Opisuje mogućnost da se vanjskim upravljanjem (input, unos) sustava, sustav iz jednog stanja dovede u neko drugo stanje u konačnom vremenu Upravljivost ima vrlo široku primjenu, ponajviše u fizici, sve od balansiranja štapa do kretanja satelita u Zemljinoj orbiti Budući da se radi o jednom od temeljnih pojmova iz teorije sustava, upravljivost se koristi u mnogim primjenama poput stabilizacije sustava, optimalnog upravljanja i simulacije složenih sustava Kako bismo mogli proučavati upravljivost linearnih vremenski neovisnih sustava, u prvom dijelu rada navest ćemo definiciju i primjere linearnih vremenski neovisnih sustava Takod er, pokazat ćemo kako sustave, koji na prvi pogled nisu linearni vremenski neovisni, svesti na linearne vremenski neovisne sustave U drugom dijelu rada opisat ćemo QR faktorizaciju s pivotiranjem, koju ćemo koristiti za numeričko provjeravanje upravljivosti Takod er, opisat ćemo i Givensove rotacije, jer QR faktorizaciju vršimo pomoću njih, te pojam numeričkog ranga U ovom radu ćemo koristiti oznake kao u programskom paketu Matlab Konkretno, za matricu Q oznaka Q(1 : m, n + 1 : m) predstavljat će 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 trećem dijelu rada opisat ćemo upravljivost te ćemo pokazati kako se ona može numerički provjeriti svod enjem matrice na Hessenbergovu formu Takod er, navest ćemo primjere upravljivih i neupravljivih sustava U ovom dijelu će biti opisana i udaljenost do neupravljivosti sustava kao bolja mjera od provjeravanja same upravljivosti sustava 1

2 Linearni vremenski neovisni sustav Linearni vremenski neovisni (LTI - linear time invariant) sustav je zadan sljedećim običnim diferencijalnim jednadžbama 1 reda ẋ(t) = Ax(t) + Bu(t), t t, x(t ) = x, (1) y(t) = Cx(t) + Du(t), (2) gdje je x(t) R n - vektor stanja, u(t) R m - vektor upravljanja (input), m n, y(t) R r - vektor izlaza, A R n n - matrica koeficijenata sustava, B R n m - matrica ulaza sustava, C R r n - matrica izlaza sustava, D R r m - matrica prijenosa sustava, x(t ) je početni uvjet Jednadžbu (1) nazivamo jednadžbom stanja, a jednadžbu (2) nazivamo jednadžbom izlaza Ukoliko je m = r = 1 sustav nazivamo single-input single-output sustav (SISO) Često se pri modeliranju brojnih fizikalnih problema dobiju sustavi nelinearnih jednadžbi ili sustavi diferencijalnih jednadžbi 2 reda ili parcijalne diferencijalne jednadžbe Pokazat ćemo na primjeru kako se sustav običnih diferencijalnih jednadžbi 2 reda može zapisati kao LTI te kako se nelinearan sustav diferencijalnih jednadžbi može zapisati kao LTI Primjer 21 Sustav dvije mase Razmotrimo sustav prikazan na Slici 21 Slika 21: Sustav dvije mase 2

Neka su k 1, k 2, k 3 krutosti za svaku pojedinu oprugu, m 1, m 2 mase tijela, c 1 prigušenje koje djeluje na tijelo mase m 1 te u 2 upravljanje koje djeluje na tijelo mase m 2 Rješenje Pretpostavimo da se gibanje vrši samo u jednom smjeru i označimo redom s x 1 i x 2 otklone masa m 1 i m 2 od ravnotežnog položaja Da bismo odredili jednadžbe gibanja sustava, sjetimo se Newtnovog drugog zakona koji glasi F = ma = mẍ, 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 ravnotežnog položaja, kx, gdje je x otklon od ravnotežnog položaja, a k konstanta elastičnosti 2 sila prigušenja, cẋ 3 vanjska sila u 2, koja može, a i ne mora postojati Za više možete pogledati u [1] Odredimo prvo koliko će iznositi promjene duljina opruga u našem primjeru, redom za opruge k 1, k 2 i k 3 one iznose x 1, x 2 x 1 i x 2 Tada je jednadžba gibanja mase m 1 sljedeća: F 1 = m 1 ẍ 1 = k 1 x 1 + k 2 (x 2 x 1 ) c 1 x 1 (3) Primijetimo da opruge k 1 i k 2 djeluju u suprotnim smjerovim na masu m 1 pa su im predznaci suprotni Analogno, jednadžba gibanja tijela mase m 2 je sljedeća: F 2 = m 2 ẍ 2 = k 2 (x 2 x 1 ) k 3 x 2 + u 2 (4) U matričnom obliku jednadžbe (3) i (4) možemo zapisati na sljedeći način: [ ] [ ] [ ] [ ] [ ] [ ] [ m1 ẍ1 c1 x1 k1 + k + + 2 k 2 x1 = m 2 ẍ 2 x 2 k 2 k 2 + k 3 x 2 odnosno u 2 ], Mẍ + Cẋ + Kx = u, (5) gdje je: x = C = [ ] [ ] [ x1 m1, u =, M = x 2 u 2 m 2 [ ] [ ] c1 k1 + k, K = 2 k 2 k 2 k 2 + k 3 ], 3

Ukoliko uvedemo nove varijable y 1 = x i y 2 = ẋ, tj [ ] y1 y = Tada dobijamo sustav oblika: odnosno y 1 = y 2 y 2 y 2 = M 1 (Cy 2 + Ky 1 u), ẏ = Ay + Bu, z = C y, gdje je: A = C = [ I M 1 K M 1 C [ ] 1 1 ] [, B = M 1 ] 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 22 Gibanje satelita Razmotrimo sustav prikazan na Slici 22 u 2 (t) u 1 (t) d(t) satelit Zemlja ϕ(t) Slika 22: Gibanje satelita Neka se satelit jedinične mase kreće u orbiti oko Zemlje na udaljenosti d(t) od središta Zemlje Neka je ϕ(t) kut pod kojim se satelit nalazi u vremenu t i neka tri sile djeluju na taj 4

satelit Radijalna sila u 1 (t), tangencijalna sila u 2 (t) te sila privlačnosti F G = α konstanta Rješenje Primijetimo da ovaj primjer prikazuje gibanje po kružnici, a ono se sastoji od: α, gdje je d 2 (t) 1 jednolikog gibanja po tangenti na kružnicu u točki odred enoj trenutnim položajem tijela 2 jednolikim ubrzanim gubanjem prema središtu kružne putanje Jednadžba koja opisuje jednoliko ubrzano gibanje prema središtu je sljedeća: F cp = F cf F G + u 1 (t) md(t) = md(t) ϕ 2 (t) α d 2 (t) + u 1(t), odnosno d(t) = d(t) ϕ 2 (t) α d 2 (t) + u 1(t) (6) Kako imamo i jednoliko pravocrtno gibanje po tangenti na kružnicu, zbroj sila koje djeluju tangencijalno mora biti Transverzalna akceleracija je dana formulom a tr = d(t) ϕ(t) + 2d(t) ϕ(t) Stoga vrijedi F tr u 2 (t) = m(d(t) ϕ(t) + 2d(t) ϕ(t)) = u 2 (t), odnosno ϕ(t) = 2 d(t) ϕ(t) d(t) + u 2(t) d(t) (7) Jednadžbe (6) i (7) su jednadžbe gibanja ovog sustava Definirajmo vektor stanja na sljedeći način: x 1 (t) = d(t), x 2 (t) = d(t), x 3 (t) = ϕ(t), x 4 (t) = ϕ(t), a vektor izlaza na sljedeći: y 1 (t) = d(t), y 2 (t) = ϕ(t) 5

Tada u matričnom zapisu sustav je dan s x 2 (t) x 1 (t) x 2 (t) x 1 (t)x 2 4(t) α x 3 (t) = x 2 1(t) + u 1(t) x 4 (t), x 4 (t) 2x 2(t)x 4 (t) + u 2(t) x 1 (t) x 1 (t) [ ] [ ] x 1 (t) y1 (t) 1 = x 2 (t) y 2 (t) 1 x 3 (t), x 4 (t) uz početne uvjete: x = d() ϕ() ϕ() = d ϕ ω, u = [ ] Dobijeni sustav ẋ(t) = f(x(t), u(t), t), x(t ) = x, y(t) = h(x(t), u(t), t) je nelinearan te ga želimo linearizirati oko počenog uvjeta (x, u ) Objasnimo kako ćemo provesti linearizaciju U slučaju kada razmatramo male perturbacije oko nekog referentnog stanja, tada je moguće nelinearne jednadžbe ẋ(t) = f(x(t), u(t), t), (8) linearizirati oko referentnog stanja i dobiti linearne diferiencijalne jednadžbe koje opisuje dinamiku malih perturbacija Pretpostavimo da imamo referentno stanje x(t) i odgovarajući referentni upravljački vektor u(t) U slučaju bez perturbacija, referentni vektori zadovoljavaju nelinearnu jednadžbu: ẋ(t) = f(x(t), u(t), t) U perturbiranom stanju, vektor stanja i upravljanja možemo zapisati kao: x(t) = x(t) + x(t), (9) u(t) = u(t) + ũ(t), (1) 6

gdje su x(t) i ũ(t) male varijacije oko referentnog vektora stanja i upravljanja Uvrstimo li (9) i (1) u (8) dobijamo ẋ(t) + x(t) = f(x(t) + x(t), u(t) + ũ(t), t) Razvijemo li i-tu komponentu (i = 1,, n) prethodnog izraza u Taylorov red te zanemarimo članove drugog i viših redova, dobijamo: ẋ i (t) + x i (t) = f i (x(t), u(t), t) + Iz izraza (8) i (11) dobijamo: n j=1 f i x j x j (t) + n j=1 f i u j ũ j (t) (11) x i (t) = n j=1 f i x j x j (t) + n j=1 f i u j ũ j (t), (12) gdje su parcijalne derivacije u prethodnom izrazu funkcije referentnog stanja i upravljanja Sustav jednadžbi (12) možemo prikazati u matričnom obliku: x(t) = A x(t) + Bũ(t), gdje su Jacobijani A(t) i B(t) definirani sa: A(t) = B(t) = f 1 f 1 x 1 x 2 f 2 f 2 x 1 x 2 f n f n x 1 x 2 f 1 f 1 u 1 u 2 f 2 f 2 u 1 u 2 f n u 1 f 1 x n f 2 x n f n u 2 f n x n f 1 u n f 2 u n f n u n U slučaju da su referentni vektori konstantni imamo linearni vremenski neovisni sustav Upravo to je slučaj u ovom primjeru i ovom linearizacijom dobijamo sljedeći sustav: ẋ(t) = Ax(t) + Bu(t), x(t ) = x, y(t) = Cx(t), 7

gdje je A = f = x (x,u ) 1 ω 2 + 2α 2d = d 3 ω 1 2ω d B = f 1 = u (x,u ) 1, d C = h [ ] 1 = x (x,u ) 1, 3 QR faktorizacija s pivotiranjem QR faktorizaciju s pivotiranjem u ovom radu spominjemo zato što će nam trebati za numerički efikasno provjeravanje upravljivosti Krenimo od same QR faktorizacije Za matricu A R m n rastav na produkt ortogonalne matrice Q R m m i gornje trokutaste matrice R R m n, tako da vrijedi A = QR, nazivamo QR faktorizacija (rastav) matrice A Napomenimo da je realna kvadratna matrica Q ortogonalna ako vrijedi Q T Q = I, a matricu R zovemo gornje trokutastom ako su joj elementi ispod glavne dijagonale jednaki nula Za matricu R R m n s elementima r ij, kažemo da se elementi r ii, i = 1,, min{m, n} nalaze na glavnoj dijagonali QR faktorizacija može se izračunati na više različitih načina Gram Schmidtov postupak ortogonalizacije jedan je od tih načina, ali je numerički nestabilan, zato se za QR faktorizaciju najčešće koriste Householderove transformacije (za oba načina vidi [8]) Givensove rotacije su još jedna metoda za računanje QR faktorizacije koja se posebno koristi kada su u pitanju strukturirane matrice i upravo ta metoda bit će obrad ena u ovom radu 8

31 Givensove rotacije 311 Matrice rotacije Matrica M R R 2 2 je matrica rotacije u ravnini za koju vrijedi [ ] cos φ sin φ M R =, (13) sin φ cos φ gdje je φ kut rotacije suprotan smjeru rotacije kazaljke na satu Slika 31 prikazuje kako matrica M R rotira bazne vektore e 1 i e 2 Kako na temelju slike 31 pokazati da je (13) stvarno matrica rotacije možete vidjeti u [7] y e 2 cos α α e 2 cos φ sin α φ e 1 sin φ φ 1 e 1 1 1 x 1 Slika 31: Rotacija u xoy ravini Matrica M je regularna, ortogonalna i čuva euklidsku normu, takod er produkt matrica rotacije je opet matrica rotacije Više možete vidjeti u [7] Takod er, matrica M R (i, k, φ) R n n je matrica rotacije za kut φ (u ravnini odred enoj s kanonskim vektorima i i k) ukoliko je zadana na sljedeći način: 1 cos φ sin φ M R (i, k, φ) =, sin φ cos φ 1 [ ] cos φ sin φ pri čemu se podmatrica nalazi na presjeku i-tog i k-tog retka odnosno sin φ cos φ stupca 9

312 Givensove rotacije Givensove rotacije G su matrice rotacije koje su dobile ime po američkom matematičaru Jamesu Wallaceu Givensu To su matrice koje rotiraju vektore u ravnini tako da drugu komponentu ponište, odnosno postave na nulu, tj ako imamo vektor x = [ ] T x 1 x 2 R 2 matrica G će na njega djelovati na sljedeći način: [ ] [ ] cos φ sin φ x1 Gx = = sin φ cos φ Iz sljedećeg sustava odred ujemo koliki su sin φ i cos φ x 2 x 1 cos φ x 2 sin φ = y 1, x 1 sin φ + x 2 cos φ = Za vrijednosti sin φ i cos φ za x R n dobije se cos φ = x 1, sin φ = x 2 1 + x 2 2 [ y1 ] x 2, (14) x 2 1 + x 2 2 a sam postupak računanja kuta te algoritam koji izbjagava overflow možete pronaći u [5], [7] kao i prikaz množenja matrica Givensovim matricama Takod er za matrice iz R n n možemo konstruirati odgovarajuće Givensove rotacije To su matrice oblika 1 cos φ sin φ G(i, k, φ) =, sin φ cos φ 1 [ ] cos φ sin φ pri čemu se podmatrica nalazi na presjeku i-tog i k-tog retka odnosno sin φ cos φ stupca, ostali dijagonalni elementi su jednaki 1, a preostali elementi izvan dijagonale su jednaki Analogno prethodno opisanom dvodimenzionalnom problemu, vrijednosti sin φ i cos φ se računaju na prethodno opisani način, tj za x R n cos φ = x i, sin φ = x 2 i + x 2 k x k (15) x 2 i + x 2 k 1

Tada djelovanjem Givensove rotacije G(i, k, φ) R n n na vektor x dobijamo vektor y R n oblika: x j, za j i, j k,, za j = k, y j = x 2 i + x 2, k, za j = i, x 2 i + x 2 k odnosno poništavamo k-tu komponentu vektora x, i-tu mijenjamo dok ostale komponente ostaju nepromijenjene 32 QR faktorizacija koristeći Givensove rotacije Kako smo već spomenuli, QR faktorizacija je rastav matrice A na dvije matrice A = QR, za koje vrijedi da je Q ortogonalna, a R gornje trokutasta Teorem 31 Za bilo koju matricu A R m n, gdje je m n postoje matrice Q R m m i R R m n takve da je A = QR, pri čemu je Q ortogonalna, a R gornje trokutasta matrica Dokaz 31 Dokaz ovog teorema pomoću Gram-Schmidtovog postupka ortogonalizacije možete naći u [8, str 84] U ovom potpoglavlju ćemo pokazati kako se QR faktorizacija može izračunati pomoću Givensovih rotacija Neka je A R m n matrica, gdje je m n Kako Givensove rotacije poništavaju samo jedan element u matrici koju množimo mi ćemo s G l (i, k, φ) R m m označiti matricu koja poništava element a kl (element u k-tom retku i l-tom stupcu), a kut φ izračunava za zadane a il i a kl Poništavanje ćemo vršiti po sljedećem algoritmu: U prilogu možete pronaći funkcije za računanje kuta s Givensovim rotacijama te za QR Algoritam 1 (QR faktorizacija pomoću Givensovih rotacija) Ulaz: A R m n Izlaz: R R m n gornje trokutasta, Q R m m ortogonalna 1: R = A, Q = I 2: for l = 1,, n do 3: for i = m,, l + 1 do 4: izračunati kut φ (tj elemente Givensove rotacije G l (i 1, i, φ)) 5: R = G l (i 1, i, φ)r (poništava element a il ) 6: Q = QG l (i 1, i, φ) T 7: end for 8: end for faktorizaciju pomoću Givensovih rotacija 11

33 Svojstva QR faktorizacije Teorem 31 nam govori da QR faktorizacija postoji Sljedeća dva teorema govore o povezanosti 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 32 Neka je A R m n, rang(a) = n m, A = QR, QR faktorizacija te neka su A = [a 1, a 2,, a n ] i Q = [q 1, q 2,, q m ] zapisane pomoću pripadnih vektora stupaca, tada vrijedi span{a 1,, a k } = span{q 1,, q k }, k = 1,, n Posebno, ako je Q 1 = Q(1 : m, 1 : n) i Q 2 = Q(1 : m, n + 1 : m) tada vrijedi i A = Q 1 R 1, gdje je R 1 = R(1 : n, 1 : n) range(a) = range(q 1 ) (16) range(a) = range(q 2 ) (17) Dokaz 32 Pokažimo prvo da se odgovarajuće linearne ljuske podudaraju Kako vrijedi da je A = QR, tada se k-ti stupac od A može zapisati na sljedeći način: a k = k r ik q i i=1 jer je R gornje trokutasta matrica pa će se q j, j > k, množiti s Iz ovoga slijedi da je a k span{q 1,, q k }, odnosno span{a 1,, a k } span{q 1,, q k } Kako je matrica A punog ranga stupaca, dimenzija od span{a 1,, a k } je k Stoga mora vrijediti span{a 1,, a k } = span{q 1,, q k } Kako je slika jednaka linearnoj ljusci vektora stupaca, vrijedi jednadžba (16) Iz definicije ortogonalnog komplementa vrijedi: range(a) = {y R m : y T x =, x range(a)} A kako je Q = [Q 1, Q 2 ] ortogonalna matrica, vrijedi da je range(q 1 ) = range(q 2 ), stoga je i range(a) = range(q 2 ) 12

Takod er jednostavno se pokaže da vrijedi A = Q 1 R 1 Naime, koristeći odgovarajuće blok particioniranje imamo [ ] R1 A = QR = [Q 1, Q 2 ] = Q 1 R 1 Uvedimo pojam Cholesky faktora matrice A R n n Teorem 33 Neka je A R n n simetrična pozitivno definitna matrica, tada postoji jedinstvena donje trokutasta matrica G R n n s pozitivnim dijagonalnim elementima za koju vrijedi A = GG T Dokaz 33 Dokaz možete vidjeti u [5, str 143] Matricu G iz prethodnog teorema zovemo Cholesky faktor Teorem 34 Neka je A R m n, rang(a) = n m Tada je faktorizacija A = Q 1 R 1 jedinstvena, gdje Q 1 R m n ima ortogonalne stupce, a R 1 R n n je gornje trokutasta matrica s pozitivnim elementima na dijagonali Štoviše, R 1 = B T, gdje je B donji trokutasti Cholesky faktor od A T A Dokaz 34 Dokaz možete vidjeti u [5, str 23] 34 Matrice permutacije Definicija 31 Matrica permutacije je matrica kojoj su elementi nule ili jedinice i koja u svakom retku i u svakom stupcu ima točno jednu jedinicu Primijetimo da je jedinična matrica takod er matrica permutacije Primjer 31 Množenjem neke matrice A R 4 4 zdesna matricom 1 Π = 1 1, 1 prvi stupac će se naći na mjestu četvrtog, drugi na mjestu trećeg, treći na mjestu prvog, te četvrti na mjestu drugog U slučaju kada bi imali množenje slijeva tada bi se prvi redak našao na mjestu trećeg retka, drugi na mjestu četvrtog, treći na mjestu drugog i četvrti na mjestu prvog ΠA = Π[a r1, a r2, a r3, a r4 ] T = [a r4, a r3, a r1, a r2 ] T AΠ = [a s1, a s2, a s3, a s4 ]Π = [a s3, a s4, a s2, a s1 ] 13

35 QR faktorizacija s pivotiranjem U slučaju da A R m n nije punog ranga stupaca (rang(a) < n), općenito QR faktorizacijom nećemo dobiti ortogonalnu bazu za range(a) Primjer 32 Neka je A R 3 3, rang(a) = 2, te neka se QR faktorizacijom dobije sljedeće 1 1 1 A = [a 1, a 2, a 3 ] = [q 1, q 2, q 3 ] 1 1 Vidimo da je range(a) različito od svih potprostora span{q 1, q 2 }, span{q 1, q 3 }, span{q 2, q 3 } Odnosno cijelu sliku matrice A ne možemo dobiti sa samo dva vektora stupca matrice Q, jer je a 3 = q 1 + q 2 + q 3 Ovaj problem možemo riješiti ukoliko koristimo QR faktorizaciju s pivotiranjem, te na taj način dobijamo sljedeće: AΠ = QR, gdje je Π matrica permutacije Algoritam 1 se može modificirati tako da dobijemo ortogonalnu bazu za range(a) Modificiranim algoritmom dobijemo sljedeću faktorizaciju: Q T AΠ = [ R 11 ] R 12 r m r r n r, gdje je r = rang(a), Q ortogonalna matrica, R 11 gornje trokutasta s pozitivnim elementima na dijagonali te Π matrica permutacije U nastavku ćemo opisati kako se navedena QR faktorizacija s pivotiranjem može izračunati Ako je AΠ = [a c1, a c2,, a cn ] i Q = [q 1, q 2,, q n ], tada vrijedi a ck = min{r,k} i=1 r ik q i, k = 1,, n Ako je rang(a) = r < n, tada postoji k > r te vrijedi a ck span{q 1,, q r }, odnosno range(a) = span{q 1,, q r } 14

Matricu Q dobijemo množenjem Givensovih matrica, a matricu Π množenjem matrica permutacije Pretpostavimo da za neki k imamo izračunat odgovarajući umnožak Givensovih matrica (G k 1 G 1 ), gdje je G k 1 takod er umnožak Givensovih matrica koje poništavaju elemente u k 1 stupcu, i matrica permutacije (Π k 1 Π 1 ) tako da vrijedi: [ ] R (k 1) 11 R (k 1) 12 k 1 G k 1 G 1 AΠ k 1 Π 1 = 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 = [z k 1,, zn k 1 ], k gdje su z k 1 k,, zn k 1 stupci matrice R (k 1) 22 te neka je p k najmanji indeks za koji vrijedi: z k 1 p 2 = max{ z k 1 2,, zn k 1 2 } k Primijetimo ako je rang(a) = k 1, tada je ovaj maksimum jednak i tu stajemo, u suprotnom, neka je Π k matrica permutacije koja mijenja stupce p i k te neka je G k umnožak Givensovih matrica koji će poništiti elemente u k-tom stupcu, tako da je R (k) = G k R (k 1) Π k te da vrijedi R (k) (k + 1 : m, k) = Drugim riječima matrica permutacije Π k će dovesti na k-tu poziciju onaj stupac matrice R (k 1) 22 koji je po normi najveći te će matrica G k poništiti sve elemente tog stupca koji se nalaze ispod dijagonale Norme vektora stupaca ne moraju se u potpunosti računati ponovo Kada bi računali normu cijelog stupca nakon k 1 koraka, bilo bi nam potrebno m(m 1)(n k) operacija jer imamo m množenja m 1 zbrajanje te n k stupaca Kako bi smanjili broj operacija prisjetimo se svojstva Givensovih matrica da čuvaju euklidsku normu Ako je Q T z = z = [ ] α 1 w s 1, 15

tada je w 2 = z 2 α 2, pa nove vrijednosti norme računamo na sljedeći način: z (k) j 2 = z (k 1) j 2 rkj 2 Stoga, nove vrijednosti normi možemo izračunati u 2(n k) operacija Primijetimo, u počenom koraku morat ćemo računati norme koristeći m 2 n operacija Sljedećim algoritmom opisana je QR faktorizacija koristeći Givensove rotacije s pivotiranjem U algoritmu je s nv(r) označen kvadrat norme vektora stupca r, s piv(r) je označeno s kojim stupcem je zamjenjen stupac r Algoritam 2 (QR faktorizacija pomoću Givensovih rotacija s pivotiranjem) Ulaz: A R m n, m n Izlaz: R R m n gornje trokutasta, Q R m m ortogonalna, r = rang(a), Π matrica permutacije 1: for j = 1,, n do 2: nv(j) = A(1 : m, j) T A(1 : m, j) 3: end for 4: R = A, Q = I, Π = I 5: r = 6: odredi najmanji indeks k za koji vrijedi da je τ = max k =1,,n nv(k ) 7: while τ > do 8: r = r + 1 9: piv(r) = k 1: zamjeni mjesta stupcima r i k u matricama R, Π te zamjeni vrijednosti od nv(r) i nv(k) 11: for i = m,, r + 1 do 12: izračunati kut φ (tj elemente Givensove rotacije G r (i 1, i, φ)) 13: R = G r (i 1, i, φ)r (poništava element a ir ) 14: Q = QG r (i 1, i, φ) T 15: end for 16: for j = r + 1,, n do 17: nv(j) = nv(j) R(r, j) 2 18: end for 19: if r < n then 2: odredi najmanji indeks k za koji vrijedi da je τ = max k =r+1,,n nv(k ) 21: else 22: τ = 23: end if 24: end while 16

Primjer 33 Primijenite algoritam 2 na matricu Rješenje A = 1 2 3 2 4 6 1 8 9 2 16 18 Pripadne norme vektora stupaca su redom: 1, 34, 45, stoga moramo zamijeniti prvi i zadnji stupac Nakon zamijene poništavamo elemente u prvom stupcu i dobijamo sljedeće: A = 212132 183848 28284 661 661 12778 12778, r = 1 Vidimo da su u sljedećem koraku norme jednake, iznose 2, pa ne izvršavamo nikakvu zamjenu Poništavanjem elemenata u drugom stupcu dobijamo: A = 212132 183848 28284 14142 14142, r = 2 Nakon ovog poništavanja nove norme vektora stupaca su, stoga algoritam staje QR faktorizacija je sljedeća: AΠ = = 1 2 3 2 4 6 1 8 9 2 16 18 1 1 1 1414 4243 8944 2828 8485 4472 4243 1414 8944 8485 2828 4472 212132 183848 28284 14142 14142 = QR, a rang(a) = 2 17

36 Numerički rang Pogledajmo sljedeći primjer: Primjer 34 Odredite rang matrice Rješenje A = 1 2 3 2 4 6 1 8 9 + 1 2 e 5 2 16 18 + e 5 Primijetimo rang ove matrice ne razlikuje se od ranga matrice u prethodnom primjeru, jer su u oba primjera drugi i četvrti redak skalarni umnošci broja 2 i redom prvog i trećeg retka, ali kao rezultat primjene algoritma 2 dobili smo ranga = 3 Do ove pogreške došlo je zbog zaokruživanja Kriterij za nastavak faktorizacije u algoritmu 2 je da je τ točno nula, a u ovom primjeru smo u trećem koraku dobili da je τ = 5369e 14, što je dovoljno malo, s obzirom na strojnu točnost, da bi se smatralo nulom te bismo faktorizaciju trebali završiti u prethodnom koraku i dobiti da je ranga = 2 Upravo zbog ove greške uveden je drugi kriterij za odred ivanje treba li u k-tom koraku stati s algoritmom Pretpostavimo da nakon k koraka imam sljedeću faktorizaciju [ ] R (k) Q T (k) AΠ (k) 11 R (k) 12 k = R (k) 22 m k k n k, tada je zaustavni kriterij gdje je ε strojna tolerancija R (k) 22 2 ε A 2, Stoga možemo zaključiti da bi smo dobili točniji rezultat ranga, dovoljno je u algoritmu 2 umjesto τ > staviti R(r + 1 : m, r + 1 : n) 2 > ε A 2, jer je R (k) 22 isto što i R(r + 1 : m, r + 1 : n) u algoritmu 2 Rang koji se računa na ovakav način nazivamo numerički rang Ovom problemu može se pristupiti i drugačije Ukoliko odredimo singularne vrijednosti matrice A, σ 1,, σ n, tada matrica A ima numerički rang k ukoliko vrijedi sljedeće: σ 1 σ k > ε > σ k+1 σ n, 18

gdje je ε stojna tolerancija Možemo reći da će matrica A imati rang k ukoliko nakon k singularnih vrijednosti primijetimo značajno opadanje Primjietimo, primijenimo li algoritam 2 s promijenjenim zaustavnim kriterijem, uz toleranciju ε = e 6 dobit ćemo da je ranga = 2, jer je nakon drugog koraka Vidimo da vrijedi nejednakost: ε A 2 = e 6 282243 = 28224e 5, R(3 : 4, 3) 2 = 4472e 11 te algoritam staje ε A 2 R(3 : 4, 3) 2 Pogledajmo još i sljedeći primjer: Primjer 35 Kada za matricu A = 1 9 8 e 1 e 1 e 9 ne bismo računali numerički rang, rekli bismo da je ranga = 6, no računamo li numerički rang uz toleranciju ε = e 6 vrijediti će sljedeće ranga = 4 U prilogu možete pronaći Matlab funkciju (Prilog - Matlab kodovi (3)) za računanje QR faktorizacije pomoću Givensovih rotacija s pivotiranjem koja računa numerički rang matrice 4 Upravljivost U ovom poglavlju ćemo objasniti što je to upravljivost i navesti kriterije kako možemo provjeriti je li neki sustav upravljiv ili nije Takod er ćemo navesti i numerički efikasan algoritam za provjeru upravljivosti Definicija 41 Za sustav (LTI) ẋ(t) = Ax(t) + Bu(t), t t, x(t ) = x, (18) y(t) = Cx(t) + Du(t), (19) 19

kažemo da je upravljiv, ukoliko počevši iz proizvoljnog stanja x, sustav možemo dovesti u proizvoljno stanje x 1 = x(t 1 ) u nekom konačnom vremenu t 1 tako da pravilno odaberemo ulaz u(t), t 1 Rješenje (LTI) sustava je dano s x(t) = e A(t t) x + e A(t s) Bu(s) ds t t t y(t) = Ce A(t t) x + Ce A(t s) Bu(s) ds + Du(t) t (2) Više pogledati u [2] Napomena 41 Kada je u pitanju upravljivost (LTI) sustava često se govori i upravljivost para (A, B), što objašnjava sljedeći teorem Iskažimo prvo teorem koji će nam trebati u dokazu teorema o kriterijima upravljivosti Teorem 41 Hamilton - Cayley Svaka matrica poništava svoj karakteristični polinom, κ A (A) = Dokaz 41 Dokaz možete vidjeti u [4] Vidimo da vrijedi: κ A (A) = A n + a 1 A n 1 + + a n I =, što bi značilo da se A n može zapisati kao linearna kombinacija od A n 1,, A Teorem 42 Kriteriji upravljivosti Neka je matrica A R n n, B R n m, m n Sljedeće tvrdnje su ekvivalentne: 1) Sustav (LTI) je upravljiv 2) Kalmanov kriterij upravljivosti: Matrica dimenzije n nm ima puni rang n C M = [B, AB, A 2 B,, A n 1 B] 3) Matrica je regularna t 1 > W C = t1 e At BB T e AT t dt 4) Ako je (λ, x) svojstveni par od A T, tada x T B 2

5) rang ([A λi, B]) = n za svaku svojstvenu vrijednost od A 6) Svojstvene vrijednosti od A BK mogu se proizvoljno pridružiti (uz pretpostavku da svojstvene vrijednosti dolaze u konjugirano kompleksnim parovima) pomoću odgovarajuće matrice K Dokaz 42 Pokazat ćemo da vrijedi 1) 2) 3) 1), a ostale ekvivalencije možete pronaći u [2] Neka je BSO t = i x() = x 1) 2) Pretpostavimo suprotno, neka je sustav upravljiv, a matrica C M nije punog ranga, tj rangc M < n Iz (2) vrijedi: x(t 1 ) = e At 1 x + = e A(t 1) x + t 1 t 1 = e A(t 1) x + B e A(t 1 t) Bu(t) dt (I + A(t 1 t) + A2 2! (t 1 t) 2 + )Bu(t) dt t 1 u(t) dt + AB t 1 (t 1 t)u(t) dt + A 2 B t 1 (t 1 t) 2 u(t) dt + 2! Po Hamilton - Cayleyjevom teoremu vidimo da A n B možemo izraziti pomoću matrica B, AB,, A n 1 B Takod er i A k B, za k n + 1, možemo izraziti pomoću matrica B, AB,, A n 1 B Tada vrijedi da je x(t 1 ) linearna kombinacija stupaca B, AB,, A n 1 B Kako C M nije punog ranga, za neki t 1, x(t 1 ) se ne dostiže te sustav nije upravljiv što je kontradikcija 2) 3) Pretpostavimo suprotno, neka je matrica C M punog ranga, tj rangc M = n, a matrica W C je singularna, tj v tako da W C v =, kako je W C simetrična tada je i v T W C = Pomnožimo li W C slijeva s v T i zdesna s v dobijemo: odnosno t1 v T e At BB T e AT t v dt =, t1 c T (t)c(t) dt =, 21

gdje je c(t) = B T e AT t v Tada vrijedi da je c T (t) = v T e At B =, t, t t 1 Uvrstimo li t = vrijedi v T B = Deriviramo li po t i uvrstimo t = dobijamo: v T AB = Takod er ako dva puta deriviramo po t i uvrstimo t = dobijamo v T A 2 B = Na analogan način dobijamo: v T A n 1 B = Vidimo da smo našli vektor v koji je okomit na sve stupce matrice C M koja je punog ranga To znači da je v =, što je kontradikcija s prepostavkom 3) 1) Neka je W C regularna t Pokažimo da je x(t 1 ) = x 1, za proizvoljan x 1, tj pronad imo u(t) za koji će to vrijediti Uvrstimo li u (2) dobijamo: x(t 1 ) = e At 1 x + u(t) = B T e AT (t 1 t) W 1 C ( eat 1 x + x 1 ) t 1 e A(t1 t) BB T e AT (t 1 t) W 1 C ( eat 1 x + x 1 ) dt = e At 1 x + W C W 1 C ( eat 1 x + x 1 ) = e At 1 x + ( e At 1 x + x 1 ) = x 1, iz čega slijedi da je sustav upravljiv Definicija 42 Matricu zovemo matrica upravljivosti C M = [B, AB, A 2 B,, A n 1 B] Napomena 42 Komponente upravljivosti Uvjetovanost iz definicije 41 često nazivamo potpuna uvjetovanost, čime impliciramo da su sva stanja upravljiva Med utim, ukoliko imamo samo jedan ulaz iz u(t) = [u 1 (t), u 2 (t),, u m (t)] T, recimo u j (t), tada rang odgovarajuće n n matrice upravljivosti C j M = [b j, Ab j,, A n 1 b j ], gdje je b j j-ti stupac od B, odgovara broju stanja koji su upravljivi koristeći ulaz u j (t) Ilustrirajmo napomenu 42 primjerom Razmotrimo primjer gibanja satelita, uz pripadnu linearizaciju i d = 1 Tada je C 1 M = [b 1, Ab 1, A 2 b 1, A 3 b 1 ] = 1 3ω 2 + 2α 1 3ω 2 + 2α 2ω 1 2ω 6ω 3 4ω α, 22

C 2 M = [b 2, Ab 2, A 2 b 2, A 3 b 2 ] = C M = [B, AB, A 2 B, A 3 B] = 2ω 2ω 6ω 3 + 4αω 1 2ω 1 4ω 2, 1 2ω 3ω 2 + 2α 1 2ω 3ω 2 + 2α 6ω 3 + 4αω 1 2ω 1 2ω 1 2ω 4ω 2 6ω 3 4ωα Vidimo da su matrice C M i CM 2 ranga 4, što znači da su sva stanja upravljiva koristeći obje sile (tj oba ulaza) ili samo tangencijalnu silu, odnosno ulaz u 2 (t) Matrica CM 1 je ranga 3, a to znači da koristeći samo radijalnu silu, odnosno ulaz u 1(t), jedno od stanja nije upravljivo Objasnimo ukratko što je stabilnost sustava i zašto je ona važna Definicija 43 Stanje ravnoteže dinamičkog sustava je vektor x e koje zadovoljava da je Ax e = x(t) = Ax(t), x() = x Vidimo, ukoliko je matrica regularna jedino stanje ravnoteže je x e = Definicija 44 Kažemo da je stanje ravnoteže x e asmiptotski stabilno, ako za svako početno stanje x vrijedi x(t) x e za t Definicija 45 Za dinamički sustav ẋ = Ax kažemo da je stabilan ako su sve svojstvene vrijednosti u otvorenoj lijevoj poluravnini, tj Reλ(A) < A matricu A koja zadovoljava ovo svojstvo zovemo stabilna ili Hurwitzova matrica Takod er, možemo reći da je sustav asimptotski stabilan ukoliko x(t) x e za t Primjer 41 Ukoliko u primjeru 21 stavimo da je 1) m 1 = 1, m 2 = 5, k 1 = 2, k 2 = 5, k 3 = 4, c 1 = 1 i u 2 =, dobit ćemo sustav: 1 ẏ = Ay = 1 25 5 1 y 1 9 Matrica A ima sljedeće realne vrijednosti svojstvenih vrijednosti: 494, 494, 6, 6 Vidimo kako je ovako zadan sustav stabilan, a matrica A je Hurwitzova 23

2) m 1 = 1, m 2 = 5, k 1 = 2, k 2 = 5, k 3 = 4, c 1 = i u 2 = sustav je sljedeći: 1 ẏ = Ay = 1 25 5 y, 1 9 a realne vrijednosti svojstvenih vrijednosti matrice A su: 41e 15, 41e 15, 222e 15, 222e 15 što znači da ovaj sustav nije stabilan Slika 41: Prikaz odstupanja masa od njihovog ravnotežnog položaja Takod er iz slike 41 vidimo kako se u slučaju 1) sustav stabilizirao oko ravnotežnog položaja Važnost stabilnosti sustava je upravo u tome što će neovisno o početnom položaju sustav s vremenom doći do ravnotežnog položaja 41 Dekompozicija neupravljivog sustava Pretpostavimo da par (A, B) nije upravljiv Neka je rang (C M ) = k, k < n Tada idući teorem opisuje dekompoziciju takvog sustava na upravljiv i neupravljiv dio Teorem 43 Dekompozicija neupravljivog sustava Ako matrica upravljivosti C M ima rang k, tada postoji regularna matrica T takva da [ ] [ ] A = T AT 1 A11 A = 12 B1, B = T B =, (21) A 22 24

gdje su matrice A 11, A 12, A 22 redom matrice dimenzija k k, k (n k) i (n k) (n k), B 1 ima k redova Nadalje par (A 11, B 1 ) je upravljiv Dokaz 43 Neka su q 1, q 2,, q k linearno nezavisni stupci matrice C M Nadopunimo ih do baze sa q k+1,, q n Neka je T = [q 1, q 2,, q n ] 1, trebamo pokazati da su tada T AT 1 i T B oblika kao u iskazu teorema Vrijedi: AT 1 = [Aq 1,, Aq k,, Aq n ] Znamo da i = 1,, k se Aq i može iskazati kao linearna kombinacija stupaca od C M, stoga vrijedi: [ ] AT 1 A11 A = [Aq 1,, Aq k,, Aq n ] = [q 1,, q k,, q n ] 12 (22) A 22 Pomnožimo li jednakost (22) s T dobijamo sljedeće: [ T AT 1 A11 A = 12 A 22 ] Analogno vrijedi: B = T 1 [ B1 ] [ B1, odnosno T B = ] Treba još pokazati da je par (A 11, B 1 ) upravljiv Zapišimo matricu C M pomoću matrica A, B C M = [T 1 B, T 1 AT T 1 B,, T 1 A k 1 T T 1 B, T 1 A n 1 T T 1 B] = [ = T 1 B1 A 11 B 1 A k 1 11 A n 1 ] 11 B 1 Kako po Hamilton-Cayleyjevom teoremu vrijedi da je j k, A j 11 linearna kombincija od A i 11, i =, 1,, (k 1) Tada je rang(b 1, A 11 B 1,, A k 1 11 ) = k, što po teoremu (42) znači da je par (A 11, B 1 ) upravljiv Napomena 43 Za regularnu matricu T, (LTI) sustav možemo supstitucijom x(t) = T x(t) svesti na oblik ẋ(t) = Ax + Bu(t), y(t) = CT 1 x(t) + Du(t) 25

Teorem 44 Neka je T regularna matrica takva da vrijedi A = T AT 1, (A, B) je upravljiv ako i samo ako je upravljiv i par (A, B) B = T B Par Dokaz 44 Primijenimo teorem 42: C (A,B) M = [B, AB,, A n 1 B] = [T 1 B, T 1 AT T 1 B,, T 1 A n 1 T T 1 B] = T 1 [B, AB,, A n 1 B] = T 1 C (A,B) M, kako je T 1 regularna matrica ona neće promjeniti rang matrice C (A,B), stoga vrijedi rangc (A,B) M = rangc (A,B) M M Po Kalmanovom kriteriju upravljivosti, par (A, B) će biti upravljiv ako i samo ako je upravljiv i par (A, B) Napomena 44 T možemo odabrati da bude ortogonalna ukoliko napravimo QR dekompoziciju matrice C M Ukoliko je C M = QR, tada je T = Q T 42 Numeričko provjeravanje upravljivosti Prethodno navedeni teoretski važni kriteriji upravljivosti, nažalost, ne povlače numerički efikasne testove za provjeru upravljivosti Provjeravanje svojstvenih vrijednosti i svojstvenih vektora nije numerički pouzdano i stabilno, odred ivanje numeričkog ranga ne mora uvijek biti pouzdan način za odred ivanje upravljivosti, pogledajmo na primjeru Primjer 42 (Paige, 1981) Neka je par (A, B) zadan s 1 2 1 A = 2 n+1 1, B = 1 1 Provjerite je li on upravljiv Rješenje Koristimo li 4 kriterij teorema 42 vidimo da je par (A, B) upravljiv, jer su svojstveni vektori matrice A T lijevi svojstveni vektori matrice A, a svojstveni vektori matrice A su vektori kanonske baze, te za sve vrijedi x T B = 1 No, računamo li numerički rang matrice C M koja glasi 1 1 1 1 2 1 2 n+1 C M =, 1 2 n+1 2 ( n+1)(n 1) 26

za n = 12, uz strojnu toleranciju e 16, dobit ćemo da je rang(c M ) = 11 < 12 Vidimo da kada bi gledali po ovom kriteriju par (A, B) ne bi bio upravljiv Stoga se u idućem potpoglavlju fokusiramo na algoritam koji daje pouzdanije, efikasnije provjeravanje upravljivosti 421 Numerički efikasnije provjeravanje upravljivosti Definicija 46 Za matricu A R n n ćemo reći da je u gornjoj Hessenbergovoj formi ako vrijedi a ij =, za i j 2, tj matrica A je gornje trokutasta i ima još jednu sporednu dijagonalu ispod glavne Numerički efikasno provjeravanje upravljivosti može se dobiti redukcijom para (A, B) u blok Hessenbergovu formu koristeći ortogonalnu transformaciju sličnosti Primjenom algoritma stvaramo ortogonalnu matricu P takvu da vrijedi P AP T = H, P B = B = [ gdje je ] H blok gornje Hessenbergova matrica B1 (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 koristeći QR faktorizaciju s pivotiranjem Kako smo već rekli u ovom radu ćemo za QR faktorizaciju s pivotiranjem koristiti Givensove rotacije Opišimo algoritam za single-input case, odnosno za slučaj kada je B vektor stupac Neka su A R n n i b R n 1 Odredimo prvo matricu P 1 koja će u vektoru b poništiti sve osim prvog elementa stupca, te dobijemo ± b a 11 a 12 a 1n P 1 b =, P 1 AP1 T = a n1 a n2 a nn 2 Odredimo matricu P 2 = 1 G 2, 27

gdje je G 2 umnožak Givensovih rotacija koji će poništiti sve elemenate u prvom stupcu matrice A, osim prva dva Nakon poništavanja dobijamo sljedeće a 11 a 12 a 1n P 2 P 1 AP1 T P2 T ± a 1 a 22 a 2n = a n2 a nn 3 Analogno koraku 2 idemo na sljedeći stupac i vršimo poništavanja, sve dok ne dobijemo gornju Hessenbergovu formu Primijetimo množenjem s lijeve strane radimo poništavanja, a zbog strukture matrice P 2, množenjem zdesna nećemo narušiti strukturu nula Neka smo došli do koraka k, odgovarajuća matrica P k će imati jedinice na dijagonali prvih k 1 stupaca, a upravo ti stupci su već poništeni Primijetimo da je matrica P n 1 P 2, zapravo matrica Q T dobivena QR faktorizacijom matrice A(2 : n, 1 : n), a matrica P = P n 1 P 2 P 1 Sljedeći teorem povezuje prethodno opisani algoritam i upravljivost Teorem 45 Par (A, b), A R n n, b R n, je upravljiv ako i samo ako je upravljiva - Hessenbergova forma (H, b) takva da je H nereducirana gornje Hessenbergova forma, tj ako je h i,i 1, i = 2,, n i b 1 Dokaz 45 Kako imamo transformaciju sličnosti, po teoremu (44), vrijedi C (A,b) M U Hessenbergovoj formi imat ćemo sljedeće: H = P AP T = = [b, Ab,, An 1 b] = [b, Hb,, H n 1 b] = C (H,b) M h 11 h 12 h 1n h 21 h 22 h 2n h 32 h3n h n,n 1 h nn, b = P b = b 1 (24) Tada je C (H,b) M = b 1 h 11 b 1 c 13 c 1n h 21 b 1 c 2n h 21 h 32 b 1 h 3n h 21 h n,n 1 b 1 28

Vidimo da je matrica C (H,b) M gornje trokutasta s dijagonalnim elementima b 1, h 21 b 1, h 21 h 32 b 1,, h 21 h n,n 1 b 1 Sustav je upravljiv ako i samo ako je rangc (H,b) M je h i,i 1, i = 2,, n i b 1 = n, a rangc (H,b) M = n ako i samo ako Zapisat ćemo formalno algoritam za B R m n te iskazati teorem analogan teoremu 45 za B R m n Algoritam 3 (Staircase algoritam) Ulaz: A R n n,b R n m, n m Izlaz: H R n n blok gornje Hessenbergova matrica, B R n m, P R n n ortogonalna matrica 1: izvršiti QR faktorizaciju s pivotiranjem nad B, Π 1 je permutacijska matrica i P 1 ortogonalna matrica takve da vrijedi P 1 AP T 1 = H = P 1 BΠ 1 = [ B1 gdje je B 1 R n1 m gornje trokutasta matrica i n 1 = rangb 1 = rangb 2: ažuritati A i B [ ] H (1) 11 H (1) 12 H (1) 21 H (1) 22 ],, B = P 1 B = [ B1 ] Π T 1, gdje je H (1) 21 R (n n 1) n 1, n 1 n 3: if H (1) 21 = then 4: STOP 5: end if 6: izvršiti QR faktorizaciju s pivotiranjem nad H (1) 21, Π 2 je permutacijska matrica i ˆP2 ortogonalna matrica takve da vrijedi [ ˆP 2 H (1) ( ) H 21 Π 2 = 21 gdje je H ( ) 21 R n 2 n 1 gornje trokutasta matrica i n 2 = rangh ( ) 21 = rangh (1) 21, n 2 n 1 7: if n 1 + n 2 = n then 8: STOP 9: end if ], 29

1: formiraj matricu P 2 i ažuriraj matricu P [ P 2 = diagi n1, ˆP In1 2 = ˆP2 ], P = P 2 P 1 te ažuriraj H P 2 HP T 2 = H = H (1) 11 H (2) 12 H (2) 13 H (2) 21 H (2) 22 H (2) 23 H (2) 32 H (2) 33 gdje je H (2) 32 R (n n 1 n 2 ) n 2 i H (2) 21 = H ( ) 21 Π T 2 11: if H (2) 32 = then 12: STOP 13: end if 14: sa H (2) 32 idi na korak 6 te nastavi analogno dalje dok jedan od if uvjeta ne bude zadovoljen i algoritam se završi, Napomena 45 U samoj implementaciji algortima nećemo se pitati je li matrica H (k) ij =, nego je li H (k) ij 2 < ε A 2, što je već uključeno u računanje QR faktorizacije pomoću Givensovih rotacija s pivotiranjem Algoritam staje u nekom koraku k n i dobijamo: H = P AP T = H 11 H 12 H 1k H 21 H 22 H 2k H 32 H3k H k,k 1 H kk, B = P B = Matlab kod algoritma možete pronaći u Prilogu - Matlab kodovi (4 funkcija) Teorem 46 Upravljivi - Hessenberg B 1 (25) 1 Neka je dan par (A, B), ortogonalna matrica P, konstruirana kako je prikazano u algoritmu 3, je takva da vrijedi P AP T = H i P B = B, gdje su H i B dane s (25) 2 Ako je par (A, B) upravljiv, tada je H k,k 1 punog ranga U suprotnom H k,k 1 = Dokaz 46 Dokaz slijedi iz konstrukcije prikazane u algoritmu 3, a detaljnije možete vidjeti u [2, str 29] 3

422 Primjeri Pokažimo još što se točno dobije primjenom algoritma 3 nad primjerom 42 za n = 12 uz toleranciju ε = e 6 Matrice H i B su sljedećeg oblika: 1666 2887 2887 7539 2664 2664 4693 1774 1774 2843 137 137 1582 561 H = 561 834 291 291 427 147 147 214 72 72 16 35 35 52 16 16 25 6 6 6 12 B = 34641 31

Iz matrice H vidimo da ćemo, primijenimo li algoritam 3 na primjer 42, dobiti elemente na donjoj sporednoj dijagonali u rasponu od 1 1 do 1 4 te ćemo na taj način dobiti da je sustav upravljiv Pogledajmo primjer 21 uz m 1 = 1, m 2 = 25, k 1 = 1, k 2 = 5, k 3 = 2, c 1 = 1 Pripadne matrice su 1 A = 1 15 5 1, B = 1 2 1 4 Primijenom algoritma 3 uz toleranciju ε = e 6 dobijamo sljedeće matrice H i B: [ ] 1 15 5 H11 H H = 12 = 2 1 H 21 H 22 1, B = 1 Vidimo da je matrica H 21 = [ 1 1 punog ranga što znači da je ovako zadani sustav upravljiv ] 1 4 Već smo vidjeli da je primjer 22 upravljiv ukoliko u 2 No ukoliko stavimo da je u 2 = te uzmemo ω = 2, d = 1 i α = 39, matrice A i B su sljedeće: 1 A = 82 4 1, B = 1 4 Primjenom algoritma 3 uz ε = e 6 dobijamo sljedeće matrice H i B: 237685 785815 H = 41231 971 2425, B = 1 te vidimo kako je jedan od elemenata na sporednoj dijagonali jednak, što znači da je sustav neupravljiv U ovom slučaju 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

43 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, moguće je da je sustav upravljiv, ali da će uz malu perturbaciju postati neupravljiv Označimo 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) odred uje kolika je udaljenost upravljivog sustava (A, B) do najbližeg neupravljivog sustava Ukoliko je ta mjera mala, kažemo da je upravljivi sustav blizu neupravljivog, u suprotnom, ukoliko je mjera velika, kažemo da je upravljivi sustav daleko od neupravljivog Sljedeći teorem daje karakterizaciju udaljenosti do neupravljivosti Teorem 47 SVD karakterizacija udaljenosti do neupravljivosti Udaljenost do neupravljivosti možemo računati na sljedeći način: µ(a, B) = min s C σ min(si A, B), gdje je σ min (si A, B) Dokaz 47 Dokaz možete vidjeti u [2, str 217] najmanja singularna vrijednost matrice (si A, B) Ukoliko sustav primjenom algoritma 3 ima mali element na sporednoj dijagonali, dovoljno ga je malo perturbitati i dobit ćemo neupravljiv sustav, no obrat ne vrijedi Ukoliko imamo sve velike elemente na sporednoj dijagonali, sustav i dalje može biti blizu neupravljivog Pogledajmo primjere: Primjer 43 Neka je par (A, b) zadan s A = 4 1 2 5 2 1 1 3 1 1 1 2 2, b = Provjerite je li on upravljiv, te zatim za perturbaciju matrice A, matricu A, provjerite je li par (A, b) upravljiv, 4 1 2 5 A = 2 1 1 3 1 1 1 2 2 1 33

Rješenje Primjenom algortima 3 uz toleranciju ε = e 6 dobit ćemo redom matrice H i H H = H = 4 125 49994e 21 2 115 29599 11 41 19852 1995 11229e 4 1 4 125 49994e 21 2 115 29599 11 41 19852 1995 11229e 7 1 Vidimo kako je matrica H imala mali element na sporednoj dijagonali te smo malom perturbacijom matrice A, dobili matricu H iz koje vidimo da par (A, b) nije upravljiv Takod er, primjenom funkcije discntrl koja odred uje udaljenost do neupravljivosti dobili smo: µ(a, b) = 5638e 5, za početni upravljivi par (A, b) te i iz ovoga vidimo da je on blizu neupravljivog, Više o funkciji discntrl vidi u [2] Primjer 44 Odredite udaljenost do neupravljivosti za upravljivi par (A, b) 5 5 4 3 2 1 1 1 1 A = 1 2 1 3, b = 1 4 1 5 Rješenje Vidimo da je par upravljiv te ne možemo reći da ima male elemente na sporednoj dijagonali, no primjenom funkcije discntrl koja odred uje udaljenost do neupravljivosti dobili smo: µ(a, b) = 4113e 7, što nam govori da je par (A, b) blizu neupravljivog 34

5 Literatura [1] K Burazin, Z Tomljanović, I Vuksanović, Prigušivanje mehaničkih vibracija, mathe, Hrvatski matematički elektronički časopis, vol 24 [2] BNDatta, Numerical methods for linear control systems, Department of Mathematical Sciences, Northern Illinois University, 23 [3] J W Demmel, Applied Numerical Linear Algebra, SIAM, 1997 [4] Z Drmač, Numerička matematika, Zagreb, 21, http://webmathpmfunizghr/~drmac/na1pdf [5] GGolub, CFVan Loan, Matrix Computations, Johns Hopkins Univ Pr, 3rd edition, 1996 [6] R Scitovski, Numerička matematika, Sveučilište J J Strossmayera u Osijeku, Odjel za matematiku, Osijek, 2 [7] ZTomljanović, M Ugrica, QR dekompozicija koristeći Givensove rotacije i primjene, Osječki matematički list, 14(215), 117-141 [8] N Truhar, Numerička linearna algebra, Sveučilište J J Strossmayera u Osijeku, Odjel za matematiku, Osijek, 21 35

6 Prilog - Matlab kodovi 1 Funkcija za računanje elemenata Givensove matrice function [c,s] = Givens(a,b) r = ; if b == c = 1; s = ; 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 odred ivanje QR faktorizacije pomoću Givensovih rotacija 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

3 Funkcija za odred ivanje QR faktorizacije pomoću Givensovih rotacija 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 = ; 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=; end end end 37

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); end end n1 = n1 + n2; 38

7 Sažetak Upravljivost linearnih vremenski neovisnih sustava bitna je u raznim granama fizike, ponajviše u mehanici, titranju i elektricitetu Postoje razni kriteriji za provjeravanje upravljivosti sustava, ali u ovom radu je koncentracija na numerički efikasnim provjerama upravljivosti Korišten je i opisan staircase algoritam, a za njega je bilo potrebno napraviti numeričku podlogu, koja se sastoji od QR faktorizacije s pivotiranjem te koncepta numeričkog 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 priloženi i Matlab kodovi za odred ivanje QR faktorizacije s pivotiranjem koristeći Givensove rotacije te implementacija staircase algoritma 39

8 Title and summary Controllability of linear time-invariant system Controllability of linear time independent 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 4

9 Životopis Rod ena sam 2 srpnja 1991 godine u Osijeku Završila sam Osnovnu školu Višnjevac u Višnjevcu te III gimnaziju u Osijeku Tijekom osnovnoškoloskog i srednjoškolskog obrazovanja sudjelovala sam na županijskim i državnim natjecanjima iz matematike, informatike i logike Nakon završenog Sveučilišnog preddiplomskog studija matematike upisala sam Sveučilišni diplomski studij matematike, smjer Matematika i računarstvo Rektorovu nagradu za seminarski rad pod nazivom QR dekompozicija koristeći Givensove rotacije dobila sam 214 godine Stručni rad u suradnji s doc dr sc Zoranom Tomljanovićem pod nazivom QR dekompozicija koristeći Givensove rotacije i primjene objavljen je 215 godine u Osječkom matematičkom listu Od listopada 213 do lipnja 215 radila sam kao demonstrator na Odjelu za matematiku u Osijeku, a sudjelovala sam i u pripremama za natjecanje učenika srednjih škola (213-214) 41