19
Calculul Integralei definite Metoda Dreptunghiurilor Metoda Trapezelor

Integrala definita

Embed Size (px)

DESCRIPTION

Numerical methods for definite integral calculation. Rectangles and trapezoids method. Algorithms, implementation.

Citation preview

Page 1: Integrala definita

Calculul Integralei definite

Metoda DreptunghiurilorMetoda Trapezelor

Page 2: Integrala definita

Integrala definită. Interpretarea geometrică

Fie dată funcţia f(x) continuă pe segmentul [a,b]. Integrala definită

( )b

a

f x dxeste aria trapezului curbiliniu, determinat de axa 0X, dreptele x = a şi x = b, şi graficul funcţiei f(x) pe segmentul [a,b]

© Sergiu Corlat, 2004

Page 3: Integrala definita

Metoda dreptunghiurilor

Determinarea ariei unei figuri curbilinii este destul de dificilă, de aceea se utilizează procedura de aproximare a figurii iniţiale prin un set de figuri geometrice, ariile cărora se determină după formule standard.

© Sergiu Corlat, 2004

Page 4: Integrala definita

© Sergiu Corlat, 2004

Page 5: Integrala definita

11

0

1

0

;

, 0,..., .

( )

2

(2 1)2

i

b

a

ni i

i

n

i

b ah

nx a ih i n

f x dx

x xh f

hh f a i

Varianta dreptunghiurilor de mijloc

Page 6: Integrala definita

1

0

1

0

;

, 0,..., .

( )

i

b

a

n

ii

n

i

b ah

nx a ih i n

f x dx

h f x

h f a ih

Varianta dreptunghiurilor de stânga

Page 7: Integrala definita

Varianta dreptunghiurilor de dreapta

1

1

;

, 0,..., .

( )

i

b

a

n

ii

n

i

b ah

nx a ih i n

f x dx

h f x

h f a ih

Page 8: Integrala definita

Algoritmul general (număr fix de divizări)

1. Se introduc limitele de integrare a,b şi numărul de divizări n.

2. Se calculează pasul de deplasare h

3. Pornind de la a se calculează mijlocul fiecărui segment elementar zi f(zi), şi ariile

dreptunghiurilor elementare.

4. Se sumează ariile elementare.

© Sergiu Corlat, 2004

Page 9: Integrala definita

Estimarea erorii y

f(x)g(x)= f((xi,+ xi+1)/2)

0 xi xi+1 …

f(x) se aproximează prin g(x).

1

( ) ( )

2i i

f x g x

x xM x

Eroarea la integrare pe un segment elementar este integrala erorii de aproximare:

1 1

1

2

1

[ ]

( )2

sup ( )

i i

i i

i i

x x

i i

x x

x x

x xf x dx g x dx M

M f x

© Sergiu Corlat, 2004

Page 10: Integrala definita

Algoritmul general (pentru o eroare fixată)

1 1

1

2

1

[ ]( ) , sup ( )

2

i i

i ii i

x x

i i

x xx x

x xf x dx g x dx M M f x

Eroarea de calcul al integralei pe un segment elementar nu depăşeşte

Prin urmare eroarea de calcul al integralei pe [a,b] nu depăşeşte sume erorilor pe segmentele elementare

2

[ , ]( ) ( ) , sup ( )

2 4

b

a ba

h hf x dx S nM b a M M f x

Pentru o eroare fixată numărul de divizări se calculează apriori:

22 ( )

( ) ( ) 4 1;4 4

h b a Mb a M b a M n n

© Sergiu Corlat, 2004

Page 11: Integrala definita

Exemplu program:var a,b,h,S :real; j,k,i,n :integer; function f(x:real):real; begin f:=5-(x*x-sin(5*x)); end;begin for j:=1 to 3 do begin a:=-2; b:=2; n:=0; for k:=1 to 10 do begin n:=n+10; S:=0; h:=(b-a)/n; for i:=0 to n-1 do case j of 1: s:=s+h*f(a+i*h); 2: s:=s+h*f(a+i*h+h); 3: s:=s+h*f(a+i*h+h/2); end; writeln('n=',n:3,' I=',s:0:6); end; end;end.

Page 12: Integrala definita

Rezultate:

Dreptunghiuri stanga:

n= 10 I=14.777608

n= 20 I=14.748804

n= 30 I=14.727351

n= 40 I=14.714402

n= 50 I=14.705922

n= 60 I=14.699972

n= 70 I=14.695577

