20.07.2013 Views

Software matematic

Software matematic

Software matematic

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!