Sunteți pe pagina 1din 17

1

X. Integrarea numerică

X.1. Formula generală de cuadratură numerică. Formula de cuadratură


Newton-Cotes

Fie f : [a, b] → R o funcţie continuă. Ne punem problema să calculăm valoarea


b

aproximativă a integralei
∫ f ( x ) ρ ( x ) dx , unde ρ : [a, b] → R este o funcţie continuă
a
strict

pozitivă numită pondere. Considerăm x 0 , x 1 ,…, x n n + 1 puncte distincte din intervalul [a, b],
şi notăm y i = f(x i ) pentru orice i = 0, 1,…,n.
b

O formulă de cuadratură presupune aproximarea integralei


∫ f ( x ) ρ ( x ) dx
a
printr-o

combinaţie liniară de valori ale funcţiei f în punctele x 0 , x 1 , …, x n , i.e


b

∫ f ( x ) ρ ( x ) dx ≈ A f ( x ) + A f ( x ) + ... + A f ( x )
a
0 0 1 1 n n

Fie L n polinomul Lagrange asociat lui f şi punctelor considerate:


n
( x − x0 ) ( x − x1 ) ... ( x − xi −1 )( x − xi +1 ) ... ( x − xn )
= ( xi ) li ( x )
Ln ( x ) f= ∑ y ( x − x )( x − x ) ...( x − x
i =0
i
i 0 i 1 i i −1 )( xi − xi +1 ) ... ( xi − xn )

Înlocuind f prin L n , obţinem formula de aproximare


b b

∫ f ( x ) ρ ( x ) dx ≈ ∫ L ( x ) ρ ( x ) dx
a a
n

b b n n b

∫ f ( x ) ρ ( x ) dx ≈ ∫ ρ ( x ) ∑ f ( x )=
a =a
i i
i 0=i 0
l ( x )dx ∑ f ( x ) ρ ( x ) l ( x ) dx
∫ i
a
i

Deci notăm dacă Ai=


∫ ρ ( x ) l ( x ) dx , atunci
a
i

∫ f ( x ) ρ ( x ) dx ≈ A f ( x ) + A f ( x ) + ... + A f ( x )
a
0 0 1 1 n n
2
b

În cele ce urmează ne propunem să calculăm eroarea cu care


∫ L ( x ) ρ ( x ) dx
a
n

aproximează
∫ f ( x ) ρ ( x ) dx . Reprezentând punctele sub forma
a

a+b b−a
=
xi + ti , ti ∈ [ −1,1] , i ∈ {0,1,..., n}
2 2
avem

( x − x0 ) ( x − x1 ) ... ( x − xi −1 )( x − xi +1 ) ... ( x − xn ) dx =
b b n

∫ Ln ( x ) ρ ( x ) = ρ ( x )
∫ ∑ f ( x ) ( x − x )( x − x ) ...( x − x
i =0
i
i 0 i 1 i i −1 )( xi − xi +1 ) ... ( xi − xn )
a a

( x − x0 ) ( x − x1 ) ... ( x − xi −1 )( x − xi +1 ) ... ( x − xn ) dx
n b

= ∑
i =0

f ( xi ) ρ ( x )
( xi − x0 )( xi − x1 ) ... ( xi − xi −1 )( xi − xi +1 ) ... ( xi − xn )
a

Facem schimbarea de variabilă


a+b b−a
x− + t
2 2
şi obţinem

 a + b b − a  ( t − t0 ) ... ( t − ti −1 )( t − ti +1 ) ... ( t − tn )
n b
b−a
2 ∑ i =0
f ( xi ) ρ 

 2
+ t
2  ( ti − t0 ) ... ( ti − ti −1 )( ti − ti +1 ) ... ( ti − tn )
dt
a

Formula

a + b b − a  ( t − t0 ) ... ( t − ti −1 )( t − ti +1 ) ... ( t − tn )
b n b
b−a
∫ f ( x ) ρ ( x ) dx ≈
2 ∑ f ( x ) ∫ ρ 
i =0
i
2
+ t
2  ( ti − t0 ) ... ( ti − ti −1 )( ti − ti +1 ) ... ( ti − tn )
dt
a a

se numeşte formula generală de cuadratură.


Presupunem că f este de clasă Cn+1. Pentru a evalua restul formulei ţinem seama că
eroarea cu care polinomul de interpolare aproximează funcţia este dată de
M
| f ( x ) − Ln ( x ) |≤ | ( x − x0 ) ( x − x1 ) ... ( x − xn ) |
( n + 1)!
unde M = sup | f ( ) ( x ) |
n +1

x∈[ a ,b ]

b b b

(f)
Rn =
∫ f ( x ) ρ ( x ) dx − ∫ ρ ( x ) L ( x=
a a
) dx ∫ ( f ( x ) − L ( x ) ) ρ ( x )dx
n
a
n

b b

