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