Sunteți pe pagina 1din 20

3.

OPERAŢII MATEMATICE CU TABLOURI

Odată ce variabilele au fost create în MATLAB, acestea pot fi utilizate într-o varietate largă
de operaţii matematice.

În capitolul 1, variabilele utilizate în operaţii matematice erau, toate, definite ca scalari. Acest
lucru înseamnă că toate acestea erau tablouri 11 (tablouri cu o linie şi o coloană care aveau
doar un singur element), iar operaţiile matematice erau efectuate cu numere.

Tablourile, cu toate acestea, poate fi unidimensionale (tablouri cu o singură linie sau cu o


singură coloană), bidimensionale (tablouri cu mai multe linii şi coloane) şi chiar de
dimensiuni mai mari. În aceste cazuri, operaţiile matematice sunt mai complexe.

MATLAB, după cum indică şi numele, este proiectat pentru a efectua operaţii avansate cu
tablouri, care au multe aplicaţii în ştiinţă şi inginerie. Acest capitol prezintă operaţiile
matematice de bază, cele mai frecvente, pe care MATLAB le efectuează folosind tablouri.

Adunarea şi scăderea sunt operaţii relativ simple şi sunt abordate în primul rând, în
secţiunea 3.1. Celelalte operaţii de bază, înmulţirea, împărţirea şi ridicarea la putere, pot fi
efectuate în MATLAB în două moduri diferite.

O modalitate, care utilizează simbolurile standard (*, / şi ^), respectă regulile algebrei liniare
şi este prezentată în secţiunile 3.2 şi 3.3.

Cea de a doua modalitate, care se numeşte operaţii element cu element, este tratată în
secţiunea 3.4. Aceste operaţii folosesc simbolurile .*, ./ şi .^ (simbolul operaţiei standard este
precedat de un punct).

În plus, în ambele modalităţi de efectuare a calculelor, MATLAB are operatorii de împărţire


la stânga (.\ sau \), care sunt, de asemenea, explicaţi în secţiunile 3.3 şi 3.4.

3.1 ADUNAREA ŞI SCĂDEREA

Operaţiile + (adunarea) şi – (scăderea) pot fi folosite pentru a aduna (scădea) tablouri de


dimensiuni identice (acelaşi număr de linii şi coloane) şi pentru a aduna (scădea) un scalar la
un tablou.

Atunci când sunt implicate două tablouri, suma sau diferenţa acestora se obţine prin adunarea
sau scăderea elementelor corespunzătoare acestora.

În general, dacă A şi B sunt două tablouri (de exemplu, matrice de 2  3 ),

A A12 A13   B11 B12 B13 


A   11  şi B  
B23 
,
 A21 A22 A23   B21 B22
atunci matricea care se obţine prin adunarea lui A şi B este:

 A11  B11 A12  B12 A13  B13 


A  B A22  B22 A23  B23 
.
 21 21

Exemple:

Atunci când un scalar (număr) este adunat la (sau scăzut din) un tablou, scalarul este adunat la
(sau scăzut din) toate elementele tabloului.
Exemple:

3.2 ÎNMULŢIREA TABLOURILOR

Operaţia de înmulţire * este efectuată de către MATLAB în conformitate cu regulile algebrei


liniare. Acest lucru înseamnă că dacă A şi B sunt două matrice, operaţia A*B poate fi
efectuată doar dacă numărul de coloane din matricea A este egal cu numărul de linii din
matricea B. Rezultatul este o matrice care are acelaşi număr de linii ca A şi acelaşi număr de
coloane ca B.

De exemplu, dacă A este o matrice de 4  3 şi B este o matrice de 3  2 :

 A11 A12 A13 


A  B11 B12 
A23 
şi B   B21 B22  ,
A22
A
21
 A31 A32 A33  
   B31 B32 
 A41 A42 A43 

atunci matricea care se obţine cu operaţia A*B are dimensiunea 4  2 , având elementele:

 A11B11  A12 B21  A13 B31 A11B12  A12 B22  A13 B32 
A B  A B  A B A21B12  A22 B22  A23 B32 
 21 11 22 21 23 31
.
 A31B11  A32 B21  A33 B31 A31B12  A32 B22  A33 B32 
 
 A41B11  A42 B21  A43 B31 A41B12  A42 B22  A43 B32 
Rezultatul înmulţirii a două matrice pătratice (acestea trebuie să aibă aceeaşi dimensiune) este
o matrice pătratică de aceeaşi dimensiune. Cu toate acestea, înmulţirea matricelor nu este
comutativă. Acest lucru înseamnă că dacă A şi B sunt ambele n  n , atunci A*B  B*A .

