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