20.07.2013 Views

Software matematic

Software matematic

Software matematic

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

94 Algebră liniară în MATLAB<br />

t y<br />

1900 75.995<br />

1910 91.972<br />

1920 105.711<br />

1930 123.203<br />

1940 131.669<br />

1950 150.697<br />

1960 179.323<br />

1970 203.212<br />

1980 226.505<br />

1990 249.633<br />

2000 281.422<br />

Se dores¸te modelarea cres¸terii populat¸iei printr-un polinom de gradul al treilea<br />

y(t) = c1t 3 +c2t 2 +c3t+c4<br />

s¸i predict¸ia populat¸iei din 2010.<br />

Dacă încercăm să calculăm coeficient¸ii cu c=polyfit(t,y,3), matricea sistemului<br />

va fi prost condit¸ionată, coloanele ei vor fi aproape liniar dependente s¸i vom<br />

obt¸ine mesajul<br />

Warning: Polynomial is badly conditioned. Remove repeated<br />

data points or try centering and scaling as<br />

described in HELP POLYFIT.<br />

Vom scala datele de intrare:<br />

s = (t−s)/50.<br />

Noua variabilă este în intervalul [−1,1], iar sistemul va fi bine condit¸ionat. Script-ul<br />

MATLAB 3.1, census.m, calculează coeficient¸ii, reprezintă datele s¸i polinomul s¸i<br />

estimează populat¸ia în 2010. Estimat¸ia apare s¸i în clar s¸i marcată cu un asterisc (vezi<br />

figura 3.2).<br />

3.3. Valori s¸i vectori proprii în MATLAB<br />

MATLAB utilizează rutine LAPACK pentru a calcula valori s¸i vectori proprii. Valorile<br />

proprii ale unei matrice se calculează cu funct¸ia eig: e=eig(A) pune valorile<br />

proprii ale lui A în vectorul e. Forma [V,D]=eig(A), unde A este matrice pătratică<br />

de ordinul n, returnează în coloanele lui Vnvectori proprii ai lui A s¸i în matricea diagonală<br />

D valorile proprii ale lui A. Are loc relat¸ia A*V=V*D. Nu orice matrice are<br />

n vectori proprii liniari independent¸i, deci matricea V returnată de eig poate fi singulară<br />

(sau datorită erorilor de rotunjire nesingulară, dar foarte prost condit¸ionată).<br />

Matricea din exemplul următor are o valoare proprie dublă 1, dar numai un vector<br />

propriu liniar independent:

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

Saved successfully!

Ooh no, something went wrong!