Professional Documents
Culture Documents
Folie
Folie
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë
MATLAB
J
I
◦
•
Përdorimi ◦
dhënja interaktive e urdhërave,
skript programe (’batch file’),
funksionet (variablat lokale, parametrat, dhe vlerat kthyese të funksioneve).
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 2/23
Skript Programe
J
I
◦
•
Skript programe = MATLAB batch skedarë. ◦
Komentimi i kodit me %
Pas çdo urdhëri një pikë presje opcionale,
pa këtë pikë presje rezultati paraqitet në ekran, që në raste të matricave të
mëdha mund zgjasë.
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 3/23
Skript Programet vazhd.
J
I
◦
•
Shembull: skedari test1.m : ◦
% Koment
% vendosja e variablave
x = 3 ;
y = 2 ;
% pa ; shfaqet dalja ne ekran
a = x + y
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 4/23
Funksionet
J
I
Rreshti i parë në skedarë ◦
•
function [outPara1, outPara2, ...] = myFunc( inPara1, ◦
inPara2, ... )
Ruhet si myFunc.m p.sh.
function [dalja] = myFunc( hyrja )
% komente mbi parametrat hyres, dales
% keto rreshta do te paraqiten ne ekran
% nese thirret
% help myFunc
<-------- se paku nje rresht i zbrazet
% komente tjera mbi programin
dalja = hyrja - hyrja ;
Indeksat fillojnë me 1
Nëse kufinjët e indekseve tejkalohen, matricat përshtatet automatikisht.
0 0 0 0
MATLAB>> A(3,1) = 2 →A= 0 0 5 0
2 0 0 0
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 8/23
Programimi
J
I
◦
•
while loop , ◦
while kushti
.....
end
një shembull
a = 0 ;
while (a < 10 )
a = a + 1 ;
end
if-else bloqet,
if kushti
.....
else kushti
....
else
....
end- Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtinë
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB 9/23
Programimi, vazhd.
J
I
◦
•
for loop , ◦
një shembull
for x = 1:10
x
end
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 10/23
Vektorizimi - Optimizimi i Programit
J
I
◦
•
for ciklet egzekutohen jo me efiçiencë ⇒ for ciklet të mos përdoren nësë është ◦
e mundur.
Në vend që për secilin element veq e veq të kryhet një operacion, operacioni
kryhet njëherë në tërë vektorin, p.sh.
x = 1:10 ;
y = sqrt(x) ;
në vend të
for x = 1:10 ;
y = sqrt(x) ;
end
Shumëzimi (*), pjestimi (/ ) dhe fuqizimi (ˆ) vendoset një pikë (.) para operatorit
p.sh. A = ( 1:4 ).ˆ2 → A = (1 4 9 16).
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 11/23
Vizualizimi
J
I
2D Plots, 3D Plots, Imazhet ... ◦
•
2D Plots 3D Plots Imazhet ◦
N=100 pike
1 N=45 pike
0.8
0.6
1
0.4 0.8
0.6
0.2
0.4
0
0.2
−0.2 0
−0.2
−0.4
−0.4
10
−0.6
5 10
5
−0.8 0
0
−5
−5
−1
0 1 2 3 4 5 6 7 −10 −10
0.8 0.8
0.6 0.6
1
0.6
0.2 0.2
0.4
0 0
0.2
−0.2 0 −0.2
−0.2
−0.4 −0.4
−0.4
10
−0.6 −0.6
5 10
5
−0.8 0 −0.8
0
−5
−5
−1 −1
0 1 2 3 4 5 6 7 −10 −10 0 1 2 3 4 5 6 7
0.8 0.8
0.6 0.6
1
0.6
0.2 0.2
0.4
0 0
0.2
−0.2 0 −0.2
−0.2
−0.4 −0.4
−0.4
10
−0.6 −0.6
5 10
5
−0.8 0 −0.8
0
−5
−5
−1 −1
0 1 2 3 4 5 6 7 −10 −10 0 1 2 3 4 5 6 7
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 12/23
Vizualizimi - 2D Plots
J
I
◦
•
plot(x,y) : Vizatimi i çiftit (xi , yi ) ◦
MATLAB>> t = 0:0.1:2*pi ;
MATLAB>> y = sin( t ) ;
MATLAB>> plot(x,y)
MATLAB>> title(’N=100 pike’)
N=100 pike
1
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 13/23
Vizualizimi - 2D Plots vazhd.
J
I
◦
•
Ngjyra dhe stili i vijës : plot( x, y, ’format’) ; ◦
shiqo help plot.
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 14/23
Vizualizimi - 3D Plots
J
I
◦
•
mesh(x,y,z) : Vizatimi i çiftit (xi , yi , zi ) ◦
MATLAB>> x = ... ;
MATLAB>> y = ... ;
MATLAB>> z=f(x,y) ;
MATLAB>> mesh( x, y, z )
Shembull:
MATLAB>> x =linspace( -10, 10, 45) ; → x = (−10, ..., 10), ka 40
elemente, analog y.
−10 ... 10
MATLAB>> [x, y] = meshgrid( x, y ) ; → x = .
. .
−10 ... 10
y është i njëjtë.
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 15/23
Vizualizimi - 3D Plots vazhd.
J
I
◦
•
MATLAB>> r = sqrt( x.ˆ2 + y.ˆ2 )+ 0.1 ; ◦
MATLAB>> z = sin(r)./r ; %sinc function
MATLAB>> mesh( x, y, z )
N=45 pike
0.8
0.6
0.4
0.2
−0.2
−0.4
10
5 10
5
0
0
−5
−5
−10 −10
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 16/23
Vizualizimi - Imazhet
J
I
◦
•
imshow( I, [] ): paraqet matricën I si një imazh, ku vlera më e vogel në ◦
matrice i konsiderohet ngjyrës së zezë, dhe më e madhja të bardhës.
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 17/23
Vizualizimi - Imazhet vazhd.
J
I
◦
•
Shembull: ◦
a) b)
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 18/23
Paraqitja e më Shume Imazheve - Shtresimi
J
I
◦
•
figure<n>: zgjedhë dritaren <n> si dritare për paraqitur vizatimin (nësë kjo ◦
dritare nuk egziton do të krijohet një dritare e re).
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 19/23
Shtresimi vazhd.
J
I
◦
•
Shembull: ◦
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 20/23
Paraqitja e më Shumë Imazheve - Subplots
J
I
◦
•
subplot( x, y, index ): ndanë dritaren në y × x pjesë (nën dritare). ◦
1 2 n
n+1
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 21/23
Shtresimi vazhd.
J
I
◦
MATLAB>> subplot( 4, 1, 1 ) •
◦
MATLAB>> plot( x1, y1 )
MATLAB>> title(’...’)
MATLAB>> .....
MATLAB>> subplot( 4, 1, 2 )
MATLAB>> plot( x1, y2 )
MATLAB>> title(’...’)
MATLAB>> .....
MATLAB>> .....
MATLAB>> subplot( 4, 1, 4 )
MATLAB>> plot( x4, y4)
MATLAB>> title(’...’)
0.8 0.8
0.6 0.6
1 1
0.6 0.6
0.2 0.2
0.4 0.4
0 0
0.2 0.2
−0.2 0 −0.2 0
−0.2 −0.2
−0.4 −0.4
−0.4 −0.4
10 10
−0.6 −0.6
5 10 5 10
5 5
−0.8 0 −0.8 0
0 0
−5 −5
−5 −5
−1 −1
0 1 2 3 4 5 6 7 −10 −10 0 1 2 3 4 5 6 7 −10 −10
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 22/23
Më Shumë Informata?
J
I
◦
•
◦
http://www.prip.tuwien.ac.at/˜yll/BPI/docs.html
http://www.mathworks.com/
Manipulimi Numerik i Matricave dhe Vektorëve në MATLAB - Ushtrime nga Bazat e Imazh Procesimit, SD 2003, Prishtin ë 23/23