ALTE DOCUMENTE |
MCIMLucrarea 11 |
Calcule cu matrice |
1.Manipularea matricelor
MATLAB-ul ofera urmatoarele functii pentru manipularea matricelor:
diag creeaza sau extrage diagonalele matricei;
fliplr roteste matricea în jurul axei verticale (i 232t195c nverseaza ordinea coloanelor);
flipud roteste matricea în jurul axai orizontale (inverseaza ordinea linilor);
reshape schimba dimensiunile matricei (redimensioneaza matricea);
rot90 roteste matricea cu un multiplu de 90 de grade;
tril extrage matricea inferior triunghiulara dintr-o matrice;
triu extrage matricea superior triunghiulara dintr-o matrice;
specifica indicii, rearanjeaza sau decupleaza o submatrice.
1.1.Extragerea submatricelor prin indici
Elementele individuale ale unei matrice se apeleaza cu numerele acesteia, urmat de doi indici, cuprinsi între paranteze rotunde si separati de virgula. Primul indice semnifica linia, iar al doilea coloana în care se gaseste elementul apelat.
Pentru extragerea vectorilor cu elemente decupate din alti vectori, se folosesc formele:
j:k -selecteaza elementele [j, j+1,.., k] ale unui vector, daca j>k,vectorul rezultat este gol.
j:i:k -selecteaza elementele [j, j+i, j+2i,.., k] ale unui vector; vectorul rezultat este gol daca i>0; si j>k sau daca i<0 si j<k.
În cazul selectarii liniilor sau coloanelor matricelor, se folosec formele:
A(:,j) -selecteaza coloana j a matricei A;
A(i,:) -selecteaza linia i a matricei A;
A(:,:) -selecteaza întreaga matrice A;
A(j:k) -selecteaza elementele A(j), A(j+1),., A(k) ale vectorului A;
A(:,j:k) -selecteaza toate elementele liniile si coloanele de la j la k, A(:,j),A(:,j+1),.A(:,k), ale matricei A;
A(:) -selecteaza toate elementele matricei A, privite ca o singura coloana (începând cu prima).
Exemplul
1.1. Fie A =
Sa se scrie instructiunile care permit selectarea din matricea A a:
liniei a 2-a;
coloanei a 3-a;
submatricei formata din liniile 1-2 si coloanele 4-6;
submatricei formata din liniile 1,4 si coloanele 2,4,5;
Cu secventa MATLAB:
A=[1 2 3 4 5 6; 2 3 4 5 6 1; 3 4 5 6 1 2;.
4 5 6 1 2 3; 5 6 1 2 3 4; 6 1 2 3 4 5]
B=A(2,:)
C=A(:,3)
D=A(1:2,4:6)
E=A( [1,4],[2,4:5] )
Se obtin rezultatele: B=[2 3 4 5 6 1] D=
C=; E=
1.2.Rorirea matricei în jurul unei coloane sau linii
Functiile fliplr si flipud inverseaza ordinea liniilor sau coloanelor matricelor. Practic, ele realizeaza o rotire a matricei în jurul unei coloane sau a unei linii. Se apeleaza cu sintaxele:
Y=fliplr(X) Z=flipud(X)
Exemplul.1.2.
Sa se roteasca matricea A= în jurul unei coloanei si în jurul unei linii.
Cu secventa MATLAB:
A=[1 2 3; 4 5 6; 7 8 9];
B=fliplr(A)
C=flipud(A)
se obtin rezultate: B= ; C=
.
1.3.Rotirea matricei cu multipli de 90 de grade în jurul unui element
Rotirea unei matrice cu multipli de 90 de grade, în sens trigonometric (contrar sensului orar) se face cu functia rot90; se apeleaza cu una dintre sintaxele:
B=rot90(A) B=rot90(A,k)
Exemplul.1.3. Sa se roteasca
în jurul unui element, matricea A=
cu 90 de grade în sens trigonometric si cu 180 de grade în sens orar.
Cu secventa MATLAB:
A=[1 2 3; 4 5 6; 7 8 9];
B=rot90(A,1)
C=rot90(A,-2)
Se obtin rezultatele: B= ; C=
1.4. Matrice diagonale si triunghiulare
Creare unei matrice diagonale se face cu functia diag; se apeleaza cu una dintre sintaxele:
Y=diag (X) Y=diag(X,k)
X este vectorul sau matricea asupra careia se opereaza, iar argumentul operational k indica diagonala acestuia, cu urmatoarea semnificatie:
k=0, diagonala principala;
k>0, indica diagonala k de deasupra celei principale;
k<0, indica diagonala k de sub cea principala.
Crearea unei matrici superior si inferior triunghiulare, foloseste functiile MATLAB tril si triu, apelate cu una dintre sintaxele:
Y=tril(X) Y=tril(X,k)
Y=triu(X) Y=triu(X,k)
unde argumentele au aceeasi semnificatie ca mai sus.
|