Documente Academic
Documente Profesional
Documente Cultură
Metoda trapezelor
Fie o funcţie f(x) continuă pe intervalul [a,b].
b
Integrala f (x)dx =? =F(a)-F(b)
a
F - primitiva funcţiei f
- nu poate fi calculată uşor
întotdeauna analitic
- nu există în cazul funcţiilor tabelate
b
ya y b
f (x)dx h
a
2
- formula trapezului
xi=a+(i-1)*h i=1,2,...,n
x1=a xn=b
yi=f(xi)
b
h h h
f (x)dx 2 y
a
1 y2
2
y2 y3 ... yn 1 yn
2
y y
h 1 n y 2 y3 ... y n 1
2 2
y y n 1
Fig.2 h 1 n yi
2 2 i2
float f (float x)
{
return x*x-exp(x);
}
1
Curs 12 Integrarea funcţiilor
void main()
{
int n;
float li,ls,v;
printf("Limita inferioara: ");
scanf("%f",&li);
printf("Limita superioara: ");
scanf("%f",&ls);
printf("Nr. puncte de integrare: ");
scanf("%d",&n);
v=trapez(f,li,ls,n);
printf("Valoarea integralei este: %g",v);
// Caz test: Functia: x*x-exp(x) cu limitele a=0, b=2
// valoarea exacta este:
printf("\nCaz test: %f",11.0/3.0-exp(2.0));
}
Cazuri test:
2
n Valoarea
integralei 20
5 2.343750
15 2.334180 15
f( x ) = x 2
50 2.333400
100 2.333350 10
1000 2.333333
5
0
0 1 2 3 4 5
2
Curs 12 Integrarea funcţiilor
x
e x dx . Valoarea exactă a integralei este -28.542427
2
2. Fie integrala:
2
-30
-40
0 1 2 3 4
3. Fie integrala:
In funcţie de numărul
6
punctelor de integrare
folosite se obţin următoarele
4
rezultate: x x x
4.5 cos cos
n Valoarea 3 3 4
2
integralei
5 10.956
0
10 11.2045
50 11.2608
2
500 11.2627 10 5 0 5 10
x
20000 11.2628
3
Curs 12 Integrarea funcţiilor
Exerciţiu
Deduceţi relaţia de calcul a unei integrale prin metoda dreptunghiurilor şi implementaţi
programul de calcul corespunzător.
Metoda Simpson
In cazul metodei trapezelor funcţia de integrat a fost aproximată liniar. In cadrul
metodei lui Simpson funcţia de integrat se aproximează cu un polinom de gradul 2
(parabolă) care are aceleaşi valori ca şi f(x) la capetele intervalului de integrare şi în mijlocul
acestuia, adică pentru f(a), f(b) şi pentru f(q), unde q=(a+b)/2.
Un astfel de polinom poate fi determinat prin interpolare în felul următor:
Fie polinomul de gradul 2:
P(x)=αx2+βx+γ
Condiţiile de interpolare impun ca:
f(a)=αa2+βa+γ
2
a b a b a b
f(q) f
2 2 2
f(b)=αb2+βb+γ
Aria suprafeţei de sub parabolă este valoare integralei pe intervalul [a,b] (vezi Fig.4) şi este:
2h 2h 2h
x3 x2
2 2h
I (x x )dx x 0
3 2
0 0 0
3 2
8h 4h
2h
3 2
h
3
8h 2 6h 6
4
Curs 12 Integrarea funcţiilor
Dar:
P(0)
P(h) h 2 h
P(2h) 4h 2 2h
Inmulţind ecuaţia a doua cu 4 şi
adunând-o la a treia se obţine:
P(2h)+4P(h)=8αh2+6βh+5γ
In expresia integralei I, între parantezele
drepte avem suma 8αh2+6βh+6γ de aceea
Fig.4 Ilustrarea metodei Simpson de integrare la ultima ecuaţia adăugăm în ambii mebri un
γ şi obţinem:
8αh2+6βh+6γ = P(2h)+4P(h)+γ
Acum, ţinând cont că γ=P(0) avem:
2
8αh +6βh+6γ = P(2h)+4P(h)+P(0)
Aşadar, aria suprafeţei de sub parabolă, pe intervalul [0,2h] este dată de formula:
h
I P(0) 4P(h) P(2h)
3
Cum din condiţiile de interpolare P(2h)=f(2h), P(h)=f(h) şi P(0)=f(0) înseamnă că valoarea
integralei se poate calcula evaluând funcţia f în punctele 0, h şi 2h.
Pentru un interval oarecare [a,b] se împarte intervalul [a,b] în m intervale şi se aplică
formula de mai sus fiecărui subinterval [x0,x2], [x2,x4], ...
Numărul de intervale m trebuie să fie par pentru a putea aplica formula parabolei definită de
trei puncte care determină două intervale. In intervalul [x0,x2] se va evalua valoarea funcţiei
în punctele a, a+h şi a+2h, în intervalul [x2,x4] se va evalua valoarea funcţiei în punctele
a+2h, a+3h şi a+4h, etc (vezi Fig.5).
Fig.5
void main()
{
double a,b,I;
int m;
a=0;
b=10;
printf("\nIntroduceti o valoare (para) pentru numarul de intervale m= ");
scanf("%d",&m);
I=simpson(a,b,m,f);
printf("\n\t I=%12.10f\n",I);
}
6
Curs 12 Integrarea funcţiilor