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.

8 Introducere în MATLAB<br />

>> ones(2,3)<br />

ans =<br />

1 1 1<br />

1 1 1<br />

>> eye(3,2)<br />

ans =<br />

1 0<br />

0 1<br />

0 0<br />

O situat¸ie comună se întâlnes¸te atunci când se dores¸te construirea unei matrice<br />

identice sau nule având o dimensiune egală cu a unei matrice date A. Aceasta se<br />

poate face cu eye(size(A)). O funct¸ie înrudită cu size este funct¸ia length:<br />

length(A) este cea mai mare dintre dimensiunile lui A. Astfel, pentru un vector<br />

n×1 sau 1×n, x, length(x) returnează n.<br />

Funct¸iile rand s¸i randn generează matrice de numere (pseudo-)aleatoare, utilizând<br />

aceeas¸i sintaxă ca s¸i eye. Funct¸ia rand produce o matrice de numere aleatoare<br />

având distribut¸ia uniformă pe intervalul [0,1]. Funct¸ia randn generează o matrice<br />

de numere aleatoare având distribut¸ia normală standard. Apelate fără argumente,<br />

ambele funct¸ii produc un singur număr aleator.<br />

>> rand<br />

ans =<br />

0.4057<br />

>> rand(3)<br />

ans =<br />

0.9355 0.8936 0.8132<br />

0.9169 0.0579 0.0099<br />

0.4103 0.3529 0.1389<br />

În simulările s¸i experimentele cu numere aleatoare este important ca secvent¸ele de<br />

numere aleatoare să fie reproductibile. Numerele produse de rand depind de starea<br />

generatorului. Starea se poate seta prin comanda rand(’state’,j). Pentru j=0<br />

generatorul rand este setat în starea init¸ială (starea de la lansarea MATLAB). Pentru<br />

întregi j nenuli, generatorul este setat pe a j-a stare. Starea lui randn se setează<br />

în acelas¸i mod. Perioadele lui rand s¸i randn, adică numărul de termeni generat¸i<br />

înainte ca secvent¸ele să înceapă să se repete este mai mare decât 2 1492 ≈ 10 449 .<br />

Matricele se pot construi s¸i în formă de bloc. Din matricea B, definită prin B=[1<br />

2; 3 4], putem crea<br />

>> C=[B, zeros(2); ones(2), eye(2)]<br />

C =<br />

1 2 0 0<br />

3 4 0 0<br />

1 1 1 0

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

Saved successfully!

Ooh no, something went wrong!