13
Prvi dio vježbe obuhvaća upoznavanje s programom MATLAB-om i njegovim osnovnim funkcijama, dok smo u drugom dijelu pobliže upoznali dio MATLAB-a namijenjen simuliranju dinamičkih sustava, Simulink. 1. Upoznavanje s MATLAB-om Po svojoj formi MATLAB je interaktivni jezik – interpreter, namijenjen prvenstveno matričnim izračunavanjima. Svi podaci u MATLAB-u, uključujući i skalarne veličine, tretiraju se kao matrice čije dimenzije nije potrebno čuvati kao posebne varijable. Po svojoj formi blizak je načinu na koji i inače zapisujemo matematičke formule. Osnovne operacije u MATLAB-u upoznali smo preko nekoliko zadataka: 1.1. Definirajte dvije regularne matrice. >> A=[3 1 1; 0 1 5; 1 10 2] A = 3 1 1 0 1 5 1 10 2 >> B=[10 15 1; 25 6 4; 5 3 9]

Signali i Sustavi

Embed Size (px)

DESCRIPTION

Signali i sustavi, Laboratorijske vježbe

Citation preview

Page 1: Signali i Sustavi

Prvi dio vježbe obuhvaća upoznavanje s programom MATLAB-om i njegovim osnovnim funkcijama, dok smo u drugom dijelu pobliže upoznali dio MATLAB-a namijenjen simuliranju dinamičkih sustava, Simulink.

1. Upoznavanje s MATLAB-om

Po svojoj formi MATLAB je interaktivni jezik – interpreter, namijenjen prvenstveno matričnim izračunavanjima. Svi podaci u MATLAB-u, uključujući i skalarne veličine, tretiraju se kao matrice čije dimenzije nije potrebno čuvati kao posebne varijable. Po svojoj formi blizak je načinu na koji i inače zapisujemo matematičke formule.

Osnovne operacije u MATLAB-u upoznali smo preko nekoliko zadataka:

1.1. Definirajte dvije regularne matrice.

>> A=[3 1 1; 0 1 5; 1 10 2]

A =

3 1 1

0 1 5

1 10 2

>> B=[10 15 1; 25 6 4; 5 3 9]

B =

10 15 1

25 6 4

5 3 9

Matrice A i B smo definirali u obliku naredbi, izravnim unošenjem njezinih elemenata unutar uglatih zagrada, odvajajući retke matrica točka-zarezom (;), a elemente istog retka

Page 2: Signali i Sustavi

razmakom. Pošto nakon zagrade nismo koristili točku-zarez kao kraj naredbe prije tipke Enter, matrice su nam se ispisale ispod naredbi. Ukoliko se koristi točka-zarez na kraju naredbe, nove varijable se također definiraju u radnom prostoru, ali se ne ispisuju.

Odredite rezultat matričnih operacija +, -, *, /, \.

>> C=A+B

C =

13 16 2

25 7 9

6 13 11

>> D=A-B

D =

-7 -14 0

-25 -5 1

-4 7 -7

>> E=A*B

E =

60 54 16

50 21 49

270 81 59

>> F=A/B

F =

0.0130 0.1019 0.0644

-0.0077 -0.1188 0.6092

Page 3: Signali i Sustavi

0.7349 -0.3096 0.2782

>> G=A\B

G =

1.8571 4.7143 -0.1429

-0.7143 -0.4286 0.7857

5.1429 1.2857 0.6429

Kod operacija zbrajanja i oduzimanja matrice moraju biti jednakih dimenzija, a kod množenja i dijeljenja moraju biti ulančane. Ovdje su bila ispunjena oba uvjeta, i dobili smo ispravan ispis rezultata.

1.2. Za matrice iz prethodnog zadatka odredite također rezultate operacija član-po-član: .*, ./ i .\. U čemu je razlika?

>> E1=A.*B

E1 =

30 15 1

0 6 20

5 30 18

>> F1=A./B

F1 =

0.3000 0.0667 1.0000

0 0.1667 1.2500

0.2000 3.3333 0.2222

>> G1=A.\B

G1 =

3.3333 15.0000 1.0000

Page 4: Signali i Sustavi

Inf 6.0000 0.8000

5.0000 0.3000 4.5000

Kod operacija član-po-član, prije matematičkog operatora smo stavljali točku, što daje rezultate matematičkih operacija između pojedinačnih elemenata matrica, a ne po pravilima računanja s matricama. U matrici G1, element G112 je označen s Inf, što govori da je je izvršeno dijeljenje s nulom, odnosno označava beskonačnost.

1.3. Odredite inverze i svojstvene vrijednosti zadanih matrica. Kako možemo koristiti operacije / i \ za određivanje inverza?

Inverz matrice:

>> inv(A)

ans =

0.3429 -0.0571 -0.0286

-0.0357 -0.0357 0.1071

0.0071 0.2071 -0.0214

>> inv(B)

ans =

-0.0161 0.0506 -0.0207

0.0785 -0.0326 0.0057

-0.0172 -0.0172 0.1207

Inverz matrice se u MATLAB-u određuje pomoću funkcije inv. Inverz postoji samo ako je matrica regularna, što je u našem primjeru ispunjeno.

Svojstvene vrijednosti matrice:

>> eig(A)

ans =

2.8583

8.7435

Page 5: Signali i Sustavi

-5.6018

>> eig(B)

ans =

-11.4293

28.3838

8.0454

Svojstvene vrijednosti matrice određuju se pomoću funkcije eig.

Određivanje inverza pomoću operatora / i \:

>> I=[1 0 0; 0 1 0; 0 0 1]

I =

1 0 0

0 1 0

0 0 1

>> I=eye(3)

I =

1 0 0

