1. HYRJE NË MATLAB
Bazat e Kontrollit Automatik
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-2010 1
2. Për çfarë shërben ky Leksion
• të japë informacionet e nevojshme për
përdorimin e Matlab e Simulink në punët
Laboratorike të Kontrollit Automatik;
• të japë një panoramë të përgjithshme (jo
të gjithën) te mundësive te Matlab per
formulimin dhe zgjidhjen e problemeve te
kontrollit automatik.
28/10/12 G. Karapici - Hyrje në MATLAB 2 Viti Akademik 200
3. Ku mund të gjenden informacione të tjera?
• Faqja web e Mathworks:
www.mathworks.com
duke ndjekur linket në zërin “support” ka
mundësi të gjenden manuale të Matlab në
format pdf:
http://www.mathworks.com/access/helpdesk/h
28/10/12 G. Karapici - Hyrje në MATLAB 3 Viti Akademik 200
4. Argumentet e trajtuara
• Përshkrim i përgjithshëm i Matlab
• Tabloja e funksioneve të përcaktuara
• Përcaktimi i matricave dhe vektorëve
• Përcaktimi i polinomeve
• Paraqitja e sistemeve dinamike lineare
• Analiza e sistemeve të kontrollit
• Paraqitja grafike e të dhënave
• Ambienti i simulimit Simulink
28/10/12 G. Karapici - Hyrje në MATLAB 4 Viti Akademik 200
5. Përshkrimi i përgjithshëm i MATLAB
• MATLAB ( = MATrix LABoratory):
• një gjuhë programimi për aplikime shkencore
numerike
• Një gamë e gjerë funksionesh të përcaktuara
• Interpretues i komandave
• mundësi për të shkruar funksione të reja
• libraria e TOOLBOX për aplikime të ndryshme;
p.sh.(Signal Processing, Analiza dhe sinteza e
rregullatorëve,…).
28/10/12 G. Karapici - Hyrje në MATLAB 5 Viti Akademik 200
6. Ndërfaqja e MATLAB-it
• Ndërfaqja e përdoruesit : Komanda Window jep
akses direkt në interpretuesin (shkrimi direkt i
komandave).
28/10/12 G. Karapici - Hyrje në MATLAB 6 Viti Akademik 200
7. MATLAB si kalkolatriçe
• Mënyra më e thjeshtë për vlerësimin e
shprehjeve numerike’.
• Shembull: për llogaritjen e shprehjes
4 + 2 − sin( 0.2 * π )2 + e 2
Mjafton që të shkruajmë me shfaqjen e prompt »:
» 4 + sqrt(2) -sin(0.2*pi)^2 + exp(2)
ans=12.4578
Rezultati shkruhet në variablin ans.
28/10/12 G. Karapici - Hyrje në MATLAB 7 Viti Akademik 200
8. Përcaktimi i variablave
• Mund të përcaktohen variabla dhe shprehje jo
numerike më të ndërlikuara.
• Shembull:
» a=4; b=2;
» a*b
ans =
8
• Për të fshirë një variabël (p.sh. a):
» clear a
28/10/12 G. Karapici - Hyrje në MATLAB 8 Viti Akademik 200
9. Workspace
• Çdo variabël i përcaktuar në këtë mënyrë ruhet
në kujtesë, në Workspace.
• Komanda whos tregon një listë variablash të
përcaktuar:
» whos
Name Size Bytes Class
a 1x1 8 double
array
ans 1x1 8 double
array
b 1x1 8 double array
Totali është 3 elementaHyrje në MATLAB 24 bytes
28/10/12 G. Karapici - që përdorin 9 Viti Akademik 200
10. Leximi dhe shkrimi në file
• Me anën e komandave load dhe save është e
mundur të ruhen në file variablat e workspace.
• load emërfile variabli1 variabli2 ...ngarkon nga file
emërfile.mat variablat sipas listës.
• save emërfile variabli1 variabli2 ... shkruan në filën
emërfile.mat variablat sipas listës.
• load emërfile ngarkon të gjitha variablat në emërfile
• save emërfile ruan të gjithë workspace në emërfile.
28/10/12 G. Karapici - Hyrje në MATLAB 10 Viti Akademik 200
11. Shembuj funksionesh të përcaktuara
Funksione trigonometrike (sin, cos,
tan, acos, asin, atan…);
Eksponenciale e logaritmike (exp,
log, log10, sqrt…);
Numra komplekse (abs moduli,
angle faza, real pjesa reale,
imag pjesa imagjinare…);
28/10/12 G. Karapici - Hyrje në MATLAB 11 Viti Akademik 200
12. Disa shembuj të thjeshtë
• Llogaritja e modulit të numrit kompleks 2+3i:
» abs(2+3*i)
ans =
3.6056
2 + 3i
• Llogaritja e 20 log10 ÷
4 + 6i
» 20*log10(abs((2+3*i)/(4+6*i)))
ans =
-6.0206
28/10/12 G. Karapici - Hyrje në MATLAB 12 Viti Akademik 200
13. Inf & NaN
• Disa operacione numerike mund të shkaktojnë
probleme, që sinjalizohen nga Matlab duke
shkruajtur si rezultat variablat Inf e NaN.
• Shembuj:
» 5/0 » 0/0
Warning: Warning:
Divide by zero Divide by zero
ans = Inf ans = NaN
28/10/12 G. Karapici - Hyrje në MATLAB 13 Viti Akademik 200
14. Një funksion themelor
help
• help i ndjekur nga emri i një funksioni jep
përshkrimin dhe sintaksën e përdorimit të
atij funksioni;
• help “vetëm” jep listën e të GJITHË
funksioneve të Matlab, të rreshtuara sipas
kategorive.
28/10/12 G. Karapici - Hyrje në MATLAB 14 Viti Akademik 200
15. Përcaktimi i matricave
• Si përcaktohet një matricë në Matlab?
Shembull: të përcaktohet matrica 2x2 1 2
A=
» A=[1,2;3,4] 3 4
A= 1 2
3 4
• Si arrihen elementet e një matrice:
» A(1,2)
ans =2 Indekset (rreshti e kolona) e elementit me interes
28/10/12 G. Karapici - Hyrje në MATLAB 15 Viti Akademik 200
16. Wildcard
• Për marrjen e vlerave të një rreshti ose kollone
të një matrice, përdoret wildcard:
wildcard
• Shembull.: të zgjidhet rreshti i parë i matricës A
» A(1,:)
ans =
1 2
• Shembull.: të zgjidhet kolona e dytë e matricës A
» A(:,2)
ans =
2
4
28/10/12 G. Karapici - Hyrje në MATLAB 16 Viti Akademik 200
17. Përzgjedhja e nënmatricave
• Në se përcaktojmë:
» B=[1,2,3;4,5,6]
B=
1 2 3
4 5 6
• Do të kemi:
» B(1:2,2:3)
ans =
Indekset e nënmatricës me interes
2 3
5 6
28/10/12 G. Karapici - Hyrje në MATLAB 17 Viti Akademik 200
18. Operacione elementare me matrica
• Përcaktohen operatorët: +,-,* e ^.
• Matrica e trasponuar:
» A’
ans =
1 3
2 4
• Matrica inverse:
» inv(A)
ans =
-2.0000 1.0000
1.5000 -0.5000
28/10/12 G. Karapici - Hyrje në MATLAB 18 Viti Akademik 200
19. Operacione elementare me matrica (2)
• Determinanti:
» det(A)
ans =
-2
• Vlerat e veta:
» eig(A)
ans =
-0.3723
5.3723
28/10/12 G. Karapici - Hyrje në MATLAB 19 Viti Akademik 200
20. Operacione të tjera
Kujdes: NUK deklarohen paraprakisht
dimensionet e një matrice.
matrice
Operacione të tjera :
size llogarit dimensionet e një matrice
rank llogarit rangun e një matrice
trace llogarit gjurmën e një matrice
norm llogarit normën e një matrice
28/10/12 G. Karapici - Hyrje në MATLAB 20 Viti Akademik 200
21. Disa matrica të veçanta
eye(n,n) matricë njësi n*n;
zeros(n,m) matricë me zero n*m;
ones(n,m) matricë di uni n*m;
rand(n,m) matricë n*m me elemente të
shpërndarë uniformisht midis 0 dhe 1.
28/10/12 G. Karapici - Hyrje në MATLAB 21 Viti Akademik 200
22. Vektorët
Vektorët kanë dy funksione themelore në Matlab:
përfaqësojnë polinome (një polinom përshkruhet
nga vektori i koefiçientëve të tij);
përfaqësojnë sinjale (një sinjal përfaqsohet nga
një seri vlerash që ai merr në një bashkësi
çastesh të kohës, pra nga një vektor)
28/10/12 G. Karapici - Hyrje në MATLAB 22 Viti Akademik 200
23. Përcaktimi i vektorëve
• » v=(0:10)
v =0 1 2 3 4 5 6 7 8 9 10
• » v=(1:0.5:3)
v =1.0000 1.5000 2.0000 2.5000 3.0000
Vlera Hapi Vlera finale
fillestare
28/10/12 G. Karapici - Hyrje në MATLAB 23 Viti Akademik 200
24. Përcaktimi i matricave (2)
1. Matrica rresht ose kolonë:
» v=[3 6 1 7]
v=
3 6 1 7
2. Polinome: paraqiten si vektorë:
Sh. 2
3s + 2 s + 1
» pol=[3 2 1]
pol =
3 2 1
28/10/12 G. Karapici - Hyrje në MATLAB 24 Viti Akademik 200
25. Operacione me polinome
llogaritja e rrënjëve roots
3s + 2 s + 1 = 0
2
» roots (pol)
ans =
-0.3333 + 0.4714i
-0.3333 -0.4714i
Vlerësimi në një pikë polyval
» polyval (pol,0)
ans =
1
28/10/12 G. Karapici - Hyrje në MATLAB 25 Viti Akademik 200
26. Operacione me polinome (2)
Shumzimi i polinomeve conv
Shembull:
( s + 1) ×( s + 1) = s 2
+ 2s + 1
» pol1=[1 1];pol2=[1 1];
» polprod=conv(pol1,pol2)
polprod =
1 2 1
28/10/12 G. Karapici - Hyrje në MATLAB 26 Viti Akademik 200
27. Sisteme Dinamike Lineare
• Nje sistem dinamik linear invariant mund
te pershkruhet:
• Ne formen e variablave te gjendjes me anen e
kater matricve A,B,C,D;
• Ne formen e funksionit transmetues, me anen
e dy polinomeve N(s) e D(s).
• Matlab pranon percaktimin e sistemeve
lineare ne dy menyrat e mesiperme
28/10/12 G. Karapici - Hyrje në MATLAB 27 Viti Akademik 200
28. Përcaktimi i sistemeve dinamike lineare
(të vijueshëm në kohë)
• Me ane te ekuacioneve te gjendjes
– Përcaktohen matricat A,B,C,D ne workspace;
– Përcaktohet sistemi i hapur me anën e
komandës
ss (A,B,C,D).
• Me anën e funksionit transmetues
– Përcaktohen polinomet numërues e emërues
(numëruesi dhe emëruesi i FT) ne workspace;
– Përcaktohet sistemi i hapur me anën e
komandes
28/10/12 tfG. Karapici - Hyrje në MATLAB ) 28 Viti Akademik 200
(numërues,emërues
29. Shembull 1
» A=-3;B=3;C=4;D=2;
» sistemi i
hapur=ss(A,B,C,D)
• Jepet sistemi i hapur:
a=
x = −3 x + 3u
& x1
x1 -3
y = 4 x + 2u
b=
u1
x1 3
c=
x1
y1 4
d=
u1
y1 2
28/10/12 G. Karapici - Hyrje nëModeli i sistemi i hapurt të
MATLAB 29 Viti Akademik 200
vijueshëm
30. Shembuj (2)
sistemi i hapur ka funksion transmetues:
s +1
G ( s) = 2
s + 3s + 16
» num = [1 1]; em = [1 3 16];
» sistemi i hapur = tf (num,em)
Transfer function:
s+1
--------------
s^2 + 3 s + 16
28/10/12 G. Karapici - Hyrje në MATLAB 30 Viti Akademik 200
31. Lidhja e sistemeve
• Për hallkat e sistemeve lineare përdoren
operatori normalë: +,*,/ me kuptimet:
+ lidhje në paralel;
* lidhje në seri;
/ lidhja e kundërt.
28/10/12 G. Karapici - Hyrje në MATLAB 31 Viti Akademik 200
32. Shembuj lidhjesh sistemesh
g1=ft(num1,em1)…….
num1=[1,2,3 ]
rrdrejtë = g1*g2; S_hapur =rrdrejtë*g3
S_mbyllur = rrdrejtë/(1+ S_hapur)
28/10/12 G. Karapici - Hyrje në MATLAB 32 Viti Akademik 200
33. Simulimi i sistemeve lineare
Funksionet e gatëshme per simulim:
• impulse - simulim i përgjigjes ndaj ngacmimit impulsit
• step - simulim i përgjigjes ndaj ngacmimit shkallë;
• initial - simulim i lëkundjeve të lira;
• lsim - simulim me hyrje dhe gjendje fillestare çfarëdo.
Sintaksa:
» [y,t]=step (sistemi i hapur);
Vektori i vlerave të hyrjes
» [y,x]=lsim (sistemi i hapur,u,t);
Vektori i kohëve
28/10/12 G. Karapici - Hyrje në MATLAB 33 Viti Akademik 200
34. Shembull
» sistemi i hapur=tf(1,
[1 1]);
» t=(0:0.01:5);
» u=sin(2*pi*2*t);
» y=lsim(sistemi i
hapur,u,t);
» plot(t,y)
28/10/12 G. Karapici - Hyrje në MATLAB 34 Viti Akademik 200
35. Analiza e sistemeve të kontrollit
Për problemet e kontrollit të sistemeve lineare
invariante NHND (SISO) egzistojnë funksionet:
1) bode (sistemi i hapur)
Vizaton diagramat Bode;
1) margin (sistemi i hapur)
Si bode por llogarit the ωkr, rezervën në fazë dhe
amplitudë;
1) nyquist (sistemi i hapur)
Vizaton diagramin Nyquist (KAF);
1) rlocus (sistemi i hapur)
Vizaton Vendin Gjeometrik të Rrënjëve (VGjR);
28/10/12 G. Karapici - Hyrje në MATLAB 35 Viti Akademik 200
38. Paraqitja grafike
I. Grafikët 2D:
– Në shkallë lineare:
• plot(x,y) vizaton grafikun e pikave me
– Abcisa elementët e vektorit x
– Ordinata elementët e vektorit y
– Në shkallë gjysëmlogaritmike o logaritmike:
• semilogx, semilogy, loglog e njejta sintakse si plot
– Diagrama polare:
• polar
28/10/12 G. Karapici - Hyrje në MATLAB 38 Viti Akademik 200
39. Paraqitja grafike
II. Funksione të tjera të dobishme:
– Ndryshimi i shkallës
– axis([xmin,xmax,ymin,ymax])
– Mbivendosje e shumë grafikëve
– hold
– Vendosja e rrjetës në grafik
– grid
– Titulli dhe etiketat e boshteve
– title (‘..’), xlabel(‘..’), ylabel(‘..’)
– shumë’ grafikë në një dritare
– subplot
– Vendosja e një teksti në figurë
– gtext
28/10/12 G. Karapici - Hyrje në MATLAB 39 Viti Akademik 200
40. Paraqitja grafike
• Grafikë 3D, animime, rendering: shih
manualin e Matlab-it!
28/10/12 G. Karapici - Hyrje në MATLAB 40 Viti Akademik 200
41. Ambienti SIMULINK
Simulink: një ambient grafik për simulimin e
sistemeve komplekse.
Përse nuk mjafton Matlab?
Shpesh është e nevojshme të simulohen sisteme
komplekse, të përbërë nga blloqe të shumtë të lidhura
ndërmjet tyre;
Shpesh blloqe të veçantë janë jolinearë;
Në një sistem mund të jenë të integruara hallka të
vijueshme dhe diskrete.
28/10/12 G. Karapici - Hyrje në MATLAB 41 Viti Akademik 200
42. Parimi i funksionimit
Simulink përmban një librari blloqesh që
përshkruajnë elemente statikë e dinamikë
elementarë;
Përdoruesi kompozon bllokskemën e sistemi
i hapurt që do të simulohet duke lidhur
blloqet elementare;
Simulink gjeneron automatikisht ekuacionet
dhe zgjidh problemin numerik të simulimit të
dëshiruar.
28/10/12 G. Karapici - Hyrje në MATLAB 42 Viti Akademik 200
43. Parimi i funksionimit (2)
Simulink bashkëvepron me Matlab nëpërmjet
Workspace
Modelet e Simulink-ut mund të përmbajnë variabla
të Workspace;
Rezultati i simulimeve mund të eksportohet në
Workspace e të analizohet me Matlab.
28/10/12 G. Karapici - Hyrje në MATLAB 43 Viti Akademik 200
44. Ndërfaqja grafike
Duke shtypur ‘simulink’ në
prompt-in e Matlab-it hapet
libraria e modeleve.
Prej këtu mund të krijojmë një
model të ri (fletë e bardhë) e të
kompozojmë me anë hallkash
të ndryshme sistemi i hapurn
që do të simulohet.
28/10/12 G. Karapici - Hyrje në MATLAB 44 Viti Akademik 200
45. Një model i ri
Menyja e ‘Simulink’ përmban pjesën më të madhe të
blloqeve që përdorim.
28/10/12 G. Karapici - Hyrje në MATLAB 45 Viti Akademik 200
46. Libraritë kryesore të SIMULINK
Blloqe dinamike me
kohë të vijueshme
Blloqe dinamike me
kohë të diskrete
28/10/12 G. Karapici - Hyrje në MATLAB 46 Viti Akademik 200
47. Libraritë kryesore të SIMULINK
Rezultatet në dalje Blloqet jolineare
(Sinks)
Sinjalet e hyrjes (Burimet)
28/10/12 G. Karapici - Hyrje në MATLAB 47 Viti Akademik 200
48. Shembull
• Dëshirojmë të simulojmë me Simulink sistemi i
hapurn e mëposhtëm të kontrollit që përmban një
jolinearitet:
u(t)=1(t).
28/10/12 G. Karapici - Hyrje në MATLAB 48 Viti Akademik 200
49. Blloqet që do përdoren
• Blloku ‘Transfer Function’, menu’ ‘Continuous’;
• Blloku ‘Saturation’, menu’ ‘Nonlinear’;
• Blloku ‘Sum’, menu’ ‘Continuous’;
• Blloku ‘Step’, menu’ ‘Sources’;
• Blloku ‘To Workspace’, menu’ ‘Sinks’;
• Operacionet që ndiqen janë:
• Tërhiq secilin prej blloqeve në dritaren e modelit;
• Lidhi blloqet sipas bllok skemës se dhënë të sistemi i
hapurt;
• Duhet të përcaktohen parametrat brenda secilit Bllok.
28/10/12 G. Karapici - Hyrje në MATLAB 49 Viti Akademik 200
50. Modeli dhe parametrat
Nivelet e
ngopjes
Amplituda dhe
koha e fillimit të
impulsit shkallë
Polinomet e
F. T.
28/10/12 G. Karapici - Hyrje në MATLAB 50 Viti Akademik 200
51. Parametrat e simulimit
Përdoruesi duhet të përcaktojë:
Kohën e fillimit dhe
mbarimit të simulimit;
Metodën e zgjidhjes
numerike të Solver (në se
problemi kërkon metoda të
veçanta);
Parametrat e Solver (ne
përgjithësi ato default ecin
mire…).
28/10/12 G. Karapici - Hyrje në MATLAB 51 Viti Akademik 200
52. Nisja e simulimit dhe analiza e rezultateve
plot(y) ne prompt e Matlab lejon te visualizohet rezultati i
simulimit.
28/10/12 G. Karapici - Hyrje në MATLAB 52 Viti Akademik 200
53. HYRJE NË MATLAB
Bazat e Kontrollit Automatik
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-2010 53