Documente Academic
Documente Profesional
Documente Cultură
suma Sn=s1+s2++sn=
f ( )x
i
i 1
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
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
dreptunghiuri. Cnd numrul dreptunghiurilor crete i xi tinde spre 0, linia frnt care mrginete
x0
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 )
Xi-1
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
x0=a x1 x2
x0=a x1 x2
xn=b
xn=b
x0=a x1 x2
sau
Sau, n cazul cnd snt folosite valorile funciei n punctele din mijloacele segmentelor:
b
f ( x) dx hi f (
i 1
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;