| Rn ( f )=| |
∫ ( f ( x ) − L ( x )) ρ ( x ) dx |≤ ∫ | f ( x ) − L ( x ) | ρ ( x )dx
a
n
a
n
3
Procedând ca mai înainte obţinem restul formulei generale de cuadratură:
n+2 1
M b−a  a+b b−a 
| Rn ( f ) |≤
( n + 1)!  2  ∫
−1
ρ
 2
+ t  | ( t − t0 ) ( t − t1 ) ... ( t − tn ) | dt
2 

unde M = sup | f ( ) ( x ) |
n +1

x∈[ a ,b ]

Presupunem că ρ ≡ 1, punctele sunt echidistante şi că x 0 = a, x n = b. Deci


b−a
xi =
a+ i, i =
0,1, 2,..., n.
n
Aproximând sub integrală funcţia cu polinomul de interpolare Lagrange şi făcând
schimbarea de variabilă
b−a
x= a + t
n
obţinem
b n n
b−a
∫ f ( x ) ρ ( x ) dx ≈ ( b − a )
=i 0=i 0
∑ H i( ) f ( xi ) = ( b − a )
n
∑ H ( ) f  a + i
i
n

n 
a

unde
n −i n −i
1 ( −1) 1 ( −1) ( t − 1) ... ( t − n )dt
∫ ∫
n nt
(n)
=Hi t ( t − 1) ... ( t − i + 1)( t − i =
− 1) ... ( t − n ) dt
n ( n − i ) !i ! 0 n ( n − i ) !i ! 0 t −i

Numerele H i( ) se numesc coeficienţii Newton - Côtes iar formula de aproximare se


n

numeşte formula Newton - Côtes. Au loc relaţiile


n

∑ H ( ) = 1 şi =
i =0
i
n
H( ) i
n ( )
H=
n
n −i , i 0,1,..., n

Dacă f este o aplicaţie de clasă Cn+1 are loc următoarea formulă de evaluare a restului:
b n
b−a
∫ f ( x ) ρ ( x ) dx − ( b − a ) ∑ i =0
n 
H i( ) f  a + i

≤
n 
a

n+2 n
1 b−a
∫ | t ( t − 1)( t − 2 ) ... ( t − n ) | dt sup | f ( ) ( x ) | .
n +1

( n + 1)!  n  0
x∈[ a ,b ]

 n

De reţinut că există funcţii continue pentru care şirul  ( b − a )


∑i =0
H i( ) f ( xi )  nu
n

n


b
converge către f ( x )dx .
a
4
X.2. Formula dreptunghiurilor
Fie f : [a, b] → R o funcţie de clasă C1. Aplicăm formula generală de cuadratură pentru
a+b
ρ ≡ 1, n = 0, x0 = (deci t 0 = 0). Obţinem
2
b
 a+b
∫ f ( x ) dx ≈ (b − a ) f 
a

2 

cu o eroare ≤
( b − a )2 sup | f ' ( x ) | .
4 x∈[ a ,b ]

Considerăm o diviziune (x0, x1,…., xn) a intervalului [a, b] cu puncte echidistante


 b−a 
 xi =
a+ 0,1, 2,..., n  şi aplicăm pe fiecare subinterval [x i , x i+1 ] formula de aproximare
i, i =
 n 
xi +1
x +x 
∫ xi
f ( x ) dx ≈ ( xi +1 − xi ) f  i i +1 
 2 
n −1

∑∫
xi +1


b
Ţinând cont că f ( x ) dx = f ( x ) dx obţinem următoarea formulă de
a xi
i =0

cuadratură numită formula dreptunghiurilor:


b n −1
b−a xi + xi +1 
∫ f ( x ) dx ≈
n ∑ f 
i =0
2 
.
a

Restul (eroarea) este dat de:


n −1 n −1 n −1
b−a x +x  b−a xi + xx +1 
∑ ∑∫ ∑ f 
xi +1


b
f ( x ) dx − f  i i +1  = f ( x ) dx − =
a
=i
n 
0=i 0
2  xi
=i
n 0
2 
n −1
 b − a  xi + xi +1  
∑∫
xi +1
=  f ( x ) dx − f ≤
i =0  xi n  2  

n −1 n −1
b − a  xi + xi +1  x +x 
∑∫ ∑∫
xi +1 xi +1
≤ f ( x ) dx − f=
 f ( x ) dx − ( xi +1 − xi ) f  i i +1  ≤
i
xi
0=
n  2  i 0
xi  2 

n −1
( xi +1 − xi ) n −1
( xi +1 − xi )
2 2
≤ ∑
i
4
0=
sup | f ' ( x ) |≤ sup | f ' ( x ) |
x∈[ xi , xi +1 ] x∈[ xi , xi +1 ]
i
∑ 0
4
=

n −1
( b − a )2 n −1
( b − a )2
x∈[ a ,b ]
= i 0=
= sup | f ' ( x ) |
4n 2 x∈[ a ,b ]
i 0
∑ = sup | f ' ( x ) | ∑ 4n

Ca urmare restul (eroarea) în formula dreptunghiurilor este


5

 x + x  (b − a )
