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.

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

Pentru a integra funct¸ii date prin valori, nu prin expresia lor analitică, se foloses¸te<br />

funct¸ia trapz. Ea implementează regula trapezelor (nodurile nu trebuie să fie echidistante).<br />

As¸a cum am văzut în sect¸iunea ??, aceasta dă rezultate bune la integrarea<br />

funct¸iilor periodice pe intervale a căror lungime este un multiplu întreg al perioadei.<br />

Exemplu:<br />

>> x=linspace(0,2*pi,10);<br />

>> y=1./(2+sin(x));<br />

>> trapz(x,y)<br />

ans =<br />

3.62759872810065<br />

>> 2*pi*sqrt(3)/3-ans<br />

ans =<br />

3.677835813675756e-010<br />

Valoarea exactă a integralei fiind 2<br />

3<br />

√ 3π, eroarea este mai mică decât 10 −9 .<br />

5.2. Calculul integralelor duble în MATLAB<br />

Integralele duble pe un dreptunghi pot fi evaluate cu dblquad. Pentru ilustrare,<br />

să presupunem că dorim să aproximăm integrala<br />

π<br />

2π<br />

0<br />

π<br />

(ysinx+xcosy)dxdy<br />

Valoarea exactă a integralei este−π 2 , după cum se poate verifica cu toolbox-ul Symbolic:<br />

>> syms x y<br />

>> z=y*sin(x)+x*cos(y);<br />

>> int(int(z,x,pi,2*pi),y,0,pi)<br />

ans = -piˆ2<br />

Integrandul se poate da ca obiect inline, expresie s¸ir de caractere, sau function<br />

handle. Să presupunem că integrandul este dat în fis¸ierul integrand.m:<br />

function z = integrand(x, y) z = y*sin(x)+x*cos(y);<br />

Vom utiliza dblquad s¸i vom face s¸i verificarea:<br />

>> Q = dblquad(@integrand, pi, 2*pi, 0, pi)<br />

Q =<br />

-9.8696<br />

>> -piˆ2<br />

ans =<br />

-9.8696

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

Saved successfully!

Ooh no, something went wrong!