De asemenea, operaţia de ridicare la putere poate fi efectuată doar cu o matrice pătratică


(deoarece A*A poate fi efectuată doar dacă numărul de coloane din prima matrice este egal cu
numărul de linii din a doua matrice).

Doi vectori pot fi înmulţiţi doar dacă au acelaşi număr de elemente, iar unul este un vector
linie, iar celălalt este un vector coloană.

Prin înmulţirea unui vector linie cu un vector coloană rezultă o matrice 11 , care este un
scalar. Acesta este produsul scalar a doi vectori. (MATLAB are, de asemenea, o funcţie
predefinită, dot(a,b), care calculează produsul scalar a doi vectori.) Atunci când se
foloseşte funcţia dot, vectorii a şi b pot fi, fiecare, un vector linie, sau un vector coloană
(vezi tabelul 3-1).

Prin înmulţirea unui vector coloană cu un vector linie, fiecare având n elemente, rezultă o
matrice n  n .

Înmulţirea matricelor este arătată în exemplul 3-1.


Exemplul 3-1: Înmulţirea tablourilor.
Atunci când un tablou este înmulţit cu un număr (de fapt, un număr este o matrice 11 ),
fiecare element din matrice este înmulţit cu acel număr.
De exemplu:

Regulile algebrei liniare de înmulţire a tablourilor oferă o modalitate convenabilă pentru


scrierea unui sistem de ecuaţii liniare. De exemplu, sistemul de trei ecuaţii cu trei necunoscute

A11x1  A12 x2  A13 x3  B1


A21x1  A22 x2  A23 x3  B2
A31x1  A32 x2  A33 x3  B3

poate fi scris într-o formă matriceală ca

 A11 A12 A13   x1   B1 


A A22 A23   x2    B2 
 21
 A31 A32 A33   x3   B3 

şi în notaţia matriceală ca

 A11 A12 A13   x1   B1 


AX  B unde A   A21 A22 A23  , X   x2  şi B   B2  .
  

 A31 A32 A33   x3   B3 
3.3 ÎMPĂRŢIREA TABLOURILOR

Operaţia de împărţire este, de asemenea, asociată cu regulile algebrei liniare. Această operaţie
este mai complexă şi este prezentată o scurtă explicaţie mai jos.

Operaţia de împărţire poate fi explicată cu ajutorul matricei identitate şi operaţiei inverse.

Matricea identitate:

Matricea identitate este o matrice pătratică în care elementele diagonalei principale sunt 1, iar
restul elementelor sunt 0. Aşa cum s-a arătat în secţiunea 2.2.1, o matrice identitate poate fi
creată în MATLAB cu comanda eye.

În cazul în care matricea identitate se înmulţeşte cu o altă matrice (sau vector), acea matrice
(sau vector) rămâne neschimbată (înmulţirea trebuie să se facă în conformitate cu regulile
algebrei liniare). Acest lucru este echivalent cu înmulţirea unui scalar cu 1.

În cazul în care o matrice A este pătratică, aceasta poate fi înmulţită cu matricea identitate, I,
la stânga sau la dreapta:

AI  IA  A .

Inversa unei matrice:

Matricea B este inversa matricei A dacă, atunci când cele două matrice sunt înmulţite,
produsul acestora este matricea identitate. Ambele matrice trebuie să fie pătratice, iar ordinea
de înmulţire poate fi BA sau AB .

BA  AB  I

Evident B este inversa lui A, iar A este inversa lui B.

Inversa unei matrice A, de obicei, se notează cu A1 .

În MATLAB, inversa unei matrice poate fi obţinută fie prin ridicarea lui A la puterea –1, A1 ,
sau cu funcţia inv(A).

Înmulţirea matricelor în MATLAB este prezentată mai jos.


Nu orice matrice are o inversă. O matrice are inversă doar dacă este pătratică şi determinantul
acesteia nu este egal cu zero.

Determinanţi:

Un determinant este o funcţie asociată cu matricele pătratice. O scurtă trecere în revistă a


determinanţilor este prezentată mai jos.

Determinantul este o funcţie care asociază fiecărei matrice pătratice A un număr, numit
determinantul matricei. Determinantul este, de obicei, notat cu det  A  sau A .

Determinantul se calculează în conformitate cu reguli specifice. Pentru o matrice de ordinul


doi 2  2 , regula este:

a11 a12
A  a11a22  a12 a21 .
a21 a22

Determinantul unei matrice pătratice poate fi calculat cu ajutorul comenzii det (vezi
tabelul 3-1).
Împărţirea tablourilor:

MATLAB are două tipuri de împărţire a tablourilor, împărţirea la dreapta şi împărţirea la