n −1 2
b−a
∫ ∑
b
f ( x ) dx − f  i i +1  ≤ sup | f ' ( x ) |
a n i =0
 2  4n x∈[ a ,b]

Interpretarea geometrică a formulei dreptunghiurilor


Fie D i dreptunghiul cu o dimensiune dată intervalul [x i , x i+1 ] şi cu cealaltă dimensiune
x +x 
dată de f  i i +1  .
 2 

Atunci aria dreptunghiului D i este


xi + xi +1  b − a  xi + xi +1 
( xi +1 − xi ) f  =
2 
f
2 
,
 n 
b

şi deci formula dreptunghiurilor presupune aproximarea


∫ f ( x ) dx
a
prin suma ariilor

dreptunghiurilor D i , i = 0, 1, …, n – 1.

X.3. Formula trapezelor


Fie f : [a, b] → R o funcţie de clasă C2. Aplicăm formula generală de cuadratură pentru
ρ ≡ 1, n = 1, x 0 = a, x 1 = b (deci t 0 = –1 şi t 1 = 1). Obţinem

b − a  ( t − 1) ( t + 1) dt  =
b 1 1

a

f ( x ) dx ≈
2 

f (a)
−1

−1 − 1
dt + f ( b )

−1
(1 + 1) 
 2 1 2 1 
b−a ( t − 1) ( t + 1) b−a
= f (a)
2  −4
+ f (b)
4
=
 2
( f ( a ) + f (b))
 −1 −1 

b
b−a
Deci

a
f ( x ) dx ≈
2
( f ( a ) + f (b)) .

Eroarea este
6

(b − a )
3 1
b−a
b

∫ f ( x ) dx −
2
( f ( a ) + f ( b ) ) ≤ sup | f " ( x ) |
1
2! x∈[a ,b] 8 ∫ | ( t − 1)( t + 1) |dt =
a −1

( b − a ) 1 | t 2 − 1|dt 1 sup | f " = ( b − a ) 2 1 | t 2 − 1|dt


3 3
1
= ( )
sup | f "=x | ∫ ( )
x | ∫0
2! x∈[a ,b] 8 −1
2! x∈[a ,b] 8

( b − a ) 1 1 − t 2 dt ( b − a )  t 1 − t 3  (b − a )
3 3 1 3

sup | f " ( x )=
| ∫ sup | f " ( x ) |= sup | f " ( x ) | .
x∈[ a ,b ] 8 x∈[ a ,b ] 8  0
3 0 x∈[ a ,b ] 12
0  

Deci

( b − a ) sup | f " x |
3
b−a
b

∫ f ( x ) dx −
2
( f ( a ) + f (b)) ≤
12 x∈[a ,b]
( )
a

Considerăm o diviziune (x 0 , x 1 , …., x n ) a intervalului [a, b] cu puncte echidistante


 b−a 
 xi =
a+ 0,1, 2,..., n  şi aplicăm pe fiecare subinterval [x i , x i+1 ] formula de aproximare
i, i =
 n 
xi +1 − xi
f ( x ) dx ≈ ( f ( xi ) + f ( xi +1 ) )
xi +1
∫xi 2
n −1
f ( x ) dx = ∑ ∫ f ( x ) dx , obţinem următoarea formulă de cuadratură
b xi +1
Ţinând cont că ∫a
i =0
xi

numită formula trapezelor:

b − a  f ( a ) + f ( b ) n −1 
b

∫ f ( x ) dx ≈  + ∑ f ( xi )  .
a
n  2 i =1 
Restul (eroarea) este dat de:

b − a  f ( a ) + f ( b ) n −1  n −1 xi+1 b − a  f ( a ) + f ( b ) n −1 
f ( x ) dx − ∑ ( i )  ∑ ∫xi ( ) + ∑ f ( xi ) 
b
∫a n 

= 2
+
i 1=
f x
 i0
= f x dx −
n 

= 2 i 1 
n −1 x n −1
x −x n −1 x
x −x
= ∑ ∫ f ( x ) dx − ∑ i +1 i ( f ( xi ) + f ( x= i +1 ) ) ∑ ∫ f ( x ) dx − i +1 i ( f ( xi ) + f ( xi +1 ) ) ≤
i +1 i +1

=i 0=i 0
xi 2 =i 0
x i 2

i +1 ( xi +1 − xi )
3
n −1
x −x n −1 x
≤ ∑ ∫ f ( x ) dx − i +1 i ( f ( xi ) + f ( xi +1 ) ) ≤ ∑ ∫ sup | f " ( x ) |=
xi +1

xi
i 0= 2 i 0
xi 12 x∈[ xi , xi +1 ]

( xi +1 − xi ) (b − a ) (b − a )
3 3 3
n −1 n −1
≤ sup | f " ( x ) | ∑ =sup | f " ( x ) | ∑ ≤ sup | f " ( x ) | .
x∈[ a ,b ]
= x∈[ a ,b ]
i 0= i 0 12 12n3 12n 2 x∈[ a ,b ]

Ca urmare restul (eroarea) în formula trapezelor este

