Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Menjëherë pasi variablat krijohen në Matlab ato mund të përdoren gjerësisht
në veprime të ndryshme aritmetike. Në leksionin e parë të gjithë variablat që
ne përdorëm ishin numra skalar dhe veprimet aritmetike me to ishin shumë të
thjeshtë. Vargjet mund të jenë një dimensional( vektor kolonë ose vektor rresht),
dy-dimensional(vargje me rreshta dhe kolona) dhe madje me dimensione me të
mëdhaja. Në këto raste veprimet aritmetike janë shumë komplekse.
Mbledhja dhe zbritja janë veprime të thjeshta aritmetike. Veprime të tjera bazë sic
janë shumëzimi, pjestimi dhe ngritja në fuqi mund të realizohen në Matlab
në dy mënyra të ndryshme :
Duke përdorur simbolet aritmetike (*, /, \ dhe ^)
Veprimet element pas elementi. Këto veprime përdorin simbolet .*, ./, .\, .^ .
3.1 Mbledhja dhe Zbritja • Mbledhja dhe zbritja realizohet për matricat me madhësi të njejtë (të dyja
matricat duhet të kenë të njejtën nr rreshtash dhe kolonash).Nqse një nr
skalar i mblidhet ose i zbritet një matrice, ky nr i mblidhet ose i zbritet cdo
elementi të një matrice.
>> VectA=[8 5 4]; VectB=[10 2 7];
>> VectC=VectA + VectB
VectC =
18 7 11
>> A=[5 -3 8; 9 2 10]
A =
5 -3 8
9 2 10
>> B=[10 7 4; -11 15 1]
B =
10 7 4
-11 15 1
>> A-B
ans =
-5 -10 4
20 -13 9
Përcaktojme dy vektorë.
Përcaktojme VektC si shumë
të dy vektorëve.
Përcaktojme matricën A dhe B me madhësi 2
3.
Bëjmë diferencën e matricës A me matricën B.
3.2 Shumëzimi • Veprimi i shumëzimit (*) në Matlab ekzekutohet duke u
bazuar në rregullat e algjebrës lineare, që do të thotë që të kryhet veprimi i shumëzimit (A*B) nr i kolonave të matricës A duhet të jetë i barabartë me nr e rreshtave të matricës B. Rezultati është një matricë e cila ka të njejtin nr rreshtash si matrica A dhe te njejtin nr kolonash si matrica B. Shembull: Nqse matrica A(4x3) dhe B(3x2) matrica që përftohet nga veprimi A*B ka madhësinë (4x2). Shumëzimi i matricave katrore(me të njejtën madhësi) na rezulton po nje matrice katrore me te njejtën madhësi si dy matricat. Nqse matrica A dhe B kanë të njejtën madhësi (n
n) atëherë A*B≠B*A.
• Dy vektorë mund të shumëzohen nqse nr i elementëve është i njejtë, ku njëri prej vektorëve është vektor rresht dhe tjetri vektor kolonë. Kjo quhet ndryshe dhe prodhimi dot i dy vektorëve. ( Në Matlab ka një funksion të përcaktuar të quajtur dot(a,b) që bën shumëzimin e dy vektorëve.)
Shembuj
>> A=[1 4 2; 5 7 3; 9 1 6; 4 2 8]
A =
1 4 2
5 7 3
9 1 6
4 2 8
>> B=[6 1; 2 5; 7 3]
B =
6 1
2 5
7 3
>> C=A*B
C =
28 27
65 49
98 32
84 38
>> D=B*A
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Përcaktojmë matricën A me madhësi(4x3).
Përcaktojmë matricën B me madhësi(3x2).
Kryejmë shumëzimin e matricës A me matricën B.
Shumëzimin e matricës B me matricën A nuk mund ta
realizojmë pasi nr i kolonave te B duhet të jetë i
barabartë me nr e rreshtave të A.
Shembuj
Shumëzimi i matricave me madhësi të njejtë.
>> F=[1 3;5 7]
F =
1 3
5 7
>> G=[4 2;1 6]
G =
4 2
1 6
>> F*G
ans =
7 20
27 52
>> G*F
ans =
14 26
31 45
Përcaktojmë matricën F dhe G me madhësi(2x2).
Kryejmë shumëzimin e matricës F me matricën G. (F*G)
Kryejmë shumëzimin e matricës G me matricën F.(G*F)
Shohim që rezultati nuk është i njejtë.
Shumëzimi i vektorëve
>> AV=[2 5 1]
AV =
2 5 1
>> BV=[3;1;4]
BV =
3
1
4
>> AV*BV
ans =
15
>> BV*AV
ans =
6 15 3
2 5 1
8 20 4
Shembuj
Përcaktojmë vektorin rresht AV me 3 element.
Përcaktojmë vektorin kolonë BV me 3 element.
Kryejmë shumëzimin e vektorit AV me BV. Rezultati i
marrë është një nr skalar.(Shumëzimi dot i dy vektorëve)
Kryejmë shumëzimin e vektorit BV me AV. Rezultati i
marrë është një matricë me madhësi(3x3).
Kur një varg shumëzohet menjë numër skalar cdo element në varg shumëzohet me
këtë numër. Shembull
>> A=[1 4 2; 5 7 3; 9 1 6; 4 2 8]
A =
1 4 2
5 7 3
9 1 6
4 2 8
>> b=3
b =
3
>> b*A
ans =
3 12 6
15 21 9
27 3 18
12 6 24
>> C=A*5
C =
5 20 10
25 35 15
45 5 30
20 10 40
Përcaktojmë matricën A me madhësi(3x3).
Përcaktojmë variablin b=3.
Kryejmë shumëzimin e matricës A me variablin b. Kjo mund
te realizohet duke shkruajtur b*A ose A*b.
Kryejmë shumëzimin e matricës A me numrin 5 dhe rezultatin e marrë
e emërtojmë me C. Duke ekzekutuar 5*A marrim të njëjtën rezultat.
• Matrica inverse, matrica njësi dhe përcaktori i
matricës.
>> A=[2 1 4; 4 1 8; 2 -1 3]
A =
2 1 4
4 1 8
2 -1 3
>> B=inv(A)
B =
5.5000 -3.5000 2.0000
2.0000 -1.0000 0
-3.0000 2.0000 -1.0000
>> A*B
ans =
1 0 0
0 1 0
0 0 1
>>det(A)
ans=
2
Përcaktojmë matricën A me madhësi(3x3).
Duke përdorur funksionin inv përcaktojmë
matricën B si matricën inverse të matricës A.
Matrica inverse e A mund të përcaktohet dhe si
A-1.(A^-1)
Duke shumëzuar matricën A me matricën
inverse të saj B ne përftojmë matricën njësi.
Rregullat e algjebres lineare për shumëzimin e vargjeve sigurojnë një mënyrë të
përshtatshme për të shkruajtur një sistem linear ekuacionesh. Për shembull, sistemi i
mëposhtëm është i përbërë nga 3 ekuacione me 3 të panjohura:
Mund të shkruhet në formë matricore:
Në mënyrë të tillë:
Pjestimi i drejtë dhe i zhdrejtë Pjestimi i zhdrejtë
Pjestimi i zhdrejtë përdoret për të zgjidhur ekuacionin matricor AX=B. Në këtë
ekuacion X dhe B janë vektor kolonë. Ky ekuacion mund të zgjidhet duke shumë-
zuar ne te majte te te dyja aneve te barazimit me inversin e matricës A:
A-1AX=A-1B Pra zgjidhja eshte X=A-1B
Në Matlab:X=A\B
Pjestimi i drejtë Pjestimi i drejtë përdoret për të zgjidhur ekuacionin matricor XC=D. Në këtë
ekuacion X dhe D janë vektor rreshta. Ky ekuacion mund të zgjidhet duke shumë-
zuar ne te djathte te te dyja aneve te barazimit me inversin e matricës C.
XCC-1=DC-1 Pra zgjidhja eshte X=DC-1
Në Matlab:X=D/C
3.3 Pjestimi
Shembuj • Pjestimi i zhdrejtë Zgjidh sistemin e meposhtëm:
>> A=[4 -2 6; 2 8 2; 6 10 3];
>> B=[8; 4; 0];
>> X=A\B
X =
-1.8049
0.2927
2.6341
Ose
>> Xb=inv(A)*B
Xb =
-1.8049
0.2927
2.6341
Zgjidh sistemin e mëposhtëm:
>> C=[4 2 6; -2 8 10; 6 2 3];
>> D=[8 4 0];
>> Xd=D/C
Xd =
-1.8049 0.2927 2.6341
Ose
>> Xd=D*inv(C)
Xd =
-1.8049 0.2927 2.6341
• Pjestimi i drejtë
Shembuj
3.4 Veprimet element pas elementi
• Veprimet element pas elementi përdoren vetëm për vargjet që kane
të njejtën madhësi. Veprimet ekzekutohen me elementët të cilët
janë në të njejtat pozicione në vargjet përkatëse. Shumëzimi,
pjestimi dhe ngritja në fuqi element pas elementi kryhet duke
vendosur një pikë perpara cdo operatori aritmetik.
Simboli Përshkrimi Simboli Përshkrimi
.* Shumëzimi ./ Pjestimi i
drejtë
.^ Ngritja në
fuqi
.\ Pjestimi i
zhdrejtë
Shembuj >> A=[2 6 3; 5 8 4]
A =
2 6 3
5 8 4
>> B=[1 4 10; 3 2 27]
B =
1 4 10
3 2 27
>> A.*B
ans =
2 24 30
15 16 108
>> C=A./B
C =
2.0000 1.5000 0.3000
1.6667 4.0000 0.1481
>> B.^3
ans =
1 64 1000
27 8 19683
>> A*B
??? Error using ==> mtimes
Inner matrix dimensions must agree.
>> x=[1:8]
x =
1 2 3 4 5 6 7 8
>> y=x.^2-4*x
y =
-3 -4 -3 0 5 12 21 32
>> z=[1:2:11]
z =
1 3 5 7 9 11
>> y=(z.^3+5*z)./(4*z.^2-10)
y =
-1.0000 1.6154 1.6667 2.0323 2.4650 2.9241
Shembuj
3.5 Përdorimi i vargjeve në funksionet e
përcaktuara në Matlab
>> x=[0:pi/6:pi]
x =
0 0.5236 1.0472 1.5708 2.0944 2.6180 3.1416
>> y=cos(x)
y =
1.0000 0.8660 0.5000 0.0000 -0.5000 -0.8660 -1.0000
>> d=[1 4 9;16 25 36;49 64 81]
d =
1 4 9
16 25 36
49 64 81
>>H=sqrt(d)
H =
1 2 3
4 5 6
7 8 9
3.6 Funksionet e përcaktuara për analizën e
matricave Funksioni Përshkrimi Shembulli
mean(A) Nqse A është një vector, komanda
gjen mesataren e elementeve qe
përmban ky vektor.
>>A=[5 2 9 4];
>>mean(A)
ans=
5
C=max(A)
[d,n]=max(A)
Përcakton vlerën më të madhe te
vektorit A. Nqse A është një matricë
, C është një vector rresht i cili
përmban elementet me te mëdhenj
të cdo kolone.
Nqse A është një vector, d është
elementi më i madh i vektorit A , n
pozicioni i tij.
>>A=[5 2 9 4 11 6 7 11 0 1];
>>C=max(A)
C=
11
>>[d,n]=max(A)
d=
11
n=
5
min(A)
[d,n]=min(A)
E njejta si max(A) por për
elementin më të vogël.
E njejta si [d,n]=max(A) por për
elementin më të vogël.
>>A=[5 2 9 4];
>>min(A)
ans=
2
sum(A) Nqse A është një vector, komanda
përcakton shumën e elementëvë të
vektorit A.
>>A=[5 2 9 4];
>>sum(A)
ans=
20
sort(A) Nqse A është një vektor, komanda
ben renditjen e elementët në rendin
rritës.
>>A=[5 2 9 4];
>>sort(A)
ans=
2 4 5 9
Vazhdim funksione të përcaktuara për analizën e
matricave dhe vektorëve
Funksioni Përshkrimi Shembulli
det(A) Llogarit përcaktorin e një
matrice katrore.
>>A=[2 4; 3 5];
>>det(A)
ans=
-2
dot(a,b)
Llogarit produktin scalar
e dy vectorëve a dhe b.
vektorët mund të jenë
vector kolonë ose vector
rresht
>>a=[1 2 3];
>>b=[3 4 5];
>>dot(a,b)
ans=
26
cross(a,b) Llogarit produktin
vectorial te dy vektorëve
a dhe b. Të dy vektorët
duhet të kenë nga 3
element
>>a=[1 3 2];
>>b=[2 4 1];
>>cross(a,b)
ans=
-5 3 -2
inv(A) Përcakton matricën
inverse të matricës A.
>>A=[2 -2 1; 3 2 -1; 2 -3 2];
>>inv(A)
ans=
0.2000 0.2000 0
-1.6000 0.4000 1.0000
-2.6000 0.4000 2.0000
3.7 Gjenerimi numrave te rastësishëm Komanda rand:
Gjeneron njëtrajtësisht numra të rastesishem me vlerë nga 0 deri tek 1. Komanda mund të
përdoret për përcaktimin e tyre tek një skalar, një vektor, ose një matrice si të treguara në tabelë.
Funksioni Përshkrimi Shembulli
rand Gjeneron një nr te
vetëm midis numrit 0
dhe 1.
>>rand
ans=
0.2311
rand(1,n) Gjeneron një vektor
rresht me numra midis
numrit 0 dhe 1.
>> a=rand(1,4)
a =
0.6555 0.1712 0.7060 0.0318
rand(m,n) Gjeneron një matricë
me m rreshta dhe n
kolona me numra
midis numrit 0 dhe 1.
>> rand(2,3)
ans =
0.9157 0.9595 0.0357
0.7922 0.6557 0.8491
rand(n) Gjeneron një matricë
n
n me numra midis
numrit 0 dhe 1.
>> b=rand(2)
b =
0.9649 0.9706
0.1576 0.9572
randperm(n) Gjeneron një vektor
rresht me n element
me numra nga1 tek n.
>>randperm(9)
ans =
6 3 7 8 5 1 2 4 9
Komanda randi:
Gjeneron njëtrajtësisht numra te rastesishem me vlerë nga 1 deri tek vlera max e kerkuar.
Komanda mund të përdoret për përcaktimin e tyre tek një skalar, një vektor, ose një
matrice si të treguara në tabelë.
Funksioni Përshkrimi Shembulli
randi(imax) Gjeneron një nr te vetëm
midis numrit 1 dhe imax.
>> randi(16)
ans =
14
randi(imax,n) Gjeneron një matricë n
n
me numra midis numrit 1
dhe imax
>> randi(8,3)
ans =
8 3 8
6 5 2
1 8 8
randi(imax,m,n) Gjeneron një matricë me
m rreshta dhe n kolona
me numra midis numrit 1
dhe imax
>> randi(12,2,3)
ans =
12 10 6
6 2 11
Gjithashtu ne mund te krijojme dhe matrica me numra te rastesishem midis nje vlere
minimale dhe nje vlere tjeter maximale duke shkruajtur [imin, imax]. Për shembull për të
ndërtuar një matricë me madhësi (3x4) me numra të rastësishëm midis 10 dhe 50:
>> d=randi([10,50],3,4)
d =
37 26 38 11
41 36 11 13
40 17 21 43
Komanda randn:
Gjeneron njëtrajtësisht numra te rastesishem me vlerë te devijuar nga 0 deri tek 1. Komanda
mund të përdoret për përcaktimin e tyre tek një skalar, një vektor, ose një matrice si tëk
komandat e tjera.
>> randn(4,5)
ans =
-0.0068 -0.2256 0.5525 -1.4916 -0.6156
1.5326 1.1174 1.1006 -0.7423 0.7481
-0.7697 -1.0891 1.5442 -1.0616 -0.1924
0.3714 0.0326 0.0859 2.3505 0.8886