Integrala definita

Post on 15-Nov-2014

5.989 views 18 download

description

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

Transcript of Integrala definita

Calculul Integralei definite

Metoda DreptunghiurilorMetoda Trapezelor

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

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

© Sergiu Corlat, 2004

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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