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 suma Sn=s1+s2++sn=

f ( )x , se numete suma integral.


i =1 i i

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=

max xi 0

lim

f ( )x
i =0 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 y Mn-1 y=f(x) Mi M2

Sensul geometric a acestor noiuni pentru cazul f(x)>0 este ilustrat n figura de mai sus.
1 2 i n-1 Abscisele punctelor Mi snt valorile i, iarn ordonatele f(i).

M1

s s

a 1 2 i n si snt ariile dreptunghiurilor elementare, dar suma integral aria figurii, formate din aceste

dreptunghiuri. Cnd numrul dreptunghiurilor crete i xi tinde spre 0, linia frnt care mrginete figura de sus trece n y=f(x).
x0 x1x2xi-1 xixixn-2 xn-1 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

Leibnitz:

f (x)dx= F (x)

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;

x0=a x1 x2

xn=b

x0=a x1 x2

xn=b

x0=a x1 x2

xn=b

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. Cea mai simpl metod este metoda dreptunghiurilor, care direct folosete nlocuirea integralei definite cu suma 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:

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

sau

f (x)dx= h1 y1 + h2 y2 + ...+ hn yn +Rn. (metoda dreptunghiurilor de dreapta)

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

f ( x )dx = hi f (
i =1

xi 1 + xi +Rn (metoda dreptunghiurilor0medii). ) 2 Xi-1

Xi

Xi +1

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:
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 , unde /3< 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