n= 80 I=14.692201

n= 90 I=14.689529

n=100 I=14.687361

Dreptunghiuri dreapta:

n= 10 I=14.342392

n= 20 I=14.531196

n= 30 I=14.582279

n= 40 I=14.605598

n= 50 I=14.618878

n= 60 I=14.627436

n= 70 I=14.633403

n= 80 I=14.637799

n= 90 I=14.641171

n=100 I=14.643839

Dreptunghiuri mijloc:

n= 10 I=14.720000

n= 20 I=14.680000

n= 30 I=14.672593

n= 40 I=14.670000

n= 50 I=14.668800

n= 60 I=14.668148

n= 70 I=14.667755

n= 80 I=14.667500

n= 90 I=14.667325

n=100 I=14.667278

Page 13: Integrala definita

Metoda trapezelor

Aproximarea ariei unui trapez curbiliniu este mult mai eficientă în cazul cînd pe fiecare din segmentele elementare este aproximată prin un trapez, şi nu prin dreptunghi.

Pe segmentul elementar [xi, xi+1] trapezul este determinat de extremităţile segmentului pe axa 0X (xi,0) (xi+1 0) şi de valoarea funcţiei f(x) în extremităţi: (xi,f(xi)) (xi+1 ,f(xi+1))

© Sergiu Corlat, 2004

Page 14: Integrala definita

Aparatul matematic

;

,

0,..., .i

b ah

nx a ih

i n

1 11 1

0 0

( ) ( ) ( ) ( )( )

2 2

b n ni i i i

i ia

f x f x f x f xf x dx h h

Page 15: Integrala definita

Estimarea eroriiFie f(x) - de două ori derivabilă pe intervalul [a,b].

Pe un interval elementar [xi, xi+1] g(x) aproximează funcţia f(x) şi coincide cu ea în extremităţi. Eroarea aproximării este determinată de formula:

1

1

[ ]( ) ( ) sup ( )

2 i i

i i

x x

x x x xf x g x M M f x

© Sergiu Corlat, 2004

Page 16: Integrala definita

Eroarea la integrarea pe segmentul elementar este integrala erorii de aproximare:

1 1 1

1

1

31

[ ]

( )2

( ) sup ( )12

i i i

i i i

i i

x x xi i

x x x

i ix x

x x x xf x dx g x dx M dx

Mx x M f x

Eroarea la integrarea pe segmentul [a,b] este suma erorilor de integrare pe segmentele elementare:

23

[ , ]

( )( ) sup ( )

12 12

b

a ba

M b a Mhf x dx S n h M f x

© Sergiu Corlat, 2004

Page 17: Integrala definita

Algoritmul general (număr fix de divizări)

1. Se introduc limitele de integrare a,b şi numărul de divizări n.

2. Se calculează pasul de deplasare h

3. Pornind de la a se calculează valoarea funcţiei în

extremităţile fiecărui segment elementar şi ariile trapezelor elementare.

4. Se sumează ariile calculate.© Sergiu Corlat, 2004

Page 18: Integrala definita

Exemplu programvar a,b,h,S :real; j,k,i,n :integer;

function f(x:real):real; begin f:=5-(x*x-sin(5*x)); end;begina:=-2; b:=2; n:=0; for k:=1 to 10 do begin n:=n+10; s:=0; h:=(b-a)/n; for i:=0 to n-1 do s:=s+h*(f(a+i*h)+f(a+(i+1)*h))/2; writeln('n=',n:3,' I=',s:0:6); end;end.

© Sergiu Corlat, 2004

Page 19: Integrala definita

Rezultate:

Trapeze

n=100 I=14.665600n=200 I=14.666400n=300 I=14.666548n=400 I=14.666600n=500 I=14.666624n=600 I=14.666637n=700 I=14.666645n=800 I=14.666650n=900 I=14.666653n=1000 I=14.666656

Dreptunghiuri de stanga:n=100 I=14.687361n=200 I=14.677280n=300 I=14.673802n=400 I=14.672040n=500 I=14.670976n=600 I=14.670264n=700 I=14.669754n=800 I=14.669370n=900 I=14.669071n=1000 I=14.668832

Dreptunghiuri de dreapta:

n=100 I=14.643839n=200 I=14.655520n=300 I=14.659295n=400 I=14.661160n=500 I=14.662272n=600 I=14.663010n=700 I=14.663536n=800 I=14.663930n=900 I=14.664236n=1000 I=14.664480