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.

124 Funct¸ii de funct¸ii<br />

>> fzero(’cos(x)-x’,0)<br />

ans =<br />

0.7391<br />

Precizia s¸i modul de afis¸are a rezultatelor sunt controlate de un al treilea argument<br />

de intrare, structura options, care se poate seta cu ajutorul funct¸iei optimset.<br />

Funct¸ia fzero utilizează două câmpuri ale lui options: TolX care dă precizia<br />

(tolerant¸a) s¸i Display care specifică nivelul de raportare, cu valorile off pentru<br />

nici o ies¸ire, iter pentru ies¸ire la fiecare iterat¸ie, final pentru a afis¸a doar rezultatul<br />

final s¸i notify pentru a afis¸a rezultatul numai dacă funct¸ia nu converge<br />

(implicit). Pentru exemplul precedent, utilizând Display cu final obt¸inem:<br />

>> fzero(’cos(x)-x’,0,optimset(’Display’,’final’))<br />

Zero found in the interval [-0.905097, 0.905097] ans =<br />

0.7391<br />

Argumentul de intrare x0 poate fi s¸i un interval la ale cărui capete funct¸ia să aibă<br />

valori de semne contrare. Un astfel de argument este util dacă funct¸ia are singularităt¸i.<br />

Vom seta în continuare Display pe final cu comanda<br />

os=optimset(’Display’,’final’);<br />

Considerăm exemplul (mesajul nu apare):<br />

>> [x,fval]=fzero(’tan(x)-x’,1,os)<br />

... x =<br />

1.5708<br />

fval =<br />

-1.2093e+015<br />

Cel de-al doilea argument de ies¸ire este valoarea funct¸iei în zeroul calculat. Deoarece<br />

funct¸ia f(x) = tanx − x are o singularitate în π/2 (vezi figura 5.3) vom da ca<br />

argument de pornire un interval ce cont¸ine un zero, dar fără singularităt¸i:<br />

>> [x,fval]=fzero(’tan(x)-x’,[-1,1],os)<br />

Zero found in the interval: [-1, 1]. x =<br />

0<br />

fval =<br />

0<br />

Se pot transmite parametrii suplimentari p1,p2,... funct¸iei f cu apeluri de<br />

forma<br />

x = fzero(f,x0,options,p1,p2,...)<br />

Dacă se dores¸te ca options să aibă valori implicite se poate folosi pe pozit¸ia respectivă<br />

matricea vidă [].<br />

MATLAB nu are nici o funct¸ie pentru rezolvarea sistemelor de ecuat¸ii neliniare.<br />

Totus¸i, se poate încerca rezolvarea unor astfel de sisteme prin minimizarea sumei

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

Saved successfully!

Ooh no, something went wrong!