b − a  f ( a ) + f ( b ) n −1  (b − a )
3

f ( x ) dx − + ∑ f ( xi )  ≤ sup | f " ( x ) |
b
∫a n 

2 i =1  12n 2 x∈[a ,b]
7
Interpretarea geometrică a formulei trapezelor
Fie T i trapezul dreptunghic cu înălţimea egală cu lungimea intervalului [x i , x i+1 ] şi cu
bazele f(x i ) şi f(x i+1 ).

Atunci aria trapezului T i este


xi +1 − xi b−a
2
( ))
f ( xi ) + f ( xi +1=
2n
( f ( xi ) + f ( xi +1 ) ) ,
b
şi deci formula trapezelor arată că ∫ f ( x ) dx
a
se poate aproxima prin suma ariilor

trapezelor T i , i = 0, 1, …n − 1.

X.4. Formula lui Simpson


Fie f : [a, b] → R o funcţie de clasă C4. Aplicăm formula generală de cuadratură pentru
a+b
ρ ≡ 1, n = 2, x 0 = a, x1 = , x 2 = b (deci t 0 = −1 şi t 1 = 0, t 2 =1).
2
Obţinem
b−a  a+b 
∫ f ( x ) dx ≈ 6  f ( a ) + 4 f  2  + f ( b ) 
b

Considerăm o diviziune (x 0 , x 1 , …., x 2n ) a intervalului [a, b] cu puncte echidistante


b−a
( xi =
a+ 0,1, 2,..., 2n ) şi aplicăm pe fiecare subinterval [x i , x i+2 ] cu i par formula de
i, i =
2n
aproximare
xi + 2 − xi
f ( x ) dx ≈ ( f ( xi ) + 4 f ( xi +1 ) + f ( xi +2 ) )
xi +2

xi 6
2n−2
f ( x ) dx = ∑∫ f ( x ) dx obţinem
b xi +2
Ţinând cont că ∫a
i =0
xi
următoarea formulă de
i par

cuadratură numită formula lui Simpson:


8
b−a n −1 n −1

f ( x ) dx ≈ ( ) ( ) ∑ ( ) ∑ f ( x2i −1 )  .
b
∫a 
6n 
f a + f b
=i 1 =i 1
+ 2 f x2i + 4

Se poate arăta că restul (eroarea) este dat de:

 (b − a )
5
b−a n −1 n −1
f ( x ) dx − f ( a ) + f ( b ) + 2∑ f ( x2i ) + 4∑ f ( x2i −1 )  ≤ sup f ( 4) ( x ) .
b
∫a 
6n  =i 1 =i 1
4
 2880n x∈[a ,b]

XI. Derivarea numerică

Se recurge la aproximarea derivatei unei funcţii f sau a derivatelor ei de ordin superior


atunci când expresia lui f este prea complicată sau când nu se cunoaşte expresia analitică a
funcţiei f (f este dată prin intermediul unui tabel de valori).

XI.1. Formule de derivare aproximativă folosind dezvoltări în serie


Taylor
Fie f : [a, b] → R, derivabilă. Presupunem că se dau n + 1 puncte distincte în
intervalul [a, b], x 0 , x 1 , …., x n , în care se cunosc valorile funcţiei f.
Prezentăm o tehnică de găsire a unor formule de aproximare pentru valorile derivatelor de
orice ordin ale funcţiei f. Această tehnică are la bază formula lui Taylor. Reamintim această
formulă.
Fie I un interval de numere reale, a ∈ I şi f : I → R o funcţie de n ori derivabilă în a.
Polinomul Taylor de ordin n ataşat lui f în punctul a este funcţia polinomială T a,n : I → R,
definită prin:

f '(a) f "( a ) f ( ) (a)


n
Ta ,n ( x=
) f (a) + ( x − a) + ( x − a) + ( x − a )n
2

1! 2! n!
Restul formulei Taylor de ordin n ataşat funcţiei f în punctul a este funcţia R a,n : I →
R definită prin R a,n (x) = f(x) – T a,n (x). Egalitatea
f(x) = T a,n (x) + R a,n (x)
valabilă pentru orice x ∈ I se numeşte formulă Taylor de ordin n ataşată funcţiei f în punctul a.
Se demonstrează că
Ra , x
lim =0.
x →a
( x − a )n
Dacă f este de clasă Cn+1, atunci există u strict cuprins între a şi x (sau echivalent
există θ ∈ 1) astfel încât u = a + θ(x – a)) cu proprietatea că
9

