Sunteți pe pagina 1din 5

Integrare numeric

Fie, pe intervalul [a, b] este definit o funcie y=f(x).


Vom diviza intervalul [a, b] n segmente elementare [xi+1,xi] (i=1,2,n), x0=a, xn=b. Pe fiecare
segment vom alege cte un punct arbitrar i i (xi-1 xi) i vom calcula
si=f(i)*xi, unde xi=xi -xi-1
n

suma Sn=s1+s2++sn=

f ( )x
i

i 1

, se numete suma integral.

Numim integral definit a funciei f(x) pe intervalul [a, b] limita sumei integrale cnd numrul de
puncte de divizare crete la infinit. n acest caz lungimea celui mai mare segment elementar tinde spre
zero
b

f ( x )dx

lim

max xi 0

f (
i 0

) x i

Teorema de existen a integralei definite.


Dac f(x) este continu pe [a, b], atunci limita sumei integrale exist i nu depinde nici de modul de
divizare al intervalului [a, b] n segmente elementare, nici de modul de selectare a punctelor i.
Mn
Mn-1

y=f(x)
Mi
M2

Sensul geometric a acestor noiuni pentru cazul f(x)0 este ilustrat n figura de mai sus.
M1

s1 s2
si valorile
sn-1 , iar
sn ordonatele f( ).
Abscisele punctelor
Mi snt
i
i

si snt ariile
elementare,
a dreptunghiurilor

dar suma integral aria figurii, formate din aceste


0

dreptunghiuri. Cnd numrul dreptunghiurilor crete i xi tinde spre 0, linia frnt care mrginete
x0

x1x2xi-1 xixixn-2 xn-1

figura de sus trece n y=f(x).

xn x

Aria acestei figuri, care se mai numete trapez curbiliniu, este egal valorii integralei definite. n
cazurile cnd f(x) este exprimat analitic, integrala poate fi calculat cu ajutorul formulei Newton
b

Leibnitz:

f ( x)dx F ( x)
a

b
a

F (b) F (a )

ns, n practic, formula dat nu poate fi folosit din urmtoarele cauze:


1. expresia analitic nu permite integrare direct;

2. valorile f(x) snt cunoscute numai n numr finit de


puncte xi cu alte cuvinte, funcia este exprimat tabelar.
n aa cazuri snt folosite metodele de integrare numeric.

Xi-1

Cea mai simpl metod este metoda dreptunghiurilor, care


direct folosete nlocuirea integralei definite cu suma

Xi

Xi +1

integral.
n calitate de puncte i se aleg marginile din stnga (i=xi-1) (metoda dreptunghiurilor de stnga),
sau din dreapta (i=xi) (metoda dreptunghiurilor de dreapta), sau punctele din mijlocul ale
segmentelor elementare (i=xi-1+xi /2 )(metoda dreptunghiurilor medii)
Dac notm f(xi)=yi, xi=hi:
b

f ( x )dx h1 y 0 h2 y1 ... hn y n 1 +Rn (metoda dreptunghiurilor de stnga)

x0=a x1 x2

x0=a x1 x2

xn=b

xn=b

x0=a x1 x2

sau

f ( x )dx h1 y1 h2 y 2 ... hn y n +Rn. (metoda dreptunghiurilor de dreapta)

Sau, n cazul cnd snt folosite valorile funciei n punctele din mijloacele segmentelor:
b

f ( x) dx hi f (
i 1

xi 1 xi +Rn (metoda dreptunghiurilor medii).


)
2

Unde Rn este eroarea calculului aproximativ.


Pentru integrare numeric se folosete i metoda trapezelor, n care funcia f(x) prin interpolare
liniar se aproximeaz printr-o linie frnt. Aria trapezului curbiliniu se aproximeaz cu suma ariilor
trapezelor dreptunghice:

xn=b

f ( x ) dx hi
i 1

f ( xi 1 ) f ( xi )
+Rn (metoda trapezelor).
2

