Documente Academic
Documente Profesional
Documente Cultură
LUCRAREA 2
Matrici i vectori
1. Matrici i vectori. Definiii.
n teoria informaiei o matrice este un tablou n care informaiile
sunt organizate n linii i coloane. Este cel mai des ntlnit mod de
organizare al informaiei din aceast cauz matricea fiind supranumit
mama structurilor de date. n matematic matricile sunt de obicei tablouri
de numere. Pentru notaii se utilizeaz paranteze ptrate ntre care se
scrie tabloul de date.
Exemplu un tablou numeric de dou linii i dou coloane:
5 0
1 2
(
(
. n
cazul unei matrici mari se folosesc uneori notaii simbolice:
1, , ; 1, ,
ij
a i n j m ( = =
pentru o matrice cu n linii i m coloane.
Numrul de linii i de coloane reprezint tipul matricii. Din exemplele de
mai sus prima matrice este de tipul 2X2, iar a doua de tipul nXm. n
cazul cnd n=m matricea se zice ptrat i are tipul n. n cazul matricilor
ptrate elementele de pe diagonala ce pornete din colul din stnga sus i
ajung n colul din dreapta jos formeaz diagonala principal. Elementele
ce pornesc din colul din dreapta sus i ajung n colul din stnga jos
formeaz diagonala secundar.
Matricile de tipul 1Xm se numesc vectori linie cu m elemente.
Matricile de tipul nX1 se numesc vectori coloan cu n elemente.
2. Definirea matricilor n MATLAB.
Pentru definirea matricilor n MATLAB se utilizeaz operatorul
[]. Astfel n interiorul operatorului elementele matricii se scriu pe linii cu
separatori ntre elemente (spaiu, virgula), terminarea unei linii fiind
indicata de separatorul punct-virgula (;).De exemplu matricea:
1 2 3
3 2 1
A
(
=
(
Se obine cu ajutorul comenzii [1,2,3;3,2,1]. Un vector linie [1 2 3] se
definete n MATLAB exact cum a fost scris mai nainte. Acelai vector
dar coloan se va defini cu [1;2;3]
2
Matrici mai des definite au funcii predefinite:
- zeros(n,m) va genera matricea de tip nXm a crui elemente
sunt toate zero. Dac matricea este ptrat de tip n se va scrie
zeros(n).
- ones(n,m) va genera matricea de tip nXm cu toate elementele
1. Matricea ptrat de tip n cu elemente 1 este generat de
ones(n).
- eye(n) va genera matricea unitate de ordin n,adic matricea ce
are elementele egale cu 1 pe diagonala principal i 0 n rest.
Operatorul [] permite generarea unor noi matrici prin
concatenarea unor matrici deja generate. Pentru concatenarea pe
orizontal a matricilor A cu B vom scrie [A,B] matricile A i B trebuind
s aib acelai numr de linii. Pentru concatenarea pe vertical vom scrie
[A;B] de data aceasta matricile A i B trebuind s aib aceli numr de
coloane.
Pentru generarea de matricii poate fi utilizat i funcia diag(v,k)
unde v este un vector iar k un ntreg. Funcia va genera o matrice n care
vectorul v devine o diagonal paralel cu diagonala principal aflat la
distana k deasupra(dac k>0)sau dedesubtul( dac k<0) diagonalei
principale iar restul elementelor matricii sunt nule. Dac k lipsete sau
este 0 atunci v va devenii chiar diagonala principal. Funcia diag este
util la definirea matricilor band (cum se numesc matricile ale cror
elemente nenule sunt pe diagonale paralele cu diagonala principal, aflate
n apropierea diagonalei principale).
3. Accesarea elementelor unei matrici. Operatorul :.
Accesarea individual a unui element se face indicnd linia i
coloana lui/ de exemplu pentru matricea A de mai sus elementul din
prima linie i coloana a treia este A(1,3)=3.
Pentru accesarea multipl MATLAB are mai multe posibiliti.
Astfel putem utiliza la indice operatorul : . Astfel dac vrem s indicm
elementele liniei 1 din A scriem A(1,1:3). innd cont c elementele
matricii A sunt memorate liniar putem indica toate elementele prin
A(:).Putem accesa mai multe elemente neliniar . Astfel daca dorim
elementele din linia i dar coloane impare scriem A(i,1:2:end). Se observ
apariia lui end care este expresia precis a propoziiei pn la sfrit .
O alt posibilitate este indicarea unei condiii drept indice. Astfel
dac dorim accesarea doar a elementelor pozitive ale lui A scriem
A(A>0) .Expresia di parantez trebuie s fie o expresie logic pe care
elementele trebuie s o verifice.
3
4. Operaii cu matrici i vectori.
Matricile de acelai tip se pot aduna obinndu-se o matrice a
crui elemente sunt suma element cu element a celor dou matrici,
matematic c
ij
=a
ij
+b
ij
.
nmulirea matricilor A cu B este posibil dac A este de tip nXm
i B de tip mXp rezultnd matricea C de tip nXp. nmulirea se face
linii pe coloane pentru a obine elementul c
ij
se face suma produselor
dintre elementele liniei i a lui A cu elementele corespunztoare ale
coloanei j a lui B (matematic
1
m
ij ik kj
k
c a b
=
=
\ . \ .
b)
1 0 0 2 0 1
0 1 0 ; 1 1 1 ;
0 0 1 1 2 2
A B
( (
( (
= =
( (
( (
2. Creai un vectorii va, vb, vc i vd care s aib urmtoarele elemente:
a) 2,4,6,8,,100;
b) 50,48,46,,-50;
c) 1,1/2,1/3,,1/100;
d) 0,1/2,2/3,3/4,,99/100.
3. Prin concatenarea matricilor i vectorilor de mai sus, definii n
MATLAB:
a) ( )
2
0
1
1, 2, 3, 4, 5, 6 ; ;
1
0
1
r t
| |
|
|
|
= =
|
|
|
|
|
\ .
b)
0 0 0 5 0 0
0 0 0 0 5 0
0 0 0 0 0 5
;
2 0 1 3 3 3
1 1 1 3 3 3
1 2 2 3 3 3
C
(
(
(
(
=
(
(
(
(
(
5
4. Cu ajutorul funciei diag(v,n), (unde n este distana de la diagonala
principal), definii:
a)
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
;
2 0 0 0 0 1
0 2 0 0 0 0
0 0 2 0 0 0
D
(
(
(
(
=
(
(
(
(
(
b)
2 1 0 0 0 0
1 2 1 0 0 0
0 1 2 1 0 0
;
0 0 1 2 1 0
0 0 0 1 2 1
0 0 0 0 1 2
E
(
(
(
(
=
(
(
(
(
(
5. Utiliznd matricile i vectorii definii n exerciiile 1., 2. i 3, calculai:
a) ; ; v z r t = = b) ; A u B z = c)
3 3 3
15 ; C D E + = d)
2 1
5 B B B
= ;
e)
5
D = ; f) D E E D = ; g) . . D E E D = ; h)
( ) ( ) sin cos D E = ;
6. Utiliznd matricile A i B s se defineasc matricile:
a)
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 2 0 1
0 0 0 1 1 1
0 0 0 1 2 2
G
(
(
(
(
=
(
(
(
(
(
;
6
b)
1 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 0 1
2 0 1 2 0 1
1 1 1 1 1 1
1 2 2 1 2 2
H
(
(
(
(
=
(
(
(
(
(
7. S se creeze sau calculeze, dup caz :
a) Vectorul elementelor impare ale lui r ;
b) Vectorul elementelor pozitive ale lui H;
c) Suma elementelor lui H;
d) Matricea elementelor lui H aflate la intersecia liniilor 1.2 i 3 cu
coloanele 2,4 i 6;
e) vectorul ri in care elementele lui r sunt n ordine invers.
8. Utiliznd matricea B definit la 1.c) scriei comenzile necesare pentru
a obine:
a) un vector format din elementele primei linii a lui B;
b) o matrice format cu ultimele dou linii ale lui B;
c) un vector a crui elemente sunt sumele elementelor din coloanele lui
B;
d) un vector a crui elemente sunt sumele elementelor din liniile lui B;
e) o matrice format din elementele din colurile lui B.
Indicaii i soluii
1.
c) B=[2 0 1;1 1 1;-1 2 -2]
2.
a) va=2:2:100
b) vb=50:-2:-50
c) vt=1:100; vc=1./vt
d) vt1=0:99; vt2-1:100; vd=vt1./vt2
7
3.
a) r=[v w]; t=[z;u]
b) C=[zeros(3) 5*eye(3);B 3*ones(3)]
4.
a) D=-2*diag(ones(1,3),-3)+diag(ones(1,4),2)
b) E=diag(ones(1,5),-1)+2*diag(ones(1,6))+diag(ones(1,5),1)
5.
a) v*z= -1 r*t= 1
b)
4
1
1
| |
|
|
|
\ .
c)
-180 -167 -90 170 135 160
-180 -255 -229 70 145 160
-60 -180 -300 -117 95 70
54 1 -225 18 104 198
68 81 -90 93 33 76
64 75 10 168 63 18
(
(
(
(
(
(
(
(
(
d)
-19.0000 -8.0000 -1.0000
-9.0000 -18.0000 -1.0000
-7.0000 6.0000 -23.0000
(
(
(
(
e)
4 0 0 0 0 -2
0 8 0 0 0 0
0 0 8 0 0 0
0 0 0 8 0 0
0 0 0 0 8 0
-8 0 0 0 0 4
(
(
(
(
(
(
(
(
(
8
f)
0 1 0 0 0 0
0 0 0 0 0 0
2 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 -1
0 0 0 -2 0 0
(
(
(
(
(
(
(
(
(
g)
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
(
(
(
(
(
(
(
(
(
h)
0.4161 -0.5403 -0.1585 -1.0000 -1.0000 -1.0000
-0.5403 0.4161 -0.5403 -0.1585 -1.0000 -1.0000
-1.0000 -0.5403 0.4161 -0.5403 -0.1585 -1.0000
-1.9093 -1.0000 -0.5403 0.4161 -0.5403 -0.1585
-1.0000 -1.9093 -1.0000 -0.5403 0.4161 -0.5403
-1.0000 -1.0000 -1.9093 -1.0000 -0.5403 0.4161
(
(
(
(
(
(
(
(
(
6.
a) G=[A zeros(3);zeros(3) B]
b) H=[A A;B B]
7.
a) r(1:2:end)
b) H(H>0)
c) sum(H(:))
d) H(1:3,2:2:end)
e) ri=r(end:-1:1)
8.
a) va=B(1,1:end)
b) Bb=B(end-1:end,1:end)
9
c) xc=sum(B)
d) xd=sum(B,2) a doua valoare din sun indic dup ce dimensiune se
face suma (implicit are valoarea 1 deci sum pe coloane).
e) Bd=B([1,end],[1,end])