i. uvod u softverski paket matlab - tf.ni.ac.rs · toolbox kolekcija (biblioteka) izabranih...
TRANSCRIPT
![Page 1: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/1.jpg)
I. UVOD U SOFTVERSKI PAKET MATLAB 1. POKRETANJE MATLAB-A, OSNOVNI PROZORI I TOOLBAR-I MATLAB-A
![Page 2: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/2.jpg)
2. MODULI MATLABA
![Page 3: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/3.jpg)
TOOLBOX
Kolekcija (biblioteka) izabranih funkcija namenjena
rešavanju problema određenje oblasti.
Proširuju mogućnosti Matlab-a
Postoje toolbox-ovi za oblasti
– analize signala
– automatskog upravljanja
– simulacije dinamiĉkog ponašanja sistema
– identifikacije sistema
– veštačkih neuronskih mreža
– fuzzy sistema
– optimizacije
– analize robustnosti sistema
– ...
Postojeći toolbox-ovi se usavršavaju, a novi
nastaju
Aerospace Toolbox Bioinformatics Toolbox Communications Toolbox Control System Toolbox Curve Fitting Toolbox Data Acquisition Toolbox Database Toolbox Datafeed Toolbox Excel Link Filter Design Toolbox Filter Design HDL Coder Financial Toolbox Financial Derivatives Toolbox Fixed-Income Toolbox Fixed-Point Toolbox Fuzzy Logic Toolbox GARCH Toolbox Genetic Algorithm and Direct Search Toolbox Image Acquisition Toolbox Image Processing Toolbox Instrument Control Toolbox Mapping Toolbox Model-Based Calibration Toolbox Model Predictive Control Toolbox Neural Network Toolbox Optimization Toolbox OPC Toolbox Partial Differential Equation (PDE) Toolbox RF Toolbox Robust Control Toolbox Signal Processing Toolbox Spline Toolbox Statistics Toolbox Symbolic Math Toolbox System Identification Toolbox Virtual Reality Toolbox Wavelet Toolbox
![Page 4: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/4.jpg)
3. BROJEVI, PROMENLJIVE
Realni brojevi
3 -99 0.0001 -9.639825 1.62e-20 -10.34e200
Opseg 308 308 308 3081.7977*10 , 2.2251*10 , 2.2251*10 1.7977*10
Posebni brojevi:
– broj pi (3.1415...)
– imaginarna jedinica i ili j
– beskonačna vrednost Inf
delenje nulom ne prekida program, već nastaje vrednost Inf
– neodređena vrednost (not a number) NaN
NaN je rezultat neodređenih izraza Inf / Inf ili 0/0
– podrazumevana tačnost eps (2.2204e-16)
– “privremena” promenljiva ans
Kompleksni brojevi
-4+7i 8i -9j -9*j 1.23-12e-4j
![Page 5: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/5.jpg)
Promenljive
– naziv promenljive čine slova i brojevi
– mora početi slovom
– prvih 31 znakova se uzima u obzir
– razlikuju se mala i velika slova (npr. a i A su
dve promenljive)
4. ARITMETIČKE OPERACIJE – sabiranje +
– oduzimanje -
– množenje *
– delenje (levo) /
– desno delenje \
– stepenovanje ^
• Redosled operacija je određen na osnovu prioriteta:
1. unarni minus
2. stepenovanje
3. množenje ili delenje
4. sabiranje ili oduzimanje
• Upotrebom ( ) može se uticati na redosled izračunavanja
a=3 A=5; s=1415.2381; d=45, E=31
a=3+2 A=5*13; s=1415.2381/2.12 d=45^11, E=31*d w=(a+A)/(1+2*d)
![Page 6: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/6.jpg)
Izrazi
• Oblik:
promenljiva = izraz
• Izraz čine: nazivi promenljivih, funkcije, operatori i drugi specijalni znaci.
• Ako se izostavi promenljiva sa leve strane znaka “=”, privremena promenljiva ans
prima vrednost izraza
• Kod dugačkih izraza, kada je potrebno unos nastaviti u narednom redu, predhodni
red završiti sa “...” (tri tačke)
• Znak “;” na kraju izraza sprečava da se ispiše vrednost promenljive
a=23
B=2*a^2+3*a+4
c=(a+B)/B
![Page 7: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/7.jpg)
5. NIZOVI I MATRICE I OPERACIJE NAD NJIMA
Definisanje nizova a=[1 3 6 2 0.4 1e-2 4 90] % vektor vrsta 1x8 b=[3; 7; 1; 9; 12] % vektor kolona 5x1 c=1:100 % c=1,2,3,...,100 1x100 d=3:2:200 % d=3,5,7,...,200 e=linspace(1,200,100) % 100 elemenata od 1 do 200 f=logspace(-2,3,100) % 100 elementa od 10-2 do 103 g=e+f % sabiranje vektora
Definisanje i matrica
A=[1 2 3; 6 5 4; 9 8 7] % 3x3 matrica
Matrične operacije i funkcije h=g’ % transponovanje vektora B=A’ % transponovanje vektora C=A+B % sabiranje matrica E=A*B % množenje matrica F=inv(B) % inverzija matrica G=A/B --> A*inv(B) % desno deljenje matrica G=A\B --> inv(A)*B % levo deljenje matrica de=det(B) % determinanta matrica sv=eig(A) % sopstvene vrednosti matrice
![Page 8: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/8.jpg)
Sistem linearnih jednačina
1 2 3
1 2 3
1 2 3
1
2
3
2 2.5
3 2 0.5
1.5
1 2 1 2.5
1 3 2 0.5
1 1 1 1.5
x x x
x x x
x x x
x
x
x
Izdvajanje kolona (redova) matrica
1 2 3 2 5 9
4 5 6 4 1 2
7 8 19 22 11 1
2 4 8 6 4 0
0 8 5 9 4 1
A
A = [1 2 -1; -1 3 2; -1 -1 1]; b = [-2.5; 0.5; 1.5]; x = A\b
Izdvojiti elemente iz 2. i 4 kolone
B = A([1 4],:)
Izdvojiti elemente iz poelednje 3 vrste
B = A(:,end-3:end)
Izdvojiti sve elemente koji pripadaju
istovremeno drugoj i trećoj vrsti i neparnim
kolonama
B = A(1:2:end,[2 3])
![Page 9: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/9.jpg)
Spajanje matrica i vektora
1 2 3
4 5 6
7 8 19
A
1 2 3
45 3 4B
Specijalne matrice
Jedinična matrica I = eye(3,3)
Nulta matrica N = zeros(5,3)
Matrica sa svim 1 J = ones(6,8)
Formirati matricu spajanjem vrsta matrice A i
matrice B.
C = [A;B]
Formirati matricu spajanjem 1. i 3. vrste matrice
A i poslednje vrste matrice B.
B = [A([1 3],:),B(end,:)]
![Page 10: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/10.jpg)
6. POLINOMI I OPERACIJE SA POLINOMIMA
Definisanje polinoma
Polinomi se zadaju preko vektora koeficijenata polinoma, počevši od najvećeg stepena polinoma. Na primer:
3 2( ) 2 3P s s s a = [2 -1 0 3]
Nule polinoma
3 2
1,2,3
( ) 2 3 0
?
P s s s
s
xi=roots[2 -1 0 3])
Formiranje polinoma iz njegovih nula
1 2 31, 2, 5
( ) ?
s s s
P s
P=poly([-1 2 -5])
Predstavljanje polinoma
a = polynom([1 2 3])
![Page 11: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/11.jpg)
Izračunavanje polinoma 3 2( ) 2 3 0
(2) ?
P s s s
P
y = polyval([-1 2 -5],2)
Množenje polinoma 3 2
2
( ) 2 3
( ) 2 1
( )* ( ) ( )
P s s s
Q s s s
P s Q s R s
R=conv([2 -1 0 3],[2 1 -1])
Delejne polinoma 3 2
2
( ) 2 3
( ) 2 1
( ) ( )( )
( ) ( )
P s s s
Q x s s
P s O sR s
Q s Q s
[R,O]=deconv([2 -1 0 3],[2 1 -1])
Izvod i integral polinoma 3 2( ) 2 3P s s s Pp=polyder([2 -1 0 3])
Pi=polyint([2 -1 0 3])
![Page 12: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/12.jpg)
Razvoj količnika dva polinoma
1
1
( )( )
( )
m nm n
n n
b s RRK s
a s s p s p
3 2
3
2
2
3
2
( ) 2 3
( ) 3 2 ( 1)( 2)
( ) 9 2
( ) 2 12 5
b s s s
a s s s s s
b s
a s s ss
b=[2 1 0 3]; a=[1 3 2] [r, p, k] = residue(b,a)
r = 9 2 p = -2 -1 k = 2 -5
![Page 13: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/13.jpg)
3 2
3
3
4
4 3 2
3
2 3
4
( ) 2 3
( ) ( 2)( 1)
5 9 7 2
( ) 9 7 2 2
( ) 2 1 ( 1) ( 1)
b s s s
a x s s
s s s s
b s
a s s s s s
Kreiranje polinoma iz njegovog razvoja
2 3
3 2
4 3 2
9 7 2 2
2 1 ( 1) ( 1)
2 3
5 9 7 2
s s s s
s s
s s s s
b=[2 1 0 3]; a=conv(conv([1 1],[1 1]),[1 1]) a=conv(a,[1 2]) [r, p, k] = residue(b,a) r = 9.0000 -7.0000 2.0000 2.0000 p = -2.0000 -1.0000 -1.0000 -1.0000 k = []
[b,a] = residue(r,p,k) b = 2.0000 1.0000 0.0000 3.0000 a = 1.0000 5.0000 9.0000 7.0000 2.0000
![Page 14: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/14.jpg)
3
2 2
4
3
4
2
0.2500 0.3536 0.2500 0.3536
1.0000 1.414
( ) 2 1
( ) ( 3 2)( 2 3)
( )
( ) ( ) ( ) ( 1)
( 1
0.5
2 1.0000 1.4142
0.5 0.5
2 3
0.5
)
1
2
1
2
j j
j j
b s s
a x s s s s
b s
a s s s s
s
s
s
s s s
b = [2 1]; a1 = [1 3 2]; a2 = [1 2 3]; a = conv(a1,a2) [r,p,k] = residue(b,a) r = 1.0000 -0.2500 - 0.3536i -0.2500 + 0.3536i -0.5000
p = -2.0000 -1.0000 + 1.4142i -1.0000 - 1.4142i -1.0000 k = []
[pp,qq]=residue(r(2:3),p(2:3),[]) pp = -0.5000 0.5000 qq = 1.0000 2.0000 3.0000
![Page 15: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/15.jpg)
7. GRAFICI
plot(x,y) plot(x,y,’r’,’--’) plot(x1,y1,’r’,’--’,x2,y2,’b’,’o’)
Oznaka Boja
y Žuta
m Ljubičasta
c Setloplava
r Crvena
g Zelena
b Plava
w Bela
k Crna
Oznaka Tip linije
- Puna
: Tačkasta linija
-. Crta tačka
-- Isprekidana linija
![Page 16: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/16.jpg)
Crtanje na logaritamskoj skali semilogx semilogx(x,y,’r’); semilogy semilogy(x,y,’r’); loglog loglog(x,y,’r’);
Nova slika figure figure, plot(x,y,’r’);
Više odvojenih grafova na istoj slici subplot subplot(211),plot(x1,y1,’r’); subplot(212), plot(x2,y2,’k’);
xlabel (‘x os’) dodavanje naziva x osi
ylabel (‘y os’) dodavanje naziva y osi
title (‘Graf funkcije’) dodavanje naziva grafiku
grid on /grid off dodavanje mreže na grafiku
![Page 17: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/17.jpg)
x1=linspace(0,20,5);
x2=0:0.01:20;
y1=1.3+0.9*x1;
y2=1.3+0.5*x2;
plot(x1,y1,’o’,x2,y2,’r’)
title(‘Grafik’), xlabel(‘x’), ylabel(‘y(x)’)
legend('y_1(x)','y_2(x)')
0 5 10 15 200
5
10
15
20Grafik
x
y(x
)
y1(x)
y2(x)
![Page 18: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/18.jpg)
8. SKRIPTE I FUNKCIJE (M DATOTEKE)
Naredbe Matlaba se mogu unositi u editor i snimiti kao fajl pod određenim imenom sa ekstenzijom .m
Fajl sa naredbama Matlaba se naziva skripta.
Skripta se izvršava navođenjem imena SKRIPTE sa komandne linije u prozoru Comand Window, ili iz editora pokretanjem Run tastera ( )
Naredbe iz skripte se izvršavaju redom, a njihov rezultat se prikazuje u prozoru Comand Window.
![Page 19: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/19.jpg)
Primer. Prethodni primer (grafik funkcije) snimiti u skriptu Grafik.m i izvršiti
![Page 20: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/20.jpg)
Funkcije su .m fajlovi sa naredbama Matlaba koje imaju ulazne i izlazne argumente.
Funkcije počinju naredbom function a završavaju se naredbom end.
Primer funkcije transformacija.m
![Page 21: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/21.jpg)
II. SYMBOLIC TOOLBOX 9. SIMBOLIČKO REŠAVANJE PROBLEMA – SYMBOLIC MATH TOOLBOX
Definicija simboličke promenljive
x=sym(‘x’), y=sym(‘y’), --> syms x y
x=sym('x','real'), y=sym('y','real') --> syms x y real
c=sym('c','positive') --> syms c positive
--> syms c, assume(c>0)
Kreiranje simboličkih brojeva i matrica
a=sym(‘2/3'); mat=sym([1 2;3 4]);
Zamena simboličke varijable numeričkom vrednošću ili drugom simbol. var.
subs(S), subs(S,new), subs(S,old,new)
syms a b, subs(a+b,a,4) ans = b + 4
syms a b subs(a+b,{a,b},{2,3}) ans =
5
![Page 22: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/22.jpg)
Pretvaranje numeričke matrice u simboličku matricu
Određivanje simb. varijabli iz simb. izraza
b=[1 2 3; 4 5 6; 7 8 9]
b =
1 2 3
4 5 6
7 8 9
bb=sym(b)
bb =
[ 1, 2, 3]
[ 4, 5, 6]
[ 7, 8, 9]
f=sym('x^2+2*y^3-7*y+3+z'); findsym(f)
ans =
x, y, z
findsym(f,2)
ans =
x,y
![Page 23: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/23.jpg)
Konverzija promenljivih
double konvertuje simboličke varijable u numeričke
poly2sym konvertuje numerički polinom u simbolički
sym2poly konvertuje simbolički polinom u numerički
syms a1 a2 a3 a4 a=[a1 a2; a3 a4] a =
[ a1, a2]
[ a3, a4]
b=double(a) b =
1 2
3 4
syms x f =x^2+2*x^3-6*x+3 p=sym2poly(f) p =
2 1 -6 3
p2 =[1 2 3 4 5] f2=poly2sym(p2) f2 =
x^4+2*x^3+3*x^2+4*x+5
![Page 24: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/24.jpg)
Prikaz simboličkih izraza
pretty(s)
syms a1 a2 a3 a4 a=[a1 a2; a3 a4] % simbolička matrica b=inv(a) % simbolička matrica pretty(b) % prikaz
+- -+ | a4 a2 | | -------------, - ------------- | | a1 a4 - a2 a3 a1 a4 - a2 a3 | | | | a3 a1 | | - -------------, ------------- | | a1 a4 - a2 a3 a1 a4 - a2 a3 | +- -+
![Page 25: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/25.jpg)
Diferenciranje
2( ) sin( )f x x x , 2
2
( )?
d f x
dx
2 2( , ) 2f x y x y y x , 2 ( , )
?d f x y
dxdy
syms x; f=x^2*sin(x); diff(f,2) ans = 2*sin(x)+4*x*cos(x)-x^2*sin(x)
syms x y; f=x^2*y+2*y^2*x diff(diff(f,x),y) ans = 2*x+4*y
![Page 26: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/26.jpg)
Integraljenje
2 2( , ) 2f x y x y y x ,
( , ) ?f x y dx
2
( , ) axf x a e
( ) ?f x dx
( , ) xf x a xe
( ) ?
b
a
f x dx
10
0
( ) ?f x dx
syms x y; f=x^2*y+2*y^2*x int(f,x) ans = (x^2*y*(x + 3*y))/3
syms x, syms a, assume(a > 0); f=exp(-a*x^2) int(f,x,-inf,inf) ans = pi^(1/2)/a^(1/2)
syms x a b; f=x*exp(-x); F=int(f,x,a,b) % granice su parametri F =
-b*exp(-b)-exp(-b)+a*exp(-a)+exp(-a)
subs(F, {a,b}, [0,10]) % smena granica ans =
0.9995
![Page 27: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/27.jpg)
Granične vrednosti
lim 1 sin
x
x
a bx
x x
0
1limx x
0
1limx x
0
1limx x
syms x a b; f=x*(1+a/x)^x*sin(b/x); limit(f,x,inf) ans =
exp(a)*b
syms x; limit(1/x,x,0) ans =
NaN
limit(1/x,x,0,’left’) ans =
-Inf
limit(1/x,x,0,’right’) ans =
Inf
![Page 28: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/28.jpg)
Uprošćavanje izraza
R=expand(f)
cos(x+y)
R=factor(f)
x^3-y^3
R=simplify(f)
(x^2+5*x+6)/(x+2)
R=simple(f) – Koristi više različitih metoda
syms x y expand(cos(x+y)) ans =
cos(x)*cos(y)-sin(x)*sin(y)
syms x y factor(x^3-y^3) ans =
(x-y)*(x^2+x*y+y^2)
syms x f=(x^2+5*x+6)/(x+2) simplify(f) ans =
x+3
![Page 29: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/29.jpg)
Grafik simboličke funkcije
ezplot(f),
ezplot(f,vektor_granica)
ezplot(x,y,t_granica)
x
yx = 2 sin(2 t) + 5, y = cos(2 t)
0 5 10-4
-2
0
2
4
6
ezplot(sym('-2*(x-2)^2+2+y'),[-2,8,-4,7]) grid hold on ezplot(sym('2*sin(2*t)+5'), sym('cos(2*t)'))
![Page 30: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/30.jpg)
Algebarske jednačine
solve(eq), solve(eq,var) solve(eq1,eq2,...,eqn)
2 2
3
1 0
0.75 0.9 0
x y
x y
S=solve('x^2+y^2-1=0','y=4*sqrt(3)*x^3') S = x: [6x1 sym] y: [6x1 sym]
S.x ans = 1/2 -1/2 -1/12*(-18+6*i*39^(1/2))^(1/2) 1/12*(-18+6*i*39^(1/2))^(1/2) -1/12*(-18-6*i*39^(1/2))^(1/2) 1/12*(-18-6*i*39^(1/2))^(1/2)
S.y ans = 1/2*3^(1/2) -1/2*3^(1/2) -1/432*(-18+6*i*39^(1/2))^(3/2)*3^(1/2) 1/432*(-18+6*i*39^(1/2))^(3/2)*3^(1/2) -1/432*(-18-6*i*39^(1/2))^(3/2)*3^(1/2) 1/432*(-18-6*i*39^(1/2))^(3/2)*3^(1/2)
ezplot(sym('x^2+y^2-1=0'),[-1,1,-1,1]) hold on ezplot(sym('y=4*sqrt(3)*x^3'))
x
y
y == 4 31/2 x3
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1
![Page 31: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/31.jpg)
syms x y real
S=solve('x^2+y^2-1=0','y=4*sqrt(3)*x^3') S = x: [2x1 sym] y: [2x1 sym] S.x ans = 1/2 -1/2 S.y ans = 3^(1/2)/2 -3^(1/2)/2
% Resenja su (1/2, 3 2) i (-1/2, - 3 2)
xy
y == 4 31/2 x3
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1
![Page 32: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/32.jpg)
Diferencijalne jednačine
dsolve(deq) dsolve(deq,c1) dsolve(deq1,deq2,c1,c2)
Primer 1. y'(t)-y(t)=sin(t)
Primer 2. f’(t)-f(t)-g(t)=0, g’(t)+f(t)-g(t)=0
% Bez početnih uslova
dsolve('Dy-y=sin(t)') ans = -1/2*cos(t)-1/2*sin(t)+exp(t)*C1
% Sa početnim uslovima
dsolve('Dy = y + sin(t)','y(0)=1') ans = -1/2*cos(t)-1/2*sin(t)+3/2*exp(t)
S=dsolve('Df-f-g=0', 'Dg+f-g=0', 'f(0)=1', 'g(0)=2') S = f: [1x1 sym] g: [1x1 sym]
S.f ans = exp(t)*cos(t) + 2*exp(t)*sin(t)
S.g ans = 2*exp(t)*cos(t) - exp(t)*sin(t)
![Page 33: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/33.jpg)
Odskočna i impulsna funkcija
heaviside(x) ezplot(heaviside(x),[-0.1 0.1])
-0.1 -0.05 0 0.05 0.1
0
0.2
0.4
0.6
0.8
1
x
heaviside(x)
dirac(x)
![Page 34: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/34.jpg)
Laplasova i inverzna Laplasova transformacija
syms t s a laplace(t^5) ans = 120/s^6 laplace(exp(a*t)) ans = 1/(s-a) ilaplace(s/(s-a)) ans = Dirac(t)+a*exp(a*t) ilaplace(1/(s^2+s+1)) ans = 2/3*exp(-1/2*t)*3^(1/2)*sin(1/2*3^(1/2)*t)
![Page 35: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/35.jpg)
Redovi
symsum(f), symsum(f,a,b)
2 2
1 11
2 3M
1 2 3M n
syms k M=symsum(1/k^2,1,inf) M = pi^2/6
syms k n M=symsum(k,1,n) M =
pi^2/6
![Page 36: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/36.jpg)
III. CONTROL SYSTEM TOOLBOX Tipovi objekata modela
![Page 37: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/37.jpg)
Modeli dinamičkih sistema
Model Family Model Types
Numeric LTI models
Basic numeric representation of
linear systems
tf
zpk
ss
frd
pid
pidstd
Identified LTI models —
Representations of linear systems
with tunable coefficients, whose
values can be identified using
measured input/output data.
idtf
idss
idfrd
idgrey
idpoly
idproc
Identified nonlinear models —
Representations of nonlinear
systems with tunable coefficients,
whose values can be identified
using input/output data. Limited
support for commands that
analyze linear systems.
idnlarx
idnlhw
idnlgrey
Model Family Model Types
Generalized LTI models —
Representations of systems that
include tunable or uncertain
coefficients
genss
genfrd
uss
ufrd
Dynamic Control Design Blocks
— Tunable, uncertain, or switch
components for constructing
models of control systems
ltiblock.gain
ltiblock.tf
ltiblock.ss
ltiblock.pid
ltiblock.pid2
ultidyn
udyn
loopswitch
![Page 38: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/38.jpg)
FUNKCIJA PRENOSA
1
1 1 0 1
1
1 1 0
1
( )
( )i
m
m m
m m i
nn
n
i
n
i
sb s b s b s b
G ss a s a s a
s p
z
K
Konstruisanje prenosnih funkcija sys = tf(num,den) ili tf(sys) % Transfer function sys = zpk(z,p,k) ili zpk(sys) % Zero/pole/gain sys = frd(response,frequencies) % Frequency response data
![Page 39: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/39.jpg)
Kreiranje funkcije prenosa
2
15( )
14 40.02G s
s s
II Način s = tf('s');
G = 1.5/(s^2+14*s+40.02)
G =
1.5
------------------
s^2 + 14 s + 40.02
Continuous-time transfer
function.
I Način
G = tf(1.5,[1 14 40.02])
G =
1.5
------------------
s^2 + 14 s + 40.02
Continuous-time transfer
function.
![Page 40: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/40.jpg)
Kreiranje G preko polova, nula i pojačanja
15( )
( 9.996)( 4.004)G s
s s
Kašnjenje u funkciji prenosa
0.05
2
15( )
14 40.02
seG s
s s
Gzpk = zpk([],[-9.996 -4.004], 1.5)
Gzpk =
1.5
-------------------
(s+9.996) (s+4.004)
Continuous-time zero/pole/gain model.
Gtd = tf(1.5,[1 14 40.02],'ioDelay',0.05)
Gtd = tf(1.5,[1 14 40.02],'InputDelay',0.05)
Gtd = tf(1.5,[1 14 40.02],'OutputDelay',0.05)
Gtd =
1.5
exp(-0.05*s) * ----------------------
s^2 + 14 s + 40.02
Continuous-time transfer function.
![Page 41: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/41.jpg)
Multivarijabilni sistem I Način
h11 = tf([1 -1],[1 1]);
h21 = tf([1 2],[1 4 5]);
H = [h11; h21]
H =
From input to output...
s - 1
1: -----
s + 1
s + 2
2: -------------
s^2 + 4 s + 5
II Način
s = tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);
H = [h11; h21]
![Page 42: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/42.jpg)
Transformacije iz jednog u drugi oblik prenosne funkcije
3 2
5 5( )
12 44 48
15
( 2)( 4)( 6)
sG s
s s s
s
s s s
3 2
1( ) 5
( 2)( 4)( 6)
5 5
12 44 48
sG s
s s s
s
s s s
s = tf('s')
G=(5*s+5)/(s^3+12*s^2+44*s+48) Gzpk = zpk(G)
Gzpk =
5 (s+1)
-----------------
(s+6) (s+4) (s+2)
Continuous-time zero/pole/gain model.
s = tf('s')
Gzpk=5*(s+1)/(s+2)/(s+4)/(s+6); G = tf(Gzpk)
G =
5 s + 5
------------------------
s^3 + 12 s^2 + 44 s + 48
Continuous-time transfer function.
![Page 43: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/43.jpg)
PROSTOR STANJA
0x(t) Ax(t) Bu(t), x(0) x
y(t) Cx(t) Du(t)
sys = ss(A,B,C,D) sys = ss(D) sys = ss(A,B,C,D,ltisys) sys_ss = ss(sys)
![Page 44: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/44.jpg)
A = [0 1;-5 -2]; B = [0;3]; C = [0 1]; D = 0; sys = ss(A,B,C,D)
sys = a = x1 x2 x1 0 1 x2 -5 -2 b = u1 x1 0 x2 3
c = x1 x2 y1 0 1 d = u1 y1 0 Continuous-time state-space model.
![Page 45: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/45.jpg)
Kašnjenje u prostoru stanja
( ) 2 ( ) 3 ( 1.5)
( 0.7)( )
( )
x t x t u t
x ty t
x t
A = -2; B = 3; C = [1; -1]; D = 0; G = ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7; 0])
![Page 46: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/46.jpg)
1 1
1 1
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
N N
j j j j
j j
N N
j j j j
j j
x t Ax t Bu t A x t t B u t t
y t Cx t Du t C x t t D u t t
sys=delayss(A,B,C,D,delayterms)
( ) ( ) ( 1.2) 2 ( 0.5)
( ) ( 0.5) ( )
x t x t x t u t
y t x t u t
( ) 1 ( ) 0 ( ) 0 ( 0.5) 1 ( 1.2) 2 ( 0.5) 0 ( 1.2)
( ) 0 ( ) 1 ( ) 1 ( 0.5) 0 ( 1.2) 0 ( 0.5) 0 ( 1.2)
x t x t u t x t x t u t u t
y t x t u t x t x t u t u t
A=1; B=0; C=0; D=1; DelayT(1) = struct('delay',0.5,'a',0,'b',2,'c',1,'d',0); DelayT(2) = struct('delay',1.2,'a',-1,'b',0,'c',0,'d',0); sys = delayss(1,0,0,1,DelayT)
![Page 47: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/47.jpg)
Redna veza sistema Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) sys = series(sys1,sys2)
1
1( )
3G s
s
, 2
1( )
5G s
s
2
1( )
8 15eG s
s s
Paralelna veza sistema Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) sys = parallel(sys1,sys2)
1
1( )
3G s
s
, 2
1( )
5G s
s
2
2 8( )
8 15e
sG s
s s
G1=tf([1],[1 3]); G2= tf([1],[1 5]); Ge=series(G1,G2)
Ge =
1
--------------
s^2 + 8 s + 15
Continuous-time transfer function.
G1=tf([1],[1 3]); G2= tf([1],[1 5]); Ge=parallel(G1,G2)
Ge =
2 s + 8
--------------
s^2 + 8 s + 15
Continuous-time transfer function.
![Page 48: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/48.jpg)
Povratna sprega Važi za bilo koji dinamički sistem (tf, zpk, ss, ...)
sys = feedback(sys1,sys2)
2( )
3G s
s
2
3( )
2 1H s
s s
2
3 2
2 4 2( )
5 7 9e
s sG s
s s s
G=tf([2],[1 3]); H= tf([3],[1 2 1]); Ge= feedback(G,H,-1)
Ge =
2 s^2 + 4 s + 2
---------------------
s^3 + 5 s^2 + 7 s + 9
Continuous-time transfer function.
G(s) R(s) Y(s) E(s)
-
H(s)
![Page 49: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/49.jpg)
MEŠOVITA VEZA SISTEMA I NAČIN (primena series, paralel, feedback) Primer.
1
2( )
3G s
s
,
2 2
3( )
2 1G s
s s
,
3
1( )
1G s
s
,
2
3 2
2 4 2( )
5 7 9e
s sG s
s s s
G1=tf([2],[1 3]); G2= tf([3],[1 2 1]); G3=tf([1],[1 1]); Gd= series(G1,G2)
Ge= feedback(Gd,G3,-1)
Ge =
6 s + 6
-------------------------------
s^4 + 6 s^3 + 12 s^2 + 10 s + 9
Continuous-time transfer function.
1G (s)
Y(s) E(s)
- 2G (s)
U(s) R(s)
3G (s) Y1(s)
![Page 50: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/50.jpg)
II NAČIN (primena connect) sysc = connect(sys1,...,sysN,inputs,outputs)
Primer.
1
2( )
3G s
s
,
2 2
3( )
2 1G s
s s
,
3
1( )
1G s
s
,
G1=tf([2],[1 3]); G2= tf([3],[1 2 1]); G3=tf([1],[1 1]); G1.u = 'e'; G1.y = 'u'; G2.u = 'u'; G2.y = 'y'; G3.u = 'y'; G3.y = 'y1'; Sum = sumblk('e = r - y1'); T = connect(G1,G2,G3,Sum,'r','y')
T =
From input "r" to output "y":
6 s + 6
-------------------------------------
s^4 + 6 s^3 + 12 s^2 + 10 s + 9
Continuous-time transfer function.
1G (s)
Y(s) E(s)
- 2G (s)
U(s) R(s)
3G (s) Y1(s)
![Page 51: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/51.jpg)
Primer. (I Način)
10 1( ) 5
2 1C
sG s
s
,
1( )
50 1H s
s
,
1
8( )
3 1G s
s
, 2
5( )
^ 2 12 25
sG s
s s
, 3
1( )
0.2 1G s
s
, 4
1G
s
Ge = 7500 s^5 + 97400 s^4 + 269095 s^3 + 193593 s^2 + 20015 s + 325 ----------------------------------------------------------------------------------------------------------------------------- 60 s^7 + 1071 s^6 + 1.349e04 s^5 + 1.095e05 s^4 + 276678 s^3 + 195218 s^2 + 20105 s + 325
s = tf('s'); Gc = 5*(10*s+1)/(2*s+1); G1 = 8/(3*s+1); G2 = (s+5)/(s^2+12*s+25); G3 = 1/(0.2*s+1); G4=1/s; H=1/(50*s+1);
G12=series(G1,G2); G123=parallel(G12,G3); G123H=feedback(G123,H,-1) Gdp = series(Gc,G123H); Gd = series(Gdp,G4); Ge = feedback(Gd,1,-1)
![Page 52: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/52.jpg)
Primer. (II Način)
s = tf('s'); Gc = 5*(10*s+1)/(2*s+1); G1 = 8/(3*s+1); G2 = (s+5)/(s^2+12*s+25); G3 = 1/(0.2*s+1); G4=1/s; H=1/(50*s+1); Gc.u = 'e1'; Gc.y = 'x1'; G1.u = 'e2'; G1.y = 'x3'; G2.u = 'x3'; G2.y = 'x4';
G3.u = 'e2'; G3.y = 'x2'; G4.u = 's'; G4.y = 'y'; H.u = 's'; H.y = 'x5'; Sum1 = sumblk('e1 = r - y'); Sum2 = sumblk('e2 = x1 - x5'); Sum3 = sumblk('s = x2 + x4'); Ge = connect(Gc,G1,G2,G3,G4,H, ... Sum1, Sum2, Sum3, 'r', 'y')
e1 x1
x2
x3 x4
x5
e2 s
Ge = From input "r" to output "y":
125 s^5 + 1623 s^4 + 4485 s^3 + 3227 s^2 + 333.6 s + 5.417 ---------------------------------------------------------------------------------------------------------- s^7 + 17.85 s^6 + 224.8 s^5 + 1825 s^4 + 4611 s^3 + 3254 s^2 + 335.1 s + 5.417
![Page 53: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/53.jpg)
Polovi i nule dinamičkog sistema Važi za bilo koji dinamički sistem (tf, zpk, ss, ...)
p = pole(sys) z = zero(sys) [z,gain]= zero(sys) pzplot(sys) [Wn,zeta]= damp(sys) [Wn,zeta,P]= damp(sys)
-5 -4 -3 -2 -1 0-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Pole-Zero Map
Real Axis (seconds-1)
Imagin
ary
Axis
(seconds
-1)
Primer.
H = tf([2 5 1],[1 2 3]);
pole(H) [z,gain]= zero(H) pzplot(sys) damp(H)
![Page 54: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/54.jpg)
VREMENSKI ODZIVI SISTEMA
Odskočni odziv sistema
Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) A = [2 -4; 4 2]; B = [-1; 0.5]; C = [-0.5, -2]; D = [-1]; S=ss(A,B,C,D); H = tf([8 18 32],[1 6 14 24]); Grafici
stepplot(H); % ili stepplot(S); stepplot(H,8); % ili stepplot(S,8); step(H); % ili step(S); step(H,8); % ili step(S); Numeričke vrednosti [y,t] = step(H); % --> plot(t,y) [y,t] = step(H,8); % --> plot(t,y)
0 1 2 3 40
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
Am
plit
ude
0 2 4 6 80
0.5
1
1.5
2Step Response
Time (seconds)
Am
plit
ude
![Page 55: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/55.jpg)
Impulsni odziv sistema Važi za bilo koji dinamički sistem (tf, zpk, ss, ...)
H = tf([8 18 32],[1 6 14 24]); Grafici impulseplot(H) impulseplot(H, 10) impulse(H) impulse(H,10) Numeričke vrednosti [y,t] = impulse(H) % --> plot(t,y) [y,t] = impulse(H,10) % --> plot(t,y)
0 1 2 3 4-1
0
1
2
3
4
5
6
7
8
Impulse Response
Time (seconds)
Am
plit
ude
0 2 4 6 8 10-2
0
2
4
6
8
Impulse Response
Time (seconds)
Am
plit
ude
![Page 56: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/56.jpg)
Odziv usled početnih uslova
Sistem je dat isključivo u prostoru stanja (ss)
0( ) ( ) ( ), (0)
( ) ( ) ( ), ( ) 0
x t Ax t Bu t x x
y t Cx t Du t u t
A=[-1 1; 0 -2]; B=[1; 2]; C=[1 3]; D=0; H = ss(A,B,C,D); x0=[1 2];
Grafici initialplot(H,x0) initialplot(H,x0,12) initial(H,x0) initial(V,x0,Tfinal) Numeričke vrednosti [y,t,x] = initial(H,x0) % --> plot(t,y), % --> plot(t,x) [y,t,x] = initial(H,x0,Tfinal)
0 1 2 3 4 50
1
2
3
4
5
6
7
Response to Initial Conditions
Time (seconds)
Am
plit
ude
![Page 57: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/57.jpg)
Odziv na proizvoljnu pobudu Tipična pobuda [u,t] = gensig(type,tau) [u,t] = gensig(type,tau,Tf,Ts) Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) lsimplot(sys1,sys2,...) lsimplot(sys,u,t) lsimplot(sys,u,t,x0) lsimplot(sys1,sys2,...,u,t,x0) lsim(sys,u,t) lsim(sys,u,t,x0) Primer.
[u,t] = gensig('square',4,10,0.1); H = [tf([2 5 1],[1 2 3]) ; tf([1 -1],[1 1 5])] lsim(H,u,t)
-2
0
2
4
To: O
ut(
1)
0 2 4 6 8 10-1
0
1T
o: O
ut(
2)
Linear Simulation Results
Time (seconds)
Am
plit
ude
![Page 58: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/58.jpg)
VREME USPONA, VREME SMIRENJA, PRESKOK, ... Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) stepinfo(G) s = tf('s'); G = (s+5)/(s^2+5*s+25); step(G) stepinfo(G) ans = RiseTime: 0.1882 SettlingTime: 1.5011 SettlingMin: 0.1881 SettlingMax: 0.2597 Overshoot: 29.8352 Undershoot: 0 Peak: 0.2597 PeakTime: 0.4789
0 0.5 1 1.5 20
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Step Response
Time (seconds)
Am
plit
ude
![Page 59: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/59.jpg)
FREKVENTNI ODZIV SISTEMA Bodeovi dijagrami
Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) bodeplot(sys) bode(sys) [mag,phase,wout]= bode(sys) sys = tf(1,[1 1]); bodeplot(sys) [mag,phase,w]= bode(sys)
-40
-30
-20
-10
0
Magnitu
de (
dB
)10
-210
-110
010
110
2-90
-45
0
Phase (
deg)
Bode Diagram
Frequency (rad/s)
![Page 60: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/60.jpg)
Asimptotski Bodeovi dijagrami sys = tf([1 20],[1 2 3]); asymp(sys) % funkcija sa sajta matxworks-a
Bode Diagram
Frequency (rad/s)
-60
-50
-40
-30
-20
-10
0
10
20
Magnitu
de (
dB
)
0.01 0.1 1 10 100 1000-180
-150
-120
-90
-60
-30
0
Phase (
deg)
![Page 61: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/61.jpg)
Frekventni odziv, Amplitudna i fazna karakteristika
Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) [H,wout]= freqresp(sys) sys = tf(1,[1 1 1]); w=linspace(0,5,200); [H,wout]= freqresp(sys,w); Hw = reshape(H,[],1); A=abs(Hw); fi=angle(Hw); fi=fi*360/2/pi; plot(wout,A), xlabel('w'), ylabel('A(w)') plot(wout,fi), xlabel('w'), ylabel('fi(w)')
0 1 2 3 4 50
0.2
0.4
0.6
0.8
1
1.2
1.4
w
A(w
)
0 1 2 3 4 5-180
-160
-140
-120
-100
-80
-60
-40
-20
0
w
fi(w
)
![Page 62: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/62.jpg)
Propusni opseg sistema
Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) fb = bandwidth(sys) sys = tf(1,[1 1 1]); fb = 1.2712
0 1 2 3 4 50
0.2
0.4
0.6
0.8
1
1.2
1.4
w
A(w
)
![Page 63: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/63.jpg)
Statičko pojačanje Važi za bilo koji dinamički sistem (tf, zpk, ss, ...)
k = dcgain(sys) sys = tf(1,[1 1 1]); step(sys) Kp = dcgain(sys) Kp = 1
0 2 4 6 8 10 120
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Am
plit
ude
![Page 64: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/64.jpg)
Nikvistov dijagram Važi za bilo koji dinamički sistem (tf, zpk, ss, ...) h = nyquistplot(sys) nyquistplot(sys,{wmin,wmax}) nyquistplot(sys,w) nyquistplot(sys1,sys2,...,w) sys = tf([1 5],[1 2 4 0]); nyquistplot(sys);
-1 -0.8 -0.6 -0.4 -0.2 0-10
-8
-6
-4
-2
0
2
4
6
8
10
Nyquist Diagram
Real Axis
Imagin
ary
Axis
![Page 65: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/65.jpg)
MARGINA POJAČANJA, FAZNA MARGINA, MARGINA KAŠNJENJA, PRESEČNE UČESTANOSTI margin(sys) allmargin(sys)
Primer.
H = tf([2 5 1],[1 2 3]);
margin(H) allmargin(H)
ans =
GainMargin: [1x0 double]
GMFrequency: [1x0 double]
PhaseMargin: -120.0000
PMFrequency: 0.5773
DelayMargin: [7.2552 0]
DMFrequency: [0.5773 Inf]
Stable: 1
-10
-5
0
5
10
Magnitu
de (
dB
)
10-2
10-1
100
101
102
-45
0
45
90
Phase (
deg)
Bode Diagram
Gm = Inf , Pm = -120 deg (at 0.577 rad/s)
Frequency (rad/s)
![Page 66: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/66.jpg)
PID REGULATOR
C = pid(Kp,Ki,Kd,Tf)
C = pid(Kp)
C = pid(Kp,Ki)
C = pid(Kp,Ki,Kd)
C = pid(sys)
Primer.
Kp=1;
Ki=0.1;
Kd=3;
Tf=0.5;
G = pid(Kp,Ki,Kd,Tf);
step(C) bode(C)
0 5 10 15 201
2
3
4
5
6
7
Step Response
Time (seconds)
Am
plit
ude
0
20
40
60
Magnitu
de (
dB
)
10-3
10-2
10-1
100
101
102
-90
-45
0
45
90
Phase (
deg)
Bode Diagram
Frequency (rad/s)
![Page 67: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/67.jpg)
C = pidstd(Kp) C = pidstd(Kp,Ti) C = pidstd(Kp,Ti,Td) C = pidstd(Kp,Ti,Td,N)
![Page 68: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/68.jpg)
POREĐENJE ODZIVA VIŠE SISTEMA G = zpk([],[-5 -5 -10],100); C = pid(0,4.4); Gsp = feedback(G*C,1); step(G,Gsp);
C(s)
Y(s)
- G(s)
R(s)
0 1 2 3 4 5 6 70
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Am
plit
ude
![Page 69: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/69.jpg)
G = zpk([],[-5 -5 -10],100); C1 = pid(0,4.4); T1 = feedback(G*C1,1); C2 = pid(2.9,7.1); T2 = feedback(G*C2,1); ltiview(G,T1,T2)
Step Response
Time (seconds)
Am
plit
ude
0 1 2 3 4 5 6 70
0.5
1
1.5
G
T1
T2
Impulse Response
Time (seconds)
Am
plit
ude
0 1 2 3 4 5 6 7 8-0.5
0
0.5
1
1.5
2
2.5
G
T1
T2
![Page 70: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/70.jpg)
STABILNOST SISTEMA
pole polovi funkcije prenosa
zero nule funkcije prenosa
damp koeficijent prigušenja, prirodna učestanost
pzplot grafik nula i polova
rlocus geometrijsko mesto korena
allmargin margina pojačanja, margina faze, margina kašnjenja,
presečna učestanost
margin margina pojačanja, margina faze,
presečna učestanost
![Page 71: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/71.jpg)
Primer. K=1; G = tf([.5 1.3],[1 1.2 1.6 0]); T = feedback(K*G,1);
pole(T) Polovi zatvorenog sistema P = -0.2305 + 1.3062i -0.2305 - 1.3062i -0.7389 + 0.0000i Nule zatvorenog sistema Z = -2.6000
-3 -2.5 -2 -1.5 -1 -0.5 0-1.5
-1
-0.5
0
0.5
1
1.5
Pole-Zero Map
Real Axis (seconds-1)
Imagin
ary
Axis
(seconds
-1)
![Page 72: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/72.jpg)
Koeficijent prigušenja i prirodna učestanost zatvorenog sistema damp(T)
Eigenvalue Damping Frequency -7.39e-01 1.00e+00 7.39e-01 -2.31e-01 + 1.31e+00i 1.74e-01 1.33e+00 -2.31e-01 - 1.31e+00i 1.74e-01 1.33e+00 (Frequencies expressed in rad/seconds)
![Page 73: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/73.jpg)
Geometrijsko mesto korena sistema u povratnoj sprezi rlocus(G)
Root Locus
Real Axis (seconds-1)
Imagin
ary
Axis
(seconds
-1)
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1-15
-10
-5
0
5
10
15
System: G
Gain: 2.77
Pole: 0.000972 + 1.73i
Damping: -0.000562
Overshoot (%): 100
Frequency (rad/s): 1.73
kada K
![Page 74: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/74.jpg)
Odskočni odziv zatvorenog sistema
step(T), title('Odskocni odziv za K = 1')
0 5 10 15 20 250
0.2
0.4
0.6
0.8
1
1.2
1.4
Odskocni odziv za K = 1
Time (seconds)
Am
plit
ude
![Page 75: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/75.jpg)
Poređenje odskočnih odziva zatvorenog sistema za razne vrednosti pojačanja K
K1 = 0.5; T1 = feedback(G*K1,1); K2 = 1; T2 = feedback(G*K2,1); K3=2; T3 = feedback(G*K3,1); K4=3; T3 = feedback(G*K4,1); step(T1,'b',T2,'r',T3,'g', T4,':'12), title('Odskocni odziv'), legend('K = 0.5','K = 1','K =2', 'K =2.5' )
K=0.5, 1, 2 sistem stabilan K=4 sistem nestabilan
0 2 4 6 8 10 12-1
-0.5
0
0.5
1
1.5
2
2.5
3
Odskocni odziv
Time (seconds)
Am
plit
ude
K = 0.5
K = 1
K =2
K =4
![Page 76: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/76.jpg)
Bodeovi dijagrami funkcije povratnog prenosa
bode(G), grid Bode Diagram
Frequency (rad/s)
-100
-50
0
50
System: G
Gain Margin (dB): 8.77
At frequency (rad/s): 1.72
Closed loop stable? YesMagnitu
de (
dB
)
10-1
100
101
102
-225
-180
-135
-90
System: G
Phase Margin (deg): 44.7
Delay Margin (sec): 0.752
At frequency (rad/s): 1.04
Closed loop stable? Yes
Phase (
deg)
![Page 77: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/77.jpg)
Pretek pojačanja, pretek faze,
m = allmargin(G) GainMargins_dB = mag2db(m.GainMargin) m = GainMargin: [2.7440 Inf] GMFrequency: [1.7241 Inf] PhaseMargin: 44.6703 PMFrequency: 1.0362 DelayMargin: 0.7524 DMFrequency: 1.0362 Stable: 1 GainMargins_dB = 8.7677 Inf
Bode Diagram
Frequency (rad/s)
-100
-50
0
50
System: G
Gain Margin (dB): 8.77
At frequency (rad/s): 1.72
Closed loop stable? YesMagnitu
de (
dB
)
10-1
100
101
102
-225
-180
-135
-90
System: G
Phase Margin (deg): 44.7
Delay Margin (sec): 0.752
At frequency (rad/s): 1.04
Closed loop stable? Yes
Phase (
deg)
![Page 78: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/78.jpg)
Grafička prezentacija margin_gui
Loop Gain K:
-K G
Feedback Loop:
0.5 s + 1.3
s3 + 1.2 s2 + 1.6 s
= G(s)-60
-40
-20
0
20
40
60
Open Loop GKM
agnitu
de (
dB
)
10-1
100
101
-225
-180
-135
-90
-45
Frequency (rad/sec)
Phase (
deg)
0 5 10 15 200
0.5
1
1.5
Closed-Loop Step Response
Time (sec)A
mplit
ude
0.1 10
![Page 79: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/79.jpg)
Nikvistov dijagram
nyquist(sys) nyquist(sys,w) nyquist(sys1,sys2,...,sysN) nyquist(sys1,sys2,...,sysN,w) [re,im,w,sdre,sdim] = nyquist(sys)
Primer
nyquist(G)
Nyquist Diagram
Real Axis
Imagin
ary
Axis
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0-10
-8
-6
-4
-2
0
2
4
6
8
10
![Page 80: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/80.jpg)
Poređenje Nikvistovih dijagrama za razne vrednosti pojačanja K
K1 = 0.5; G1=G*K1; K2 = 1; G2 = G*K2; K3=2; G3 = G*K3; K4=4; G4 = G*K4; nyquist(G1,'b',G2,'r',G3,'g', G4,':'), title(Nikvistov dijagram'), legend('K = 0.5','K = 1','K =2', 'K =2.5' )
-2.5 -2 -1.5 -1 -0.5 0
-8
-6
-4
-2
0
2
4
6
8
Nikvistov dijagram
Real Axis
Imagin
ary
Axis
K = 0.5
K = 1
K =2
K =4
![Page 81: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/81.jpg)
REGULATORI pidtune, pidtool pid, pidstd String Type Continuous-Time Controller Formula
(parallel form)
'p' Proportional only Kp
'i' Integral only
'pi' Proportional and integral
'pd' Proportional and derivative
'pdf' Proportional and derivative with first-order filter on
derivative term
'pid' Proportional, integral, and derivative
'pidf' Proportional, integral, and derivative with first-
order filter on derivative term
![Page 82: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/82.jpg)
Primer.
sys = zpk([],[-1 -1 -1],1); [C_pi,info] = pidtune(sys,'pi') T_pi = feedback(C_pi*sys, 1); step(sys,T_pi), legend('Bez PI','Sa PI') C_pi = 1 Kp + Ki * --- s with Kp = 1.14, Ki = 0.454 Continuous-time PI controller in parallel form. info = Stable: 1 CrossoverFrequency: 0.5205 PhaseMargin: 60.0000 0 2 4 6 8 10 12 14
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Am
plit
ude
Bez PI
Sa PI
![Page 83: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/83.jpg)
[C_pid,info] = pidtune(sys,'pid'), T_pid = feedback(C_pid*sys, 1); [C_pidf,info] = pidtune(sys,'pidf'), T_pidf = feedback(C_pidf*sys, 1); step(sys,T_pi, T_pid, T_pidf), legend('Bez PI','Sa PI', 'Sa PID', 'Sa PIDF') C_pid = 1 Kp + Ki * --- + Kd * s s with Kp = 2.18, Ki = 0.921, Kd = 1.29 Continuous-time PID controller in parallel form. info = Stable: 1 CrossoverFrequency: 0.8250 PhaseMargin: 60.0000
0 2 4 6 8 10 12 140
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (seconds)
Am
plit
ude
Bez PI
Sa PI
Sa PID
Sa PIDF
![Page 84: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/84.jpg)
C_pidf = 1 s Kp + Ki * --- + Kd * -------- s Tf*s+1 with Kp = 2.17, Ki = 0.913, Kd = 1.28, Tf = 0.0106 Continuous-time PIDF controller in parallel form.
![Page 85: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/85.jpg)
Konverzija regulatora u standardni oblik i obrnuto (pid, pidstd)
pidstd(C_pid)
ans = 1 1 Kp * (1 + ---- * --- + Td * s) Ti s with Kp = 2.18, Ti = 2.36, Td = 0.591
Continuous-time PID controller in standard form
pidstd(C_pidf)
ans = 1 1 s Kp * (1 + ---- * --- + Td * ---------------) Ti s (Td/N)*s+1 with Kp = 2.17, Ti = 2.37, Td = 0.588, N = 55.5 Continuous-time PIDF controller in standard form
![Page 86: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/86.jpg)
PROJEKTNE ALATKE
ltiview – analiza lineatnih stacionarnih sistema
sisotool – podešavanje parametara kompenzatora
pidtool – projektovanje PID regulatora
ident – identifikacija sistema
![Page 87: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/87.jpg)
ltiview – analiza lineatnih stacionarnih sistema
![Page 88: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/88.jpg)
sisotool – podešavanje parametara kompenzatora
![Page 89: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/89.jpg)
![Page 90: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/90.jpg)
pidtool – projektovanje PID regulatora
![Page 91: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/91.jpg)
ident – identifikacija sistema
![Page 92: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/92.jpg)
IV. SIMULINK
Grafičko okruženje bazirano na bok dijagramima
Namenjeno za:
- modelovanje,
- simulaciju i
- projektovanje dinamičkih sistema
- automatsko generisanje programskog koda
![Page 93: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/93.jpg)
Editor Simulink modela
![Page 94: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/94.jpg)
Biblioteke blok dijagrama u Simulinku
![Page 95: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/95.jpg)
Primer 1. Napraviti simulacioni model u Simulinku sistema koji je prikazan na sledećoj slici. Parametri sistema su: masa 1 2m , krutost opruge 1 3k i
koeficijent trenja 1 3b . Za početne vrednosti uzeti (0) 1x u odnosu na
ravnotežni položaj i (0) (0) 0x v . Pobudna funkcija je: a) sinusna amplitude 1 i kružne učestanosti 2rad/s, b) pravougaono periodična amplitude 2 i periode 5,
c)
0, 1
2.5, 1 2
0, 2
t
f t t
t
m1 k1 u(t)
x1
b1
![Page 96: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/96.jpg)
Rešenje.
Matematički model sistema: 1 1 1 1 1 1m x b x k x u
Rešenje po najvećem izvodu: 1 11 1 1
1 1 1
u b kx x x
m m m
Zadavanje vrednosti parametara blokova u Comand Window:
m1=2;
k1=3;
b1=3;
vremesimulacije = 10; % trajanje simulacije
![Page 97: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/97.jpg)
Simulacioni dijagram u editoru.
Za vreme trajanja simulacije staviti promenljivu vremesimulacije. Za početne uslove u integratorima staviti odgovarajuće početne uslove iz zadatka.
![Page 98: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/98.jpg)
Simulacioni dijagram eksportovan preko Clopboard-a
![Page 99: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/99.jpg)
Rezultat simulacije (Scope blok)
![Page 100: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/100.jpg)
Primer 2. Napraviti simulacioni model sledećeg sistema ako je poznato:
1 2m , 1 3k , 1 3b , 2 1m , 2 1k . Za početne vrednosti izabrati 1(0) 1x i
2 (0) 2x u odnosu na ravnotežni položaj i 1 2(0) (0) 0x x . Pobuda je
0, 1
1.5, 1 2
0, 2
t
u t t
t
Matematički model sistema:
1 1 1 1 1 1 2
2 2 2 2 2 2 1 1 2 2
( ) ( )
( ), 0
m x b x k x x u t
m x b x k x k x x b
m2 m1 k2 k1 u(t)
x2 x1
b1 b2
![Page 101: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/101.jpg)
Rešenje po najvećim izvodima:
1 1 11 1 1 2
1 1 1 1
2 2 1 12 2 2 1 2
2 2 2 2
2 1 1 22 1 2 2
2 2 2
, 0
b k k ux x x x
m m m m
b k k kx x x x x
m m m m
b k k kx x x b
m m m
Zadavanje vrednosti parametara blokova u Comand Window:
m1=2; k1=3; b1=3
m2=1; k2=1; b2=0
vremesimulacije = 10; % trajanje simulacije
![Page 102: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/102.jpg)
Simulacioni dijagram. Za početne uslove u integratorima staviti odgovarajuće početne uslove iz zadatka.
( )u t
![Page 103: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/103.jpg)
Rezultat simulacije (Scope blok)
x1(t) x2(t)
![Page 104: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/104.jpg)
Primer 3. Odrediti linearni (linearizovani) model u prostoru stanja za sistem iz prethodnog primera.
Rešenje. Pobudne funkcije u modelu se zamene „In“ ulaznim blokovima. Takođe, Izlazi modela se zamene sa „Out“ blokovima. U našem primeru „Signal builder“ se zameni sa „In“ blokom, dok se „Scope“ i „Scope1“ zamene sa „Out1“ i „Out2“.
![Page 105: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/105.jpg)
Odredjivanje radne (ravnotezne) tačke
[x,u,y] = trim('SimZad2Lin');
x = 0 0 0 0 u = 0 y = 0
0
SimZad2Lin je naziv modela sistema u Simulinku.
![Page 106: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/106.jpg)
Odredjivanje linearnog modela u prostoru stanja
[A,B,C,D] = linmod('SimZad2Lin',x,u)
A = 0 0 1.0000 0 0 0 0 1.0000 -1.5000 1.5000 -1.5000 0 3.0000 -4.0000 0 0 B = 0 0 0.5000 0 C = 1 0 0 0 0 1 0 0 D = 0
0
![Page 107: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/107.jpg)
Formiranje linearnog modela u prostoru stanja
S=ss(A,B,C,D)
S = a = x1 x2 x3 x4 x1 0 0 1 0 x2 0 0 0 1 x3 -1.5 1.5 -1 0 x4 3 -4 0 0
b = u1 x1 0 x2 0 x3 0.5 x4 0 c = x1 x2 x3 x4 y1 1 0 0 0 y2 0 1 0 0 d = u1 y1 0
y2 0
![Page 108: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/108.jpg)
Funkcija prenosa sistema
G=tf(S)
G = From input to output... 0.5 s^2 + 2 1: -------------------------------------- s^4 + s^3 + 5.5 s^2 + 4 s + 1.5 1.5 2: ------------------------------------- s^4 + s^3 + 5.5 s^2 + 4 s + 1.5
![Page 109: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/109.jpg)
Poređenje sa teorijskim rezultatom:
Sa simulacionog dijagrama ili iz:
1 1 11 1 1 2
1 1 1 1
2 2 1 12 2 2 1 2
2 2 2 2
2 1 1 22 1 2 2
2 2 2
, 0
b k k ux x x x
m m m m
b k k kx x x x x
m m m m
b k k kx x x b
m m m
usvajanjem četiri nove promenljive:
1 1 3 1 2 2 4 2, , ,z x z x z x z x
sledi:
![Page 110: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/110.jpg)
1 3
2 4
1 1 13 3 1 2
1 1 1 1
2 1 1 24 4 1 2
2 2 2
z z
z z
b k k uz z z z
m m m m
b k k kz z z z
m m m
, 1
0 0
1
2
00
00
u
mB
1 1
2 2
y z
y z
1 0 0 0
0 1 0 0C
, 0
0D
1 1 1
1 1 1
1 1 2 2
2 2 2
0 0 1 0 0 0 1 00 0 1 0
0 0 0 1 0 0 0 10 0 0 1
3 3 20 3 301 02 2 2
2 23 4 0
3 4 0 00 01 1 1
k k bA
m m m
k k k b
m m m
![Page 111: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/111.jpg)
Primer 4. Napraviti u Simulinku simulacioni diagram punjenja i pražnjenja rezervoara koji je prikazan na slici. Isticanje tečnosti definisano je sledećim
izrazom: ( ) ( )iq t k h t . Na bazi dobijenog modela kreirati model u obliku
podsistema. Rešenje. Model sistema
( )
( ) ( )u i
dh tA q t q t
dt
( ) ( )iq t k h t
uq
iq
A
h
![Page 112: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/112.jpg)
Simulacioni dijagram
![Page 113: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/113.jpg)
Formiranje simulacionog dijagrama podsistema
Pobudne funkcije u modelu se zamene „In“ ulaznim blokovima. Takođe, Izlazi modela se zamene sa „Out“ blokovima. Označe se ulaz sa Qu(t) i izlati sa h(t) i Qi(t) (videti sliku).
![Page 114: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/114.jpg)
Iz menija se „Diagram“ bira se opcija „Subsistem & Model Reference“, a potom „Create Subsistem from Selection“. Imenuje se novodobijeni blok („Rezervoar“ u ovom primeru). Obrišu se „In“ i „Out“ blokovi i dobija se sledeći blok, koji se dalje može koristiti kao regularni model rezervoara. Ovaj blok ima jedan ulaz i dva izlaza
![Page 115: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/115.jpg)
Primer 5. Kreirati simulacioni diagram punjenja i pražnjenja dva kaskadno vezana rezervoara prikazana na slici. Isticanje tečnosti definisano je sledećim
izrazima: 2 1( ) ( )q t k h t i
4 2 2( ) ( )q t k h t . Ulazni protok je pravougaono
periodična funkcija amplitude 2, širine 1 i periode 2. Poznato je 1 2A , 1 1k ,
2 1A i 2 2k . Početna stanja visina rezervoara su 1(0) 2h i 1(0) 1h .
Rešenje. Model sistema
11 1 2
( )( ) ( )
dh tA q t q t
dt
22 3 4
( )( ) ( )
dh tA q t q t
dt
3 2q q
2 1( ) ( )q t k h t
4 2 2( ) ( )q t k h t
3q
4q
2A
2h
1q
2q
1A
1h
![Page 116: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/116.jpg)
Podsistem
Simulacioni dijagram. Za pošetne uslove u integratorima staviti promenljive h10 i h20.
![Page 117: I. UVOD U SOFTVERSKI PAKET MATLAB - tf.ni.ac.rs · TOOLBOX Kolekcija (biblioteka) izabranih funkcija namenjena rešavanju problema određenje oblasti. Proširuju mogućnosti Matlab-a](https://reader030.vdocuments.site/reader030/viewer/2022040706/5e06c898d34aa319af32cffa/html5/thumbnails/117.jpg)
Zadavanje vrednosti parametara blokova u Comand Window: A1=2; k1=1; h10=2; A2=1; k2=2; h20=1; vremesimulacije = 10; % trajanje simulacije
Rezultat simulacije