Pentru a efectua calculul integralei cu aproximarea prestabilit , n cazul cnd f(x) este definit
analitic, cel mai convenabil este s mprim intervalul de integrare n n segmente egale (h=(b-a)/n) i
s folosim estimarea aposteriori a erorii dup regula lui Runge. n acest caz nu trebuie s calculm
derivatele de ordinul nti i doi ale funciei f(x), i s cutm valoarea maxim a derivatei de ordinul
doi.
Regula lui Runge pentru metoda dreptunghiurilor i metoda trapezelor:
Ih-Ih/2 /3< , unde
Ih-suma integral calculat pentru h=(b-a)/n
Ih/2-suma integral calculat pentru h=(b-a)/(2n), adic numrul dublu de intervale elementare de
integrare.
Aproximarea este i mai bun dac Ih-Ih/2 < . Anume n aa form vom folosi regula lui Runge
pentu oprirea procesului iterativ de calcul a integralei definite (ariei trapezului curbiliniu)
{$f+}
program integrare_numerica;
uses crt;
type metoda_integrare=function(n:integer):real;
{Definim tipul functie pentru ca sa putem calcula integrala prin diferite metode}
var a,b,eps, I:real;
n:integer;
function f(x:real):real;
begin
f:=exp(abs(x/2));
end;
function sting(n:integer):real; {metoda dreptunghiurilor de stinga}
var h,x,s:real;
i:integer;
begin
s:=0;
h:=(b-a)/n;
x:=a;
for i:=1 to n do begin
s:=s+f(x);
x:=x+h;
end;
sting:=h*s;
end;
function drept(n:integer):real; {metoda dreptunghiurilor de dreapta}
var h,x,s:real;
i:integer;

begin
s:=0;
h:=(b-a)/n;
x:=a+h;
for i:=1 to n do begin
s:=s+f(x);
x:=x+h;
end;
drept:=h*s;
end;
function medii(n:integer):real; {metoda dreptunghiurilor medii}
var h,x,s:real;
i:integer;
begin
s:=0;
h:=(b-a)/n;
x:=a+h/2;
for i:=1 to n do begin
s:=s+f(x);
x:=x+h;
end;
medii:=h*s;
end;
function trapez(n:integer):real; {metoda trapezelor}
var h,x,s:real;
i:integer;
begin
s:=(f(a)+f(b))/2;
h:=(b-a)/n;
x:=a+h;
for i:=1 to n-1 do begin
s:=s+f(x);
x:=x+h;
end;
trapez:=h*s;
end;
procedure aproximare(integrare:metoda_integrare;eps:real;var n:integer;var I:real);
{estimarea erorii prin regula RUNGE}
var s1,s2,d:real;
begin
n:=2;
s1:=integrare(n);
repeat
n:=2*n;
s2:= integrare(n);
d:=abs(s1-s2);
s1:=s2;
until d<eps;
I:=s1;
end;
begin
write('a=');readln(a);write('b=');readln(b);

write('eps=');readln(eps);
aproximare(sting, eps, n, I);
Writeln('Integrala calculata prin metoda dreptunghiurilor de stinga=', I,'Num. de intervale
elementare=', n);
aproximare(drept, eps, n, I);
Writeln('Integrala calculata prin metoda dreptunghiurilor de dreapta=',I,'Num. de intervale
elementare=', n);
aproximare(medii, eps, n, I);
Writeln('Integrala calculata prin metoda dreptunghiurilor medii=',I,'Num. de intervale elementare=', n);
aproximare(trapez, eps, n, I);
Writeln('Integrala calculata prin metoda trapezelor=',I,'Num. de intervale elementare=', n);
End.
Note!
Din condiia itemului respectiv trebuie s deducem n ce form folosim subprogramele propuse mai sus.
De exemplu, dac se cere aflm poziia dreptei care mparte figura dat n n dou pri n aa fel ca raportul
ariilor acestora S1:S2 s fie M:P, procedm n urmtorul mod:
1. Calculm integrala definit pe intervalul [a,b] I prin metoda i cu aproximarea propus.
Totodad, aflm i numrul de intervale elementare n n care trebuie mprit figura pentu ca s atingem
precizia de calcul necesar. tiind n, calculm h=(b-a)/n.
2. Calculm aria figurii din stnga S1 acumulnd treptat suma ariilor figurilor elementare cu pasul h att
timp ct raportul necesar nu este respectat.
Function pozitia(n,M,P:integer):real; {I- intergala definita pe [a,b]; a,b folosim ca parametric globali}
Var aux,s1,h:real;
Begin
h:=(b-a)/n;
Aux:=a-h; {pentru metoda dr. de stinga si metoda trepezelor}
{ aux:=a; pentru metoda dr. de dreapta ; aux :=a-h/2 pentru metoda dr. medii }
S1:=0;
While S1/I<M/(M+P) do begin
aux:=aux+h ;
S1:=S1+f(aux)*h; {pentru metoda dreptunghiurilor de orice tip}
{ in cazul metodei trapezelor S1:=S1+h*(f(aux)+f(aux+h))/2 }
end;
pozitia:=aux;
end;

S-ar putea să vă placă și