ELEMENTE DE ALGEBRA MATRICEALA IN MATLAB
description
Transcript of ELEMENTE DE ALGEBRA MATRICEALA IN MATLAB
ELEMENTE DE ALGEBRA MATRICEALA IN MATLAB
Comenzi de bază
ComandaComanda FuncFuncţţia executatia executatăă
invinv Calculeaza inversa unei matrice patratice nesingulareCalculeaza inversa unei matrice patratice nesingulare
pinvpinv Calculeaza pseudoinversa unei matriceCalculeaza pseudoinversa unei matrice
rankrank Calculeaza rangul unei matriceCalculeaza rangul unei matrice
condcond Estimeaza numarul de conditionare al matriceiEstimeaza numarul de conditionare al matricei
detdet Calculeaza determinantul unei matrice patraticeCalculeaza determinantul unei matrice patratice
tracetrace Calculeaza urma unei matriceCalculeaza urma unei matrice
condestcondest Estimeaza numarul de conditionare al matriceiEstimeaza numarul de conditionare al matricei
normnorm Calculeaza norma vectorului sau matriceiCalculeaza norma vectorului sau matricei
rcondrcond Estimeaza numarul de conditionare al matriceiEstimeaza numarul de conditionare al matricei
sizesize Returneaza dimensiunea unei matriceReturneaza dimensiunea unei matrice
lengthlength Returneaza lungimea unui vectorReturneaza lungimea unui vector
‘‘ Calculeaza transpusa unei matrice/vectorCalculeaza transpusa unei matrice/vector
diagdiag Extrage din matrice, matricea diagonalaExtrage din matrice, matricea diagonala
Raportul dintre cea mai mare valoare singulară nenulă şi cea mai mică valoare singulară nenulă ale matricei [A] se numeşte numărul de condiţionare în raport cu inversarea matricei [A].
Dimensiunea unei matrice este (n,m) in care n = numarul de linii, m = numarul de coloane
CURS 5
Pseudo-inversa matricei [A] este o matrice [B] de aceeaşi dimensiune ca şi [A]T, care îndeplineşte următoarele condiţii:
• A·B·A = A şi B·A·B = B,
• A·B şi B·A sunt matrice hermitiene.
O matrice hermitiană este o matrice pătratică cu proprietatea că ea coincide cu transpusa conjugatei sale.
APLICATIA 1
2 - 3 1
Se dau matricele: [A] = - 4 6 2 si vectorul [B] = [1 3 1]
1 2 3
Să se determine: a) size(A); b) length (B); c) rank(A); d) det(A); e) inv(A); f) cond(A);
g) trace(A); h) A’; B’; i) diag(A).
In urma lansarii comenzilor de mai sus, marcate cu culoare albastra, programul MATLAB va afisa urmatoarele rezultate:
REZULTATE OBTINUTE:
a) 3 3 ; b) 3; c) 3; d) -28; e) ; f) 9.0643; g) 11; h) ;
- 0.500 - 0.3929 0.4286
- 0.500 - 0.1786 0.2857
0.500 0.2500 02
6
3
i)
2 - 4 1
- 3 6 2
1 2 3
1
3
1
Puteri de matrice
Dacă [A] este o matrice pătratică şi p este un număr întreg pozitiv, atunci A^p multiplică pe A cu ea însăşi de p ori. Dacă [A] este pătratică şi nesingulară, atunci A^(-p) multiplică pe inv(A) cu ea însăşi de p ori.
APLICATIA 2
Se da matricea [A] = . Sa se calculeze A2 si A-2.
1 1 1
1 2 3
1 3 6
In MATLAB se lanseaza comanda A^2 si rezulta: 3 6 10 6 14 25 10 25 46
Daca se lanseaza comanda A^(-2) rezulta: 19.0000 -26.0000 10.0000 -26.0000 38.0000 -15.0000 10.0000 -15.0000 6.0000
REZOLVAREA SISTEMELOR DE ECUATII LINIARE SI NELINIARE
Se activeaza in MATLAB comanda fsolve pentru aflarea solutiilor reale ale unui sistem de ecuatii liniar sau neliniar. Cu ajutorul comenzii \ se rezolva, prin metoda pivotarii Gauss, sistemele de ecuatii liniare de forma A·X = B.
APLICATIA 2Sã se rezolve sistemul de ecuatii:
x + 2y + 3z = 1
4x + 5y + 6z = 2
7x + 8y + 5z = 3
COMANDA:
>> A = [ 1 2 3; 4 5 6; 7 8 5] ;
>> B = [1 2 3]’;
>> X = A\B sau X = inv(A)*B
REZULTATE OBTINUTE:
0.3333
0.6667
0
Programul determina mai intai:
det (A) = 12
[A]T = ; [A]* =
[A]-1 = 1det(A)
A*
1 4 72 5 83 6 5
- 23 14 - 3 22 - 16 6- 3 6 - 3
- 1.9167 1.1667 - 0.2500 [A]-1 = 1.8333 -1.3333 0.5000 - 0.2500 0.5000 - 0.2500
;
{X} = [A]-1·{B} =
0.3333
0.6667
0.0000
APLICATIA 3
a1 + a2 + a3 = 1
a1 + 1,21a2 + 1,4641a3 = 1,1
a1 + 1,44a2 + 2,0736a3 = 1,2
Sa se rezolve sistemul de ecuatii:
COMANDA:
A = [1 1 1; 1 1.21 1.4641; 1 1.44 2.0736];B = [1; 1.1; 1.2];X = linsolve (A,B)
X = 0.4099 0.6842 - 0.0941
REZULTATE OBTINUTE:
APLICATIA 4
Sa se rezolve sistemul neliniar:
sin x + y2 + ln z = 7
3x + 2y – z3 = -1
x + y + z = 5
folosind functia fsolve, cu solutia de start x = 1, y = 1, z = 1.
Se creeaza un fisier cu extensia “.m”, spre exemplu, system.m
function q = f_name(p)
x = p(1) ; y = p(2); z = p(3);
q = zeros(3,1);
q(1) = sin(x) + y.^2 + log(z) – 7;
q(2) = 3*x + 2.^y – z.^3 +1;
q(3) = x + y + z – 5;
Se da apoi, in pagina principala, urmatoarea COMANDA: >> fsolve (‘system’, [1 1 1])%
0.5991 2.3959 2.0050REZULTATE OBTINUTE: