28/10/1228/10/12 11G. Karapici - Hyrje në MATLAB Viti Akademik 2009-2010G. Karapici - Hyrje në MATLAB Viti Akademik 2009-2010
HYRJE NË MATLABHYRJE NË MATLAB
Bazat e Kontrollit AutomatikBazat e Kontrollit Automatik
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-20102
Për çfarë shërben ky LeksionPë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 Viti Akademik 2009-20103
Ku mund të gjenden informacione të tjera?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/help/techdoc/matlab.html
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-20104
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 Viti Akademik 2009-20105
Përshkrimi i përgjithshëm i MATLABPë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 Viti Akademik 2009-20106
Ndërfaqja e MATLAB-itNdë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 Viti Akademik 2009-20107
MATLAB si kalkolatriçeMATLAB si kalkolatriçe
• Mënyra më e thjeshtë për vlerësimin e shprehjeve numerike’.
• Shembull: për llogaritjen e shprehjes
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.
222024 e+−+ )*.sin( π
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-20108
Përcaktimi i variablavePë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 Viti Akademik 2009-20109
WorkspaceWorkspace
• Çdo variabël i përcaktuar në këtë mënyrë ruhet në kujtesë, në Workspace.
• Komanda whoswhos 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 arrayTotali është 3 elementa që përdorin 24 bytes
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201010
Leximi dhe shkrimi në fileLeximi dhe shkrimi në file
• Me anën e komandave loadload dhe savesave është e mundur të ruhen në file variablat e workspace.
• loadload emërfile variabli1 variabli2 ...ngarkon nga file emërfile.mat variablat sipas listës.
• savesave emërfile variabli1 variabli2 ... shkruan në filën emërfile.mat variablat sipas listës.
• loadload emërfile ngarkon të gjitha variablat në emërfile• savesave emërfile ruan të gjithë workspace në emërfile.
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201011
Shembuj funksionesh të përcaktuaraShembuj 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 Viti Akademik 2009-201012
Disa shembuj të thjeshtëDisa shembuj të thjeshtë• Llogaritja e modulit të numrit kompleks 2+3i:
» abs(2+3*i)ans = 3.6056
• Llogaritja e
» 20*log10(abs((2+3*i)/(4+6*i))) ans =
-6.0206
10
2 320
4 6
ilog
i
+ ÷+
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201013
Inf & NaNInf & 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 Viti Akademik 2009-201014
Një funksion themelorNjë 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 Viti Akademik 2009-201015
Përcaktimi i matricavePërcaktimi i matricave• Si përcaktohet një matricë në Matlab?
Shembull: të përcaktohet matrica 2x2
» A=[1,2;3,4]A = 1 2 3 4
• Si arrihen elementet e një matrice:
» A(1,2) ans =2
1 2
3 4
=
A
Indekset (rreshti e kolona) e elementit me interes
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201016
WildcardWildcard• Për marrjen e vlerave të një rreshti ose kollone
të një matrice, përdoret wildcardwildcard:• 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 Viti Akademik 2009-201017
Përzgjedhja e nënmatricavePërzgjedhja e nënmatricave
• Në se përcaktojmë:» B=[1,2,3;4,5,6]B =
1 2 34 5 6
• Do të kemi:» B(1:2,2:3)ans =
2 35 6
Indekset e nënmatricës me interes
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201018
Operacione elementare me matricaOperacione elementare me matrica• Përcaktohen operatorët: +,-,* e ^.• Matrica e trasponuar:
» A’ans =
1 32 4
• Matrica inverse:» inv(A)ans =
-2.0000 1.0000 1.5000 -0.5000
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201019
Operacione elementare me matrica (2)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 Viti Akademik 2009-201020
Operacione të tjeraOperacione të tjeraKujdes: NUK deklarohen paraprakisht NUK deklarohen paraprakisht
dimensionet e një matricedimensionet e një matrice.
Operacione të tjera : size llogarit dimensionet e një matricerank llogarit rangun e një matricetrace llogarit gjurmën e një matricenorm llogarit normën e një matrice
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201021
Disa matrica të veçantaDisa 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 Viti Akademik 2009-201022
VektorëtVektorët
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)
Vektorët kanë dy funksione themelore në Matlab:
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201023
Vlera fillestare
Vlera finaleHapi
Përcaktimi i vektorëvePë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
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201024
Përcaktimi i matricave (2)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.
» pol=[3 2 1]pol = 3 2 1
23 2 1s s+ +
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201025
Operacione me Operacione me polinomepolinome llogaritja e rrënjëve roots
» roots (pol)
ans =
-0.3333 + 0.4714i
-0.3333 -0.4714i
Vlerësimi në një pikë polyval» polyval (pol,0)
ans =
1
23 2 1 0s s+ + =
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201026
» pol1=[1 1];pol2=[1 1];» polprod=conv(pol1,pol2)
polprod =1 2 1
Operacione me Operacione me polinomepolinome (2) (2)
( ) ( ) 21 1 2 1s s s s+ × + = + +
Shumzimi i polinomeve conv
Shembull:
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201027
Sisteme Dinamike LineareSisteme 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 Viti Akademik 2009-201028
Përcaktimi i sistemeve dinamike lineare Përcaktimi i sistemeve dinamike lineare (të vijueshëm në kohë)(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 tftf((numërues,emëruesnumërues,emërues))
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201029
Shembull 1Shembull 1
• Jepet sistemi i hapur:
3 3
4 2
x x u
y x u
= − += +
&
» A=-3;B=3;C=4;D=2;» sistemi i hapur=ss(A,B,C,D)
a = x1
x1 -3
b = u1
x1 3
c = x1
y1 4
d = u1
y1 2Modeli i sistemi i hapurt të vijueshëm
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201030
Shembuj (2)Shembuj (2)
» num = [1 1]; em = [1 3 16];
» sistemi i hapur = tf (num,em)
Transfer function:s + 1
--------------s^2 + 3 s + 16
( ) 2
1
3 16
sG s
s s
+=+ +
sistemi i hapur ka funksion transmetues:
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201031
Lidhja e sistemeveLidhja 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 Viti Akademik 2009-201032
Shembuj lidhjesh sistemeshShembuj lidhjesh sistemesh
rrdrejtë = g1*g2; S_hapur =rrdrejtë*g3S_mbyllur = rrdrejtë/(1+ S_hapur)
g1=ft(num1,em1)…….num1=[1,2,3 ]
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201033
Vektori i vlerave të hyrjes
Vektori i kohëve
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);
» [y,x]=lsim (sistemi i hapur,u,t);
Simulimi i sistemeve lineareSimulimi i sistemeve lineare
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201034
Shembull 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 Viti Akademik 2009-201035
Analiza e sistemeve të kontrollitAnaliza e sistemeve të kontrollit
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);
Për problemet e kontrollit të sistemeve lineare invariante NHND (SISO) egzistojnë funksionet:
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201038
Paraqitja grafikeParaqitja grafikeI. 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 Viti Akademik 2009-201039
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
Paraqitja grafikeParaqitja grafike
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201040
Paraqitja grafikeParaqitja grafike
• Grafikë 3D, animime, rendering: shih manualin e Matlab-it!
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201041
Ambienti SIMULINKAmbienti 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 Viti Akademik 2009-201042
Parimi i funksionimitParimi i funksionimitSimulinkSimulink përmban një librari blloqesh që përshkruajnë elemente statikë e dinamikë elementarë;PërdoruesiPërdoruesi kompozon bllokskemën e sistemi i hapurt që do të simulohet duke lidhur blloqet elementare;SimulinkSimulink gjeneron automatikisht ekuacionet dhe zgjidh problemin numerik të simulimit të dëshiruar.
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201043
Parimi i funksionimitParimi i funksionimit (2) (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 Viti Akademik 2009-201044
Ndërfaqja grafikeNdë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 Viti Akademik 2009-201045
Një model i riNjë 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 Viti Akademik 2009-201046
Libraritë kryesore të SIMULINKLibraritë kryesore të SIMULINK
Blloqe dinamike me Blloqe dinamike me kohë të vijueshmekohë të vijueshme
Blloqe dinamike me Blloqe dinamike me kohë të diskretekohë të diskrete
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201047
Libraritë kryesore të SIMULINKLibraritë kryesore të SIMULINK
Rezultatet në dalje (Sinks)
Sinjalet e hyrjes (Burimet)
Blloqet jolineare
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201048
ShembullShembull
• 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 Viti Akademik 2009-201049
Blloqet që do përdorenBlloqet 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 Viti Akademik 2009-201050
Modeli dhe parametratModeli dhe parametrat
Amplituda dhe koha e fillimit të impulsit shkallë
Nivelet e ngopjes
Polinomet e F. T.
28/10/12 G. Karapici - Hyrje në MATLAB Viti Akademik 2009-201051
Parametrat e simulimitParametrat 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 Viti Akademik 2009-201052
NisjaNisja e simulimit dhe analiza e rezultateve e simulimit dhe analiza e rezultateve
plot(y) ne prompt e Matlab lejon te visualizohet rezultati i simulimit.