You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
80 Algebră liniară în MATLAB<br />
3.1.1. Sisteme pătratice<br />
Dacă A este o matrice pătratică nesingulară de ordinul n, atunci A\b este solut¸ia<br />
sistemului Ax=b, calculată prin factorizare LU cu pivotare part¸ială. În timpul rezolvării,<br />
MATLAB calculează rcond(A) s¸i tipăres¸te un mesaj de avertisment dacă<br />
rezultatul este mai mic decât eps:<br />
x = hilb(15)\ones(15,1)<br />
Warning: Matrix is close to singular or badly scaled.<br />
Results may be inaccurate. RCOND = 1.543404e-018.<br />
3.1.2. Sisteme supradeterminate<br />
Dacă m > n, în general sistemul Ax = b nu are nici o solut¸ie. Expresia MA-<br />
TLAB A\b calculează solut¸ia sistemului în sensul celor mai mici pătrate, adică minimizează<br />
norma euclidiană a reziduului (adică norm(A*x-b)) peste tot¸i vectorii<br />
x. DacăAare rang maximm, atunci solut¸ia este unică. DacăAare rangul k mai mic<br />
decât m (în acest caz spunem că A este deficientă de rang), A\b calculează o solut¸ie<br />
de bază cu cel mult k elemente nenule (k este determinat s¸i x este calculat utilizând<br />
factorizarea QR cu pivotare pe coloană). În ultimul caz MATLAB dă un mesaj de<br />
avertisment.<br />
Solut¸ia se mai poate calcula s¸i cu x min=pinv(A)*b, unde pinv(A) este<br />
pseudo-inversa lui A. Dacă A este deficientă de rang, x min este solut¸ia unică de<br />
normă euclidiană minimală. Vom reveni asupra acestui tip de sisteme în capitolul<br />
următor.<br />
Pseudo-inversa Moore-Penrose a lui A, notată cu A + generalizează not¸iunea de<br />
inversă pentru matrice dreptunghiulare s¸i deficiente de rang. Pseudo-inversa A + a lui<br />
A este matricea unică care satisface condit¸iile<br />
AA + A = A, A + AA + = A + , (A + A) + = A + A, (AA + ) + = AA + .<br />
Vom ilustra cu următoarele exemple:<br />
>> Y=pinv(ones(3))<br />
Y =<br />
0.1111 0.1111 0.1111<br />
0.1111 0.1111 0.1111<br />
0.1111 0.1111 0.1111<br />
>> A=[0 0 0 0; 0 1 0 0; 0 0 2 0]<br />
A =<br />
0 0 0 0<br />
0 1 0 0<br />
0 0 2 0<br />
>> pinv(A)