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.

50 Introducere în MATLAB<br />

Rezolvarea ecuat¸iilor. Toolbox-ul Symbolic Math poate rezolva ecuat¸ii s¸i<br />

sisteme de ecuat¸ii, inclusiv neliniare. A se vedea help sym/solve sau doc<br />

sym/solve. Vom da câteva exemple. Înainte de rezolvarea unei ecuat¸ii vom s¸terge<br />

memoria, vom defini simbolurile s¸i ecuat¸iile. (Este o bună practică de a s¸terge memoria<br />

înainte de rezolvarea unei noi probleme pentru a evita efectele provocate de<br />

valorile precedente ale unor variabile.)<br />

Vom începe cu rezolvarea ecuat¸iei de gradul al doilea ax 2 +bx+c = 0.<br />

>> clear, syms x a b c<br />

>> eq=’a*xˆ2+b*x+c=0’;<br />

>> x=solve(eq,x)<br />

x =<br />

1/2/a*(-b+(bˆ2-4*a*c)ˆ(1/2))<br />

1/2/a*(-b-(bˆ2-4*a*c)ˆ(1/2))<br />

Este posibil ca la rezolvarea unei ecuat¸ii să se obt¸ină mai multe solut¸ii (în exemplul de<br />

mai sus s-au obt¸inut două). Se poate selecta una concretă prin indexare, de exemplu<br />

x(1).<br />

Să rezolvăm acum sistemul liniar 2x−3y +4z = 5, y +4z +x = 10, −2z +<br />

3x+4y = 0.<br />

>> clear, syms x y z<br />

>> eq1=’2*x-3*y+4*z=5’;<br />

>> eq2=’y+4*z+x=10’;<br />

>> eq3=’-2*z+3*x+4*y=0’;<br />

>> [x,y,z]=solve(eq1,eq2,eq3,x,y,z)<br />

x =<br />

-5/37<br />

y =<br />

45/37<br />

z =<br />

165/74<br />

De notat că ordinea în care se dau variabilele în lista de parametrii de intrare nu este<br />

importantă, pe când ordinea în care se dau variabilele de ies¸ire este importantă.<br />

Exemplul următor rezolvă sistemul neliniar y = 2e x s¸i y = 3−x 2 .<br />

>> clear, syms x y<br />

>> eq1=’y=2*exp(x)’; eq2=’y=3-xˆ2’;<br />

>> [x,y]=solve(eq1,eq2,x,y)<br />

x =<br />

.36104234240225080888501262630700<br />

y =<br />

2.8696484269926958876157155521484

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

Saved successfully!

Ooh no, something went wrong!