stânga.

Împărţirea la stânga, \:

Împărţirea la stânga este utilizată pentru a rezolva ecuaţia matriceală AX  B . În această


ecuaţie, X şi B sunt vectori coloană. Această ecuaţie poate fi rezolvată prin înmulţirea, la
stânga, a ambelor părţi, cu inversa lui A:

A1 AX  A1B .

Partea stângă a acestei ecuaţii este X, deoarece

A1 AX  IX  X .

Astfel, soluţia ecuaţiei AX  B este:

X  A1B .

În MATLAB, ultima ecuaţie poate fi scrisă folosind semnul de împărţire la stânga:

X  A\ B .

Trebuie subliniat aici că deşi ultimele două operaţii par să dea acelaşi rezultat, metoda prin
care MATLAB calculează X este diferită.

În primul caz, MATLAB calculează A1 şi apoi rezultatul îl înmulţeşte cu B. În al doilea caz
(împărţirea la stânga), soluţia X se obţine numeric printr-o metodă care se bazează pe
eliminarea Gauss.

Metoda de împărţire la stânga este recomandată pentru rezolvarea unui set de ecuaţii liniare
deoarece calcularea inversei poate fi mai puţin precisă decât metoda de eliminare Gauss
atunci când sunt implicate matrice de mari dimensiuni.

Împărţirea la dreapta, /:

Împărţirea la dreapta este utilizată pentru a rezolva ecuaţia matriceală XC  D . În această


ecuaţie, X şi D sunt vectori linie. Această ecuaţie poate fi rezolvată prin înmulţirea, la dreapta,
a ambelor părţi, cu inversa lui C:

XCC 1  DC 1 ,

de unde rezultă

X  DC 1 .
În MATLAB, ultima ecuaţie poate fi scrisă folosind semnul de împărţire la dreapta:

X  D/C .

Exemplu:

Sistemul de ecuaţii liniare

 4x  2 y  6z  8

 2x  8 y  2z  4
6 x  10 y  3z  0

poate fi scris sub forma matriceală AX  B sau sub forma XC  D :

 4 2 6   x  8   4 2 6
 2 8 2  y    4 sau x z   2 8 10  8 4 0 .
      y
6 10 3  z  0   6 2 3 

Soluţiile pentru ambele forme sunt prezentate mai jos:


3.4 OPERAŢII ELEMENT CU ELEMENT

În secţiunile 3.2 şi 3.3 s-a arătat că atunci când simbolurile obişnuite de înmulţire şi împărţire
(* şi /) sunt utilizate cu tablouri, operaţiile matematice respectă regulile algebrei liniare.

Există, totuşi, multe situaţii care necesită operaţii element cu element. Aceste operaţii sunt
efectuate pe fiecare dintre elementele tabloului (sau tablourilor).

Adunarea şi scăderea sunt, prin definiţie, operaţii element cu element, deoarece atunci când se
adună două tablouri (sau se scad), operaţia se efectuează cu elementele care se află în aceeaşi
poziţie în cele două tablouri.

Operaţiile element cu element pot fi efectuate doar cu tablouri de aceeaşi dimensiune.

Înmulţirea, împărţirea, sau ridicarea la putere, element cu element, a doi vectori sau matrice
este introdusă în MATLAB prin inserarea unui punct în faţa operatorului aritmetic.

Dacă doi vectori a şi b sunt a   a1 a2 a3 a4  şi b  b1 b2 b3 b4  , atunci înmulţirea,


împărţirea şi ridicarea la putere, element cu element, a celor doi vectori este:

a.* b   a1b1 a2b2 a3b3 a4b4 


a./ b   a1 / b1 a2 / b2 a3 / b3 a4 / b4 
a. ^ b   a1b1 a2b2 a3b3 a4b4 
 

În cazul a două matrice A şi B

 A11 A12 A13   B11 B12 B13 


A   A21 A22 A23  şi B   B21
 B22 B23  ,
 A31 A32 A33   B31 B32 B33 

atunci înmulţirea şi împărţirea element cu element a celor două matrice este:

 A11B11 A12 B12 A13 B13   A11 / B11 A12 / B12 A13 / B13 
A.* B   A21B21 A22 B22 A23 B23  A./ B   A21 / B21 A22 / B22 A23 / B23 
 A31B31 A32 B32 A33 B33   A31 / B31 A32 / B32 A33 / B33 

Ridicarea la putere element cu element a matricei A:

 A11
n n
A12 n 
A13
 
A. ^ n   A21
n n
A22 n
A23 .
 n n n 
 A31 A32 A33 
Înmulţirea, împărţirea şi ridicarea la putere, element cu element, sunt arătate în exemplul 3-2.