0 1 0

0 0 1

>> I/A

ans =

0.3429 -0.0571 -0.0286

-0.0357 -0.0357 0.1071

0.0071 0.2071 -0.0214

Page 6: Signali i Sustavi

Inverz matrice možemo odrediti i pomoću operacija / i \. Potrebno je prvo definirati jediničnu matricu, što je moguće napraviti na dva načina, unošenjem u MATLAB ljusci ili pomoću funkcije eye(x), pri čemu je x broj koji definira dimenzije matrice. Nakon toga se inverz odredi dijeljenjem s jediničnom matricom, prema Gaussovoj metodi, a tu se onda koriste operatori / i \.

>> I/A-inv(A)

ans =

1.0e-016 *

-0.5551 0.0694 -0.0347

-0.0694 0.0694 0

0.0087 0 0

Provjerom vidimo da je postupak takvog određivanja inverza matrice ispravan, jer je razlika njega i inverza matrice određenog pomoću funkcije inv jednaka nul-matrici (neki od elemenata neznatno odstupaju od nule zbog zaokruživanja).

1.4. Korištenjem operatora dvotočka definiraj vektor t koji započinje u nuli i završava u trenutku t = 20 s. Neka je korak 0,05 s.

>> t = [0 : 0.05 : 20];

Kod ovakvog definiranja vektora vremena s određenim korakom, operator dvotočka odvaja vrijednosti, redom: početka, koraka i kraja. Ovu smo naredbu završili točka-zarezom kako nam se ne bi ispisao cijeli vektor , jer se iz zadanih vrijednosti vidi da vektor ima velik broj elemenata (20/0.05+1 = 401 element).

1.5. Koristeći vektor t iz prethodnog zadatka otipkaj funkciju kosinus frekvencije f = 0,5 Hz. Nacrtaj dobivenu funkciju.

>> x = cos(2*pi*0.5*t)

Ovakvom naredbom izračunali smo funkciju cos za svaki element vektora vremena t.

>> plot (t,x)

Funkciju plot(t, x) koristimo za crtanje funkcije kosinus. Prvo slovo u zagradi označava nezavisnu varijablu (t. vrijeme), a drugo je zavisna varijabla (x, kosinusna funkcija).

Page 7: Signali i Sustavi

Slika 1. 1. Funkcija kosinus frekvencije f = 0,25 Hz

Nakon ispisivanja naredbe za crtanje prikazao nam se graf ovisnosti, kojemu smo pomoću dodatnih naredbi uredili naslov i nazive osi:

>> xlabel ('t, vrijeme')

>> ylabel ('x, amplituda')

>> title ('Kosinus frekvencije 0.5Hz')

Funkcije xlabel i ylabel služe za imenovanje x i y osi, dok pomoću funkcije title određujemo naziv grafa.

Page 8: Signali i Sustavi

2. Upoznavanje sa Simulinkom

Simulink je dio MATLAB-a, vizualni alat koji omogućuje simulaciju kontinuiranih i diskretnih sustava pomoću funkcijskih blok dijagrama. Za sam unos i opis sustava koji se simulira koristi se jednostavno grafičko sučelje u kojem sastavljamo/crtamo model kombinirajući gotove komponente, što olakšava simulaciju sustava, jer se od korisnika ne zahtijeva unos složenih jednadžbi koje opisuju sustav, već je dovoljno poznavanje blok-sheme sustava.

2.1. Korištenjem Simulinka odredite odziv RL mreže zadane slikom na pobudu u = s(t)1. Odziv mreže (veličina koju promatrate) je struja kroz idealni induktivitet L. Neka je R = 4 i L = 2 te neka je početna struja kroz induktivitet iL(0) = 3.

Za zadanu mrežu prema slici vrijedi jednadžba:

u=iLR+uL

Uvrštavamo: uL=LdiLdt

u=iLR+Ld iLdt |:L

Jednadžba stanja:

d iLdt

= 1Lu− R

LiL

uz početni uvjet iL(0) = 3.

Prikazanu jednadžbu smo prikazali simulacijskim blok dijagramom pomoću Simulinka. No, prvo je bilo potrebno konstante i početne uvjete definirati kao varijable u MATLAB-u:

>> R=4; L=2; iL0=3

Page 9: Signali i Sustavi

Početni uvjet iL(0) = 3 postavljen je unutar bloka Integrator. Konstante stavljamo unutar blokova Gain i Gain 1, i to 1/L unutar bloka Gain i R/L unutar bloka Gain 1, kako odgovara prema jednadžbi stanja.

Slika 2.1. Simulacijski blok dijagram

Uz opisani simulacijski dijagram dobivamo odziv sustava prikazan na slici 2.2.

Slika 2.2. Odziv sustava pri iL(0) = 3

Page 10: Signali i Sustavi

Riječ je o linearnom sustavu prvog reda čije početno stanje je zadano i iznosi iL(0) = 3. Ovo početno stanje se može očitati na grafu, a prema grafu vidimo da postoji i stacionarno stanje. u kojem je odziv sustava jednak oko 0,25. No, to možemo točno odrediti iz jednadžbe stanja,

za koju u stacionarnom stanju vrijedi d iLdt

=0, pa iz jednadžbe proizlazi

iL=uR

=14=0,25

što se poklapa s rezultatima simulacije. Radi se o stabilnom sustavu prvog reda.

2.2. Što se događa s odzivom ako za početnu struju odaberemo iL(0) = 0,25?

Slika 2.2. Odziv sustava pri iL(0) = 0,25

Prema simulaciji vidimo da se ne događaju promjene kada je početna struja iL(0) = 0,25, stacionarno stanje sustava je postignuto i struja održava stalnu vrijednost od 0,25.