f(
n +1)
Ra ,n ( x )
( u ) x − a n+1
= ( )
( n + 1)
Ne propunem să aproximăm valorile derivatelor de ordinul întâi şi doi ale funcţiei f în
punctul x i ∈ [a, b] când sunt cunoscute valorile funcţiei în punctele x i-1 , x i , x i+1 , care nu sunt
neapărat echidistante, adică:
x i-1 = x i – h, x i+1 = x i + αh,
dar că α variază într-un interval fixat.
Presupunem că f este de 3 ori derivabilă şi scriem formula lui Taylor de ordinul 2 pentru f
în x i :

) f ( xi ) +
f ( x=
f ' ( xi )
( x − xi ) +
f " xj ( ) ( x − x )2 + f "' ( wx ) ( x − x )3
i i
1! 2! 3!
cu w x strict cuprins între x şi x i . Înlocuim în această formulă x = x i-1 , respectiv x = x i+1 şi
obţinem relaţiile:

f ' ( xi ) f " ( xi ) h 2 f "' ( u )


f ( xi −=
1) f ( xi ) + ( −h ) + + ( − h )3
1! 2! 3!
(1)
f ' ( xi ) f " ( xi ) f "' ( v ) 3 3
f ( x=
i +1 ) f ( xi ) + αh + h2α 2 + αh
1! 2! 3!
(2)
cu u strict cuprins între x i-1 şi x i şi v strict cuprins între x i şi x i+1 . Scăzând din a doua relaţie
prima relaţie înmulţită cu α2 obţinem:
f "' ( v ) 3 3 f "' ( u ) 3 2
( )
f ( xi +1 ) + f ( xi ) α 2 − 1 − α 2 f ( xi −1 ) + αh + hα
f ' ( xi ) = 3! 3!
hα ( α + 1)

Putem aproxima valoarea derivatei funcţiei f în x i prin:

f ' ( xi ) ≈
( )
f ( xi +1 ) + f ( xi ) α 2 − 1 − α 2 f ( xi −1 )
hα ( α + 1)

cu eroarea:
 α2 f ' ( v ) α f "' ( u )  2
=ε  + h
 α + 1 3! α + 1 3! 

care este de ordinul lui h2 (O(h2)).


Adunând la a doua relaţie prima înmulţită cu α obţinem:
10
 f "' ( v ) 3 3 f "' ( u ) 3 
2  f ( xi +1 ) + (1 + α ) f ( xi ) + αf ( xi −1 ) + αh − αh 
f " ( xi ) =  3! 3! 
h α ( α + 1)
2

Putem astfel aproxima valoarea derivatei de ordinul doi al lui f în x - prin


2 ( f ( xi +1 ) − (1 + α ) f ( xi ) + αf ( xi −1 ) )
f " ( xi ) ≈
h 2 α ( α + 1)

cu eroarea

h  f "' ( v ) 2 f "' ( u ) 
=ε α −
( α + 1)  3 3 

de ordinul lui h : O(h).


Dacă nodurile sunt echidistante (adică dacă α = 1) se obţin următoarele formule de
aproximare:
f ( xi +1 ) − f ( xi −1 )
f ' ( xi ) ≈
2h
f ( xi +1 ) − 2 f ( xi ) + f ( xi −1 )
f " ( xi ) ≈
h2
În cazul nodurilor echidistante vom arătă că eroare de aproximare a derivatei de ordinul
doi prin formula de mai sus este de ordinul O(h2). Folosind formula lui Taylor de ordinul 3
pentru f în x i , obţinem:

f ' ( xi ) f " ( xi ) f "' ( xi ) f ( ) (u ) 4


4
f ( xi −=
1) f ( xi ) +
1!
( −h ) +
2!
h2 +
3!
( )
− h3 +
4!
h (3)

f ' ( xi ) f " ( xi ) f "' ( xi ) f ( ) (v) 4


4
f ( xi +1 ) =f ( xi ) + h+ h +
2
h +
3
h (4)
1! 2! 3! 4!

cu u strict cuprins între x i-1 şi x i şi v strict cuprins între x i şi x i+1 . Adunând cele două relaţii
rezultă:

f ( ) (v ) 4 f ( ) (u ) 4
4 4
f ( xi +1 ) + 2 f ( xi ) + f ( xi −1 ) + h + h
f " ( xi ) = 4! 4!
h2
astfel putem aproxima valoarea derivatei de ordinul doi al lui f în x i prin
f ( xi +1 ) − 2 f ( xi ) + f ( xi −1 )
f " ( xi ) ≈
h2
cu eroarea
11
 f ( 4) ( v ) f ( 4) ( u )  2
=ε  + h
 4! 4! 
 
de ordinul lui h2: O(h2).
Ne propunem acum să aproximăm valorile derivatelor de ordinul întâi şi doi ale funcţiei f
în punctul x i ∈ [a, b] când sunt cunoscute valorile funcţiei în punctele
x i , x i+1 , x i+2
care nu sunt neapărat echidistante, adică:
x i = x i+1 – h, x i+2 = x i+1 + αh.
cu α.
Presupunem că f este de 3 ori derivabilă şi scriem formula lui Taylor de ordinul 2 ataşată
lui f în x i :
f ' ( xi ) f " ( xi ) f "' ( wx )
) f ( xi ) +
f ( x= ( x − xi ) + ( x − xi ) ( x − xi )
2 3
+ .
1! 2! 3!
cu w x strict cuprins între x şi x i . Înlocuim în această formulă x = x i+1 , respectiv x = x i+2 şi
obţinem relaţiile:

f ' ( xi ) f " ( xi ) h 2 f "' ( u ) 3


f ( xi +1 ) =f ( xi ) + h+ + h (5)
1! 2! 3!
f ' ( xi ) f " ( xi ) f "' ( v )
f ( x=
i+2 ) f ( xi ) + ( α + 1) h + h 2 ( α + 1) + ( α + 1)3 h3
2
(6)
1! 2! 3!
cu u strict cuprins între x i şi x i+1 şi v strict cuprins între x i şi x i+2 . Scăzând din relaţia (5) relaţia
(6) înmulţită cu (1+α)2 obţinem:

f ' ( xi )
( )
f ( xi + 2 ) + f ( xi ) α 2 + 2α − (1 + α ) f ( xi +1 )
2

+
−hα ( α + 1)

f "' ( v ) f "' ( u ) 3
− ( α + 1)3 h3 + h (1 + α )
2

+ 3! 3!
−hα ( α + 1)

Putem aproxima valoarea derivatei funcţiei f în x i prin:

f ' ( xi ) ≈
(
− f ( xi + 2 ) − (1 + α ) f ( xi +1 ) − α 2 + 2α f ( xi )
2
)
hα ( α + 1)

cu eroarea:
 f "' ( v ) ( α + 1)2 f "' ( u ) ( α + 1) 
=ε  −  h2
 3! α 3! α 
 
Adunând la relaţia (6) relaţia (5) înmulţită cu –(1 + α) obţinem:
12
f ( xi + 2 ) + αf ( xi ) − ( α + 1) f ( xi +1 )
=f " ( xi ) 2 +
h 2 ( α + 1) α

f "' ( v ) f "' ( u )
− ( α + 1)3 h3 + ( α + 1) h3
+2 3! 3!
h 2 ( α + 1) α

Putem astfel aproxima valoarea derivatei de ordinul doi al lui f în x i prin


f ( xi + 2 ) − ( α + 1) f ( xi +1 ) + αf ( xi )
f " ( xi ) ≈ 2
h 2 α ( α + 1)

cu eroarea
 f "' ( v ) ( α + 1)2 f "' ( u ) 1 
=ε  + h
 3! α 3! α 
 
Dacă nodurile sunt echidistante (adică dacă α = 1) se obţin următoarele formule de
aproximare:
− f ( xi + 2 ) + 4 f ( xi +1 ) − 3 f ( xi )
f ' ( xi ) ≈
2h
cu eroare de ordinul O(h2)
f ( xi + 2 ) − 2 f ( xi +1 ) + f ( xi )
f " ( xi ) ≈
h2
cu eroare de ordinul O(h).
Similar ne propunem să aproximăm valorile derivatelor de ordinul întâi şi doi ale funcţiei
f în punctul x i ∈ [a, b] când sunt cunoscute valorile funcţiei în punctele
x i-2 , x i-1 , x i
care nu sunt neapărat echidistante, adică:
x i = x i-1 + h, x i-2 = x i-1 – αh
Presupunem că f este de 3 ori derivabilă şi scriem formula lui Taylor de ordinul 2
pentru f în x i :

f ' ( xi ) f " ( xi ) h 2 f "' ( u ) 3


f ( xi −1 ) =f ( xi ) + h+ − h (7)
1! 2! 3!
f ' ( xi ) f " ( xi ) f "' ( v )
f ( x=
i −2 ) f ( xi ) + ( α + 1) h + h 2 ( α + 1) − ( α + 1)3 h3
2
(8)
1! 2! 3!
cu u strict cuprins între x i şi x i+1 şi v strict cuprins între x i şi x i+2 . Scăzând din relaţia (8) relaţia
(7) înmulţită cu (1+α)2 obţinem:

f ' ( xi )
( )
f ( xi −2 ) + f ( xi ) α 2 + 2α − ( α + 1) f ( xi −1 )
2

+
hα ( α + 1)
13
f "' ( u ) 3 f "' ( v )
h ( α + 1) + ( α + 1)3 h3
2

+ 3! 3!
hα ( α + 1)

Putem aproxima valoarea derivatei funcţiei f în x i prin:

f '( x ) ≈
(α 2
)
+ 2α f ( xi ) − (1 + α ) f ( xi −1 ) + f ( xi − 2 )
2

hα ( α + 1)
i

cu eroarea:
 f "' ( u ) ( α + 1) f "' ( v ) ( α + 1)2 
ε = − +  h2
 3! α 3! α 
 
Adunând la relaţia (7) relaţia (8) înmulţită cu –(1 + α) obţinem:
f ( xi −2 ) + αf ( xi ) − ( α + 1) f ( xi −1 )
=f " ( xi ) 2 +
h 2 ( α + 1) α

f "' ( v ) f "' ( u )
− ( α + 1)3 h3 + ( α + 1) h3
+2 3! 3!
h 2 ( α + 1) α

Putem astfel aproxima valoarea derivatei de ordinul doi al lui f în x i prin


−αf ( xi ) − ( α + 1) f ( xi −1 ) + f ( xi − 2 )
f " ( xi ) ≈ 2
h 2 α ( α + 1)

cu eroarea
 f "' ( u ) 1 f "' ( v ) ( α + 1)2 
=ε  − h
 3! α 3! α 
 
Dacă nodurile sunt echidistante (adică dacă α = 1) se obţin următoarele formule de
aproximare:
3 f ( xi ) − 4 f ( xi −1 ) + f ( xi − 2 )
f ' ( xi ) ≈
2h
cu eroare de ordinul O(h2) şi
f ( xi −2 ) − 2 f ( xi −1 ) + f ( xi )
f " ( xi ) ≈
h2
cu eroare de ordinul O(h).
Folosind acest tip de tehnici, se poate obţine o mare varietate de formule aproximative
pentru valorile derivatelor de orice ordin în x i . Prezentăm mai jos câteva astfel de formule pentru
cazul nodurilor echidistante.
14

Formulă de aproximare a derivatei prin diferenţe finite centrale Eroare

f ( xi +1 ) − f ( xi −1 ) O(h2)
f ' ( xi ) ≈
2h
− f ( xi +1 ) + 8 f ( xi +1 ) − 8 f ( xi −1 ) + f ( xi − 2 ) O(h4)
f ' ( xi ) ≈
12h
f ( xi +1 ) − 2 f ( xi ) + f ( xi −1 ) O(h2)
f " ( xi ) ≈
h2
− f ( xi + 2 ) + 16 f ( xi +1 ) − 30 f ( xi ) + 16 f ( xi −1 ) − f ( xi −2 ) O(h4)
f " ( xi ) ≈
12h 2
f ( xi + 2 ) − 2 f ( xi +1 ) + 2 f ( xi −1 ) − f ( xi −2 ) O(h2)
f "' ( xi ) ≈
2h3
− f ( xi +3 ) + 8 f ( xi + 2 ) − 13 f ( xi +1 ) + 13 f ( xi −1 ) − 8 f ( xi −2 ) + f ( xi −3 ) O(h4)
f "' ( xi ) ≈
8h3

Formulă de aproximare a derivatei prin diferenţe finite progresive Eroare

f ( xi +1 ) − f ( xi ) O(h)
f ' ( xi ) ≈
2h
− f ( xi + 2 ) + 4 f ( xi +1 ) − 3 f ( xi ) O(h2)
f ' ( xi ) ≈
2h
f ( xi + 2 ) − 2 f ( xi +1 ) + f ( xi ) O(h)
f " ( xi ) ≈
h2
− f ( xi +3 ) + 4 f ( xi + 2 ) − 5 f ( xi +1 ) + 2 f ( xi ) O(h2)
f " ( xi ) ≈
h2
f ( xi +3 ) − 3 f ( xi + 2 ) + 3 f ( xi −1 ) − f ( xi ) O(h)
f "' ( xi ) ≈
h3
−3 f ( xi + 4 ) + 14 f ( xi +3 ) − 24 f ( xi + 2 ) + 18 f ( xi +1 ) − 5 f ( xi ) O(h2)
f "' ( xi ) ≈
2h3

Formulă de aproximare a derivatei prin diferenţe finite regresive Eroare

f ( xi ) − f ( xi −1 ) O(h)
f ' ( xi ) ≈
h
15
3 f ( xi ) − 4 f ( xi −1 ) + f ( xi − 2 ) O(h2)
f ' ( xi ) ≈
2h
f ( xi ) − 2 f ( xi −1 ) + f ( xi − 2 ) O(h)
f " ( xi ) ≈
h2
2 f ( xi ) − 5 f ( xi −1 ) + 4 f ( xi −2 ) − f ( xi −3 ) O(h2)
f " ( xi ) ≈
h2
f ( xi ) − 3 f ( xi −1 ) + 3 f ( xi −2 ) − f ( xi −3 ) O(h)
f "' ( xi ) ≈
h3
5 f ( xi ) − 18 f ( xi −1 ) + 24 f ( xi −2 ) − 14 f ( xi −3 ) + 3 f ( xi −4 ) O(h2)
f "' ( xi ) ≈
2h3

XI.2. Extrapolare Richardson


Să presupunem că dorim să calculăm o cantitate L şi că avem

ϕ ( h ) =L + ∑a
k =1
2k h
2k

Atunci φ(h) reprezintă o aproximaţie pentru L cu eroare de ordinul O(h2). În cele ce


urmează vom arăta cum să obţinem o aproximaţie pentru care eroarea să fie de de ordinul
O(h2(n+1)), cu n dat. Notăm
 h 
D ( n, 0 ) = ϕ  n 
2 
şi definim

4m D ( n, m − 1) − D ( n − 1, m − 1)
=D ( n, m ) , 1≤ m ≤ n .
4m − 1
Se poate arăta utilizând inducţia că
Teoremă (Extrapolare Richardson). Cu notaţiile de mai sus există constantele a k,m astfel
încât
∞ 2k
D ( n, m )= L + ∑
k= m +1
 h 
ak ,m  n 
2 

Ca o consecinţă a teoremei precedente rezultă că


D(n, m) = L + O(h2(n+1)).
Cu alte cuvinte D(n, n) este o aproximaţie a lui L cu eroare de ordinul O(h2(n+1)).
Pentru calculul recursiv al valorilor D(n, m) se poate folosi tabelul triunghiular:
16
D ( 0, 0 )
D (1, 0 ) D (1,1)
D ( 2, 0 ) D ( 2,1) D ( 2, 2 )
   
   
D ( n, 0 ) D ( n,1) D ( n, 2 )  D ( n, n )

Prima coloană a acestui tabel poate fi calculată direct cu definiţia:


 h 
D ( n, 0 ) = ϕ  n  .
2 
În cazul elementelor de pe celelalte coloane se observă că fiecare dintre ele depinde de
elementul din stânga de pe aceeaşi linie şi de pe linia de deasupra din stânga.
Să exemplificăm aplicarea acestui procedeu pentru îmbunătăţirea formulei de aproximare
a derivatei de ordinul 1:
f ( x + h) − f ( x − h)
f '( x) ≈ ϕ(h) =
2h
Dacă f este analitică avem:

f( )
∞ 2 k +1
) f '( x) +
ϕ ( h= ∑
k =1
( 2k + 1)!
( x ) h2k

Deci putem aplica extrapolare Richardson.Vom aproxima f ′(x) cu D(1, 1). Dar
h
4ϕ   − ϕ ( h )
4 D (1, 0 ) − D ( 0, 0 ) 2
=D (1,1) = .
3 3
h
4ϕ   − ϕ ( h )
Ca urmare 2 reprezintă o aproximaţie a lui f ′(x) cu eroare de ordinul
3
f ( x + h) − f ( x − h)
O(h4), unde φ(h) = .
2h

XI.3. Metode de derivare numerică folosind interpolarea


Fie f : [a, b] → R o funcţie, fie x 0 , x 1 ,…, x n n + 1 puncte distincte din intervalul [a,
b], şi y i = f(x i ) pentru orice i = 0, 1,…n. Aproximăm f(k) prin derivata de ordinul k a polinomului
de interpolare asociat lui f şi x 0 , x 1 , …, x n .
Să presupunem că n = 4 şi că punctele x 0 , x 1 , x 2 , x 3 , x 4 sunt echidistante şi să construim
polinomul Newton ascendent.
( x ) P4 ( xL0 )=
P4= + th
17
∆f ( x0 ) ∆ 2 f ( x0 ) ∆3 f ( x0 )
= f ( x0 ) + t+ t ( t − 1) + t ( t − 1)( t − 2 ) +
1! 2! 3!
∆ 4 f ( x0 )
+ t ( t − 1)( t − 2 )( t − 3) =
4!
∆f ( x0 ) ∆ 2 f ( x0 ) ∆3 f ( x0 )
f ( x0 ) +
1!
t+
2!
(t 2
−t + ) 3!
(t 3
− 3t 2 + 2t + )
∆ 4 f ( x0 )
+
4!
(t 4
− 6t 3 + 11t 2 − 6t )
Notăm g(t) = P 4 (x 0 + th). Avem
g′(t) = P 4 ′ (x 0 + th)h
g′′(t) = P 4 ′′ (x 0 + th)h2.
Pe de altă parte

∆ 2 f ( x0 ) ∆3 f ( x0 ) ∆ 4 f ( x0 )
g '(t ) =∆f ( x0 ) +
2
( 2t − 1) +
6
(3t 2
− 6t + 2 + ) 24
( 4t 3
− 18t 2 + 22t − 6 = )

= ∆f ( x0 ) + ∆ f ( x0 )
2 ( 2t − 1) + ∆3 f
(x )
(3t 2
− 6t + 2 )+∆ 4
f (x )
( 2t 3
− 9t 2 + 11t − 3 )
0 0
2 6 12
iar

∆ 2 f ( x0 ) ∆3 f ( x0 ) ∆ 4 f ( x0 )
g "(t )
=
2
2+
6
( 6t − 6 ) +
12
( 6t 2
− 18=
t + 11 )

= ∆ f ( x0 ) + ∆ f ( x0 ) ( t − 1) + ∆
2 3 4
f (x )
( 6t 2
− 18t + 11 )
0
12
În consecinţă avem:

' ( x ) f ' ( x0 + th ) ≈
f=
1 
∆f ( x0 ) + ∆ f ( x0 )
2 ( 2t − 1)
+ ∆ f ( x0 )
3
3t 2 − 6t + 2
+
( )
h 2 6

+∆ 4
f (x )
( 2t 3
− 9t 2 + 11t − 3 

)
0
12 

1  2
" ( x ) f " ( x0 + th ) ≈ 2 ∆ f ( x0 ) + ∆ f ( x0 ) ( t − 1) + ∆ f ( x0 )
f= 3 4
6t 2 − 18t + 11 ( )  .
h  12 
 