Exemplul 3-2: Operaţii element cu element.

Calculele element cu element sunt foarte utile pentru calcularea valorii unei funcţii pentru
diferite valori ale argumentului acesteia.

Acest lucru se face prin definirea, mai întâi, a unui vector care conţine valori ale variabilei
independente, iar apoi folosirea acestui vector în calcule element cu element pentru a crea un
vector în care fiecare element reprezintă valoarea corespunzătoare a funcţiei.
Exemplu:

În exemplul de mai sus, y  x 2  4 x . Operaţia element cu element este necesară atunci când x
este ridicat la pătrat.

Un alt exemplu:

z3  5z
În ultimul exemplu, y  . Operaţiile element cu element sunt folosite în acest
4 z 2  10
exemplu de trei ori: pentru a calcula z 3 , z 2 şi pentru împărţirea numărătorului la numitor.

3.5 UTILIZAREA TABLOURILOR ÎN FUNCŢIILE MATEMATICE PREDEFINITE


ÎN MATLAB

Funcţiile predefinite în MATLAB sunt scrise astfel încât atunci când argumentul (intrarea)
este un tablou, operaţia care este definită de funcţie se efectuează asupra fiecărui element al
tabloului. (Se poate privi operaţia ca aplicarea element cu element a funcţiei.)

De exemplu, dacă un vector cu şapte elemente este argumentul funcţiei cos(x), atunci
rezultatul este un vector cu şapte elemente în care fiecare element este cosinusul elementului
corespunzător din x. Acest lucru este arătat mai jos.
Un exemplu în care variabila argument este o matrice:

Caracteristica MATLAB prin care tablourile pot fi folosite ca argumente în funcţii se numeşte
vectorizare.

3.6 FUNCŢII PREDEFINITE PENTRU ANALIZA TABLOURILOR

MATLAB are mai multe funcţii predefinite pentru analiza tablourilor. Tabelul 3-1 prezintă
unele dintre aceste funcţii.
Tabelul 3-1: Funcţii predefinite pentru tablouri
3.7 GENERAREA DE NUMERE ALEATOARE

Simulări ale multor procese fizice şi aplicaţii în inginerie necesită, în mod frecvent, folosirea
unui număr (sau un set de numere) cu o valoare aleatoare.

MATLAB are trei comenzi, rand, randn şi randi, care pot fi utilizate pentru a atribui
numere aleatoare unor variabile.
Comanda rand:

Comanda rand generează numere aleatoare uniform distribuite cu valori între 0 şi 1.


Comanda poate fi folosită pentru a atribui aceste numere unui scalar, unui vector, sau unei
matrice, aşa cum se arată în tabelul 3-2.

Tabelul 3-2: Comanda rand

Uneori, este nevoie de numere aleatoare care sunt distribuite într-un alt interval decât  0,1 ,
sau doar de numerele întregi. Acest lucru se poate face folosind operaţii matematice cu funcţia
rand.

Numerele aleatoare care sunt distribuite într-un interval  a, b  pot fi obţinute prin înmulţirea
lui rand cu  b  a  şi adunarea lui a:

 b  a  *rand  a .
De exemplu, un vector cu 10 elemente cu valori aleatoare între –5 şi 10 poate fi creat astfel:

Comanda randi:

Comanda randi generează numere aleatoare întregi cu distribuţie uniformă. Comanda poate
fi utilizată pentru a atribui aceste numere unui scalar, unui vector, sau unei matrice, aşa cum
se arată în tabelul 3-3.

Tabelul 3-3: Comanda randi

Intervalul numerelor aleatoare întregi poate fi stabilit să fie între oricare două numere întregi,
introducând [imin imax] în loc de imax. De exemplu, o matrice 3  4 cu numere
aleatoare întregi între 50 şi 90 este creată astfel:
Comanda randn:

Comanda randn generează numere aleatoare cu distribuţie normală, având media 0 şi


abaterea standard 1. Comanda poate fi folosită pentru a genera un singur număr, un vector,
sau o matrice, la fel ca în cazul comenzii rand.

De exemplu, o matrice 3  4 este creată astfel:

Media şi abaterea standard a numerelor pot fi modificate prin operaţii matematice pentru a
avea orice valori. Acest lucru se realizează prin înmulţirea numărului generat de funcţia
randn cu abaterea standard dorită şi adunarea mediei dorite.

De exemplu, un vector de şase numere cu o medie de 50 şi abatere standard de 4 este generat


astfel:

Numerele întregi cu distribuţie normală pot fi obţinute prin utilizarea funcţiei round.

S-ar putea să vă placă și