Sunteți pe pagina 1din 43

1

CURS 5
INTERPOLARE POLINOMIAL. DERIVARE NUMERIC.
--------------------------------------------------------------------------------------------I. Interpolare polinomial
II. Derivare numeric.

INTERPOLARE POLINOMIAL

I.
1

Introducere

1.1 Polinomul de interpolare


Problema: fie o funcie f, cunoscut prin valorile ei pe (n 1) puncte distincte xi , ca
n tabelul urmtor:
x

x0

x1

x2

xn

f(x)

f0

f1

f2

fn

Punctele xi se numesc noduri i s-a notat f i f ( xi ), i 0, n .


Se cere s se gseasc un polinom pn de grad cel mult n, care s coincid cu funcia f
pe nodurile xi (sau, al crui grafic s treac prin punctele ( xi , f i ) ), adic:
pn ( xi ) f i , i 0, n

(0)

Se zice c pn este polinomul de interpolare al funciei f, pe nodurile date. Un prim


rezultat este dat de urmtoare propoziie:
Propoziia 1
Polinomul de interpolare (al funciei f, pe n 1 noduri) exist i este unic
Demonstraie:
a.ch. Noiembrie 2008

2
(1) Existena: Existena se poate proba construind efectiv polinomul (aceasta se va
face n paragrafele urmtoare). Aici, procedm prin inducie asupra lui n: pentru
n = 0, lum ca polinom p0 funcia constant p0 ( x ) f 0 . Fie atunci pk 1 polinomul de
interpolare pe nodurile x0 , , xk 1 , adic pk 1 este de grad k 1 , i

pk 1 ( xi ) f i , i 0, k 1 .

()

Definim:

pk ( x) pk 1 ( x) ck ( x x0 ) ( x xk 1 )
Este evident c p k satisface condiiile (), i atunci determinm ck astfel ca s avem
i

pk ( x k ) f k
Se obine ecuaia

f k pk ( xk ) ck ( xk x0 ) ( xk xk 1 )

()

n care, coeficientul lui ck este diferit de zero, nodurile xi fiind presupuse distincte.
Cu aceasta, existena lui pn este demonstrat.
(2) Unicitatea: Fie pn i qn dou polinoame de interpolare ale lui f, unde pn qn .
Considerm atunci polinomul rn pn qn : rn este de grad cel mult n i avem
rn ( xi ) 0, i 0, n , adic rn are (n 1) rdcini. Contradicia demostreaz unicitatea

lui pn
Observaie
Dup demonstraia (1), rezult c polinomul de interpolare are forma

pn ( x) c0 c1 ( x x0 ) cn ( x x0 ) ( x xn1 )

(1)

unde c0 f 0 i ck rezult din (). Acesta este forma Newton a polinomului de


interpolare. O expresie explicit a coeficienilor ck se va da n 3. Alte construcii ale
polinomului de interpolare, duc la alte forme ale acestuia v. 2. Propoziia 1 arat c
a.ch. Noiembrie 2008

3
polinomul de interpolare este unic determinat, adic: indiferent de forma sub care este
dat pn , dac acesta este desvoltat n forma pn ( x ) a0 a1 x an x n , coeficienii

a k vor fi aceeai
Din punct de vedere practic, polinomul de interpolare servete la aproximarea valorii
funciei f, pe un punct x care nu este nod. Problema interpolrii polinomiale se poate
pune, mai general, astfel: cunoscnd valorile funciei f i derivatei f (sau derivatelor
pn la ordinul k) pe noduri, s se determine polinomul care coincide cu funcia i
derivata (derivatele), pe nodurile date. Aceasta conduce la polinomul de interpolare al
lui Hermite sau polinomul osculator.
Pe lng problema aproximrii funciilor, polinomul de interpolare intervine n multe
alte probleme de analiz numeric: formule de cuadratur (calculul numeric al
integralelor), derivare numeric, metode numerice pentru ecuaii difereniale, etc..
1.2

Formula de interpolare (cu rest)

Definim formula de interpolare prin

f ( x) pn ( x) Rn ( x)

(2)

n care Rn (x ) este restul formulei. Conform definiiei lui pn , avem:

Rn ( xi ) 0 , i 0, n

(3)

n ceea ce urmeaz vom considera evaluarea restului pe un punct x care nu este nod.
Introduce urmtorul polinom care va servi i n paragrafele urmtoare:
n

n ( x ) ( x x0 )( x x1 ) ( x xn ) ( x xi )

(4)

i 0

Cu acesta avem:
Propoziia 2
Fie funcia f definit pe un interval [ A, B] i avnd derivat de ordinul (n+1) n

[ A, B] , i pn polinomul de interpolare pe nodurile distincte xi [ A, B] , i 0, n . Fie


nc, x [ A, B] i a min ( x0 ,, xn , x) i b max ( x0 ,, xn , x) . Atunci:
a.ch. Noiembrie 2008

a b , astfel c

Rn ( x )

n ( x)
(n 1)!

f ( n 1) ( ) ,

(5)

unde n (x ) este definit de (4)


Observaie
Dac f ( n 1) este mrginit n [A, B], fie | f ( n1) ( x ) | M n1 , rezult marginea erorii
reprezentrii funciei prin polinomul de interpolare, sub forma:
| f ( x ) pn ( x ) |

1
( n 1)!

M n1 | ( x) |

n particular, dac a i b au semnificaia din enun, eroarea se poate mrgini prin:


| f ( x ) pn ( x ) |

1
( n 1)!

M n1 (b a ) n1

1.3 Polinomul de interpolare Lagrange


Cutm polinomul de interpolare sub forma
n

pn ( x ) f 0 l0 ( x ) f1l1 ( x ) f n ln ( x ) f j l j ( x )

(6)

j 0

n care l j sunt polinoame de grad n, care depind de nodurile xi dar nu depind de

f i , i 0, n . ntruct se cere ca pn ( xi ) f i , i 0, n , rezult c trebuie s avem


l j ( xi ) ji ,

i 0, n ,

(7)

unde ji este simbolul Kronecker. Pentru i j rezullt c l j are ca rdcin pe xi , i


atunci, forma polinomului l j va fi

l j ( x ) c( x x0 ) ( x x j 1 )( x x j 1 ) ( x xn ) c
unde n (x ) este definit de (4).
a.ch. Noiembrie 2008

n ( x)
x xj

(8)

Punnd condiia (7) pentru j = i, rezult 1 c

(x

i 0 , i j

l j ( x)

xi ) , sau

( x xi )
i 0 , i j ( x j xi )
n

Scriind n ( x ) ( x x j )

(9)
n

( x x ) , derivnd n raport cu x i punnd

i 0, i j

x xj ,

rezult

n ( x j )

(x

i 0, i j

xi ) .

(10)

Cu aceasta, forma (8) a polinomului l j se mai scrie:

l j ( x)

n ( x)
( x x j ) n ( x j )

(11)

iar polinomul Lagrange ia forma explicit


fj

pn ( x )
j 0

n ( x)

n ( x j ) ( x x j )

(12)

Observaii
1) Polinoamele l j se numesc polinoamele fundamentale de interpolare. Polinoamele
fundamentale satisfac identitile:
n

(x
j 0

) k l j ( x ) x k , k 0, n

(13a)

l ( x) 1
j 0

(13b)

Relaia (13a) rezult astfel: considerm funcia f ( x ) x k , 0 k n; polinomul


pk ( x ) x k este de grad n i coincide cu funcia pe noduri; conform unicitii,

urmeaz c pk este polinomul de interpolare; atunci, (13a) rezult din (6). Relaia
(13b), este (13a) cu k = 0.
a.ch. Noiembrie 2008

6
2) Fie F mulimea funciilor definite pe un interval care conine nodurile xi , i 0, n .
Polinomul de interpolare sub forma lui Lagrange este dat de

pn ( x) ( Ln f )( x )

(14)

unde Ln este operatorul definit (pe mulimea F) de


n

Ln f f j l j

(15)

j 0

Se verific imediat, c operatorul Ln este liniar, adic, pentru f , g F i , R ,


avem:

Ln (f g ) ( Ln f ) ( Ln g )

(16)

n particular, dac f este un polinom pk de grad k n, avem:

Ln pk pk

(17)

Relaia (17) rezult din unicitatea polinomului de interpolare.


Exerciiu: probai (17) innd cont de (13a) i (16).

2
2.1

Diferene divizate i polinomul de interpolare Newton


Diferene divizate i polinomul Newton cu diferene divizate
Considerm expresia (1) a polinomului de interpolare, i definim polinoamele

q0 ( x ) 1 , q1 ( x ) x x0 , q2 ( x) ( x x0 )( x x1 ) , ,
sau, n general,
k 1

q0 ( x ) 1; qk ( x ) ( x xi ), k 1, n
i 0

Observaie: pentru k 1, avem qk k 1 , unde n este definit de (4).


Polinomul de interpolare sub forma Newton se scrie atunci:

a.ch. Noiembrie 2008

(18)

7
n

p n ( x ) c k qk ( x )

(18')

k 0

Coeficientul ck se numete diferena divizat de ordinul k (a funciei f, pe nodul x k )


i se noteaz cu

c0 f [ x0 ] ;

ck f [ x0 , x1 , , xk ] , k 1.

Cu aceasta, expresia (18) a polinomului de interpolare se scrie


n

pn ( x ) f [ x0 , x1 , , xk ]qk ( x )

(19)

k 0

sau explicit:

pn ( x ) f ( x0 ) ( x x0 ) f [ x0 , x1 ] ( x x0 )( x x1 ) f [ x0 , x1 , x2 ]
( x x0 ) ( x xn 1 ) f [ x0 , , xn ]

(19')

Pentru a gsi expresia explicit a diferenelor divizate, procedm cum urmeaz:


polinomul de interpolare fiind unic, egalm coeficintul lui x n din formele (19) i
(12). Rezult:
n

cn f [ x0 , x1 , , xn ]
j 0

fj

n ( x j )

(n 1)

(20)

Reamintim c n ( x j ) este dat de (10), fiind produsul factorilor ( x j xi ) , pentru


i j, i 0, n .

O formul a restului:
S considerm (k+2) noduri x0 , , xn , xn1 . Formula (18) devine:
n 1

pn 1 ( x ) ck qk ( x ) pn ( x ) cn 1qn 1 ( x )
k 0

Pentru x xn 1 avem pn1 ( xn1 ) f ( xn1 ) i, utiliznd i qn1 n , rezult:

f ( xn1 ) pn ( xn1 ) cn1 n ( xn1 ) ,


n care cn1 f [ x0 , x1 , , xn , xn1 ] . Notm acum x n loc de xn 1 , i obinem:
a.ch. Noiembrie 2008

f ( x) pn ( x) f [ x0 , , xn , x] n ( x)

(21)

care d o alt form a restului n formula de interpolare.


Proprieti ale diferenelor divizate

2.2

O serie de proprieti ale diferenelor divizate se dau n propoziiile care urmeaz.


P1 Simetrie
Diferena divizat este o funcie simetric de argumentele sale
Adic, considernd o permutare ( i0 , , in ) a numerelor (1, , n), avem:

f [ xi0 , , xin ] f [ x0 , , xn ]
Acesta rezult imediat din (20), innd cont c ( x j ) este invariant la o permutate a
lui (1, , n).
P2 Formul de recuren
Avem formula

f [ x0 , , x n ]

f [ x1 , , xn ] f [ x0 , , xn 1 ]
x n x0

(22)

Consecina 2.1 - Calculul practic al diferenelor divizate:


Notnd nodurile cu x j , x j 1 , , x j n , (22) devine:
f [ x j , , x j n ]

f [ x j 1 , , x j n ] f [ x j , , x j n 1 ]

(22')

x j n x j

i f [ x j ] f j . Utiliznd notaia simplificat f j j 1 j n f [ x j , x j 1 , , x j n ] , (21') se


scrie:
f j j 1 j n

f j 1 j n f j j n 1

(22'')

x j n x j

Astfel, obinem diferenele de ordinul 1, 2, 3, etc.:


1:

f 01

f1 f 0
;
x1 x0

a.ch. Noiembrie 2008

f12

f 2 f1
;
x2 x1

f 23

f3 f2
;
x3 x 2

2:

f 012

f12 f 01
;
x 2 x0

3:

f 0123

f123 f 012
;
x3 x0

f123

f 23 f12
;
x3 x1

Etc.
Diferenele divizate se pot aeza n urmtorul tabel exemplu pentru 4 noduri:

x0
x1
x2
x3

f0
f1
f2
f3

f 01
f12
f 23

f 012
f123

f 0123

Primele dou coloane sunt datele problemei. Coloana a doua reprezint i diferenele
de ordinul 0; diferenele de ordinul 1, 2, 3 sunt n coloanele 3, 4, 5. Tabloul are
structura triunghiular: datele nu permit calculul diferenelor f j j n cu j+n = 4 (care
implic nodul x 4 ). Polinomul de interpolare Newton, pentru exemplul din tabel, este:

p 4 ( x)
f 0 f 01 ( x x0 ) f 012 ( x x0 )( x x1 ) f 0123( x x0 )( x x1 )( x x2 )

(23)

astfel c coeficienii lui se gsesc n prima linie din tabel (ncepnd cu coloana 2).
Pentru calculul practic al coeficienilor polinomului Newton, notm coeficienii ca n
tabloul de mai jos, unde indicele j corespunde nodului, iar indicele k ordinului
diferenei:

x0
x1
x2
x3

c00
c10
c20
c30

c01 c02
c11 c12
c21

c03
(24)

Corespondena este:
c jk f j j 1 j k

Cu aceasta, (23) se scrie:


a.ch. Noiembrie 2008

(24')

10

p 4 ( x)
c00 c01 ( x x0 ) c02 ( x x0 )( x x1 ) c03 ( x x0 )( x x1 )( x x2 )

(23')

Coeficienii c jk se calculeaz prin recuren, cu formula care deriv din (21'') i (24'):
c jk

c j 1, k 1 c j , k 1
x j k x j

Un program Fortran care implementeaz calculul coeficienilor i a valorii


polinomului pe punctul z, este dat n ANA/Interpolare/Newton.

Exemplu
Considerm tabelul (23) pentru diferenele funciei f ( x ) ( x 1) 3 pe nodurile
{-1, 0, 1, 2}:

1 8 7 3
0 1 1 0
1
0 1 .
2
1 .
.

1
.
.
.

Polinomul de interpolare (22') este

p4 ( x) 8 7( x 1) 3( x 1) x ( x 1) x( x 1) .
Se verific imediat c, p4 ( x) ( x 1) 3
Propoziia 3 Proprietatea de medie
Fie x0 , , xk , (k+1) puncte distincte, [a, b] intervalul minim care conine aceste
puncte, i funcia f definit pe [a, b] i avnd derivat de ordinul k, continu n (a, b) .
Atunci, exist un punct ( x0 , , xk ) , (a, b) , astfel c

f ( k ) ( )
f [ x0 , , x k ]
k!

a.ch. Noiembrie 2008

(25)

11
Demonstraie:
Egalnd resturile din (21) i din (5) Propoziia 2, obinem:

f [ x0 , , x n , x ]

f ( n 1) ( )
(n 1)!

n care (a, b) i depinde de x i de x0 , , xn . P3 rezult punnd n = k-1 i x xk

Consecina 3.1 Diferena divizat pe puncte confundate


Dac f este definit pe [a, b] i are derivat de ordinul k continu n (a, b), atunci

x, x0 , xk (a, b)

lim

x0 ,, xk x

f [ x0 , , x k ]

f (k ) ( x)
k!

(25')

Cu x0 , , xk x , rezult c avem i x , unde este definit n P3


Din (25') rezult c, n ipotezele din Consecin, putem scrie:
f [
x,
x
,
, x]

k 1

f (k ) ( x)
k!

(26)

Aceasta formul constituie definiia diferenei divizate pentru cazul n care punctele
toate punctele xi sunt confundate v. 3.3.
Propoziia 4 Formula Hermite Gennochi
Dac f are derivate continue pn la ordinul n inclusiv, pe intervalul (a, b) care
conine nodurile distincte x0 , , xn , atunci
f [ x0 , , xn ] f ( n ) (t0 x0 tn xn )dt1 dtn
Sn

a.ch. Noiembrie 2008

(27)

12
n care S n este simplex-ul:
n

S n (t0 , t1 , , tn ) R n 1 | ti 0, ti 1
i 0

(27')

Demonstraia se face prin inducie asupra lui n v. Atkinson (1978), Kincaid &
Chenney (1996).
2.3

Extinderea diferenelor divizate la puncte non-distincte


Relaia (27) constituie o alt reprezentare a diferenelor divizate, care poate fi luat ca
definiie a acestora. Aceasta coincide cu definiiile date anterior, n cazul cnd
punctele x0 , , xn sunt distincte. Extinderea const n faptul c, odat cu definiia
(27), argumentele pot s nu mai fie considerate distincte. ntruct integrandul n (27)
este o funcie continu de argumentele x0 , , xn , rezult c i diferena divizat din
membrul I va fi o funcie continu de aceste argumente. Astfel, avem:

Consecina 4.1
Fie f continu i avnd derivat f (n ) continu pe [a, b]. Fie x0 , , xk , k n,
coninute n [a, b] i considerm diferena divizat f [ x0, , xk ] definit de (27)
pentru n = k. Atunci:
Diferena divizat f [ x0, , xk ] este o funcie continu de argumentele x0 , , xk
(dintre care unele pot coincide), i care se reduce la definiiile anterioare n cazul
argumentelor distincte
Propoziia 3 de mai sus, poate fi generalizat la cazul argumentelor non-distincte:
Consecina 4.2
Dac f are derivat f (n ) continu pe [a, b] i x0 , , xn [a, b] , nefiind n mod
necesar distincte, atunci

f [ x0 , , x n ]
a.ch. Noiembrie 2008

f ( n ) ( )
n!

13
unde min( x0 ,, xn ) max( x0 ,, xn )
Demonstraia se face pe baza teoremei de medie a integralei definite i relaiei (25)
v. Isaacson & Keller (1965). n particular, se regsete (26)
Reprezentarea (22) Propoziia 2, a diferenelor divizate, se extinde la cazul
punctelor non-distincte, prin:
Consecina 4.3
Dac f are derivat f (n ) continu pe [a, b] i x0 , , xn [a, b] (nefiind n mod
necesar distincte) i x [a, b] , x fiind distinct de oricare xi , atunci:

f [ x, x0 , , x n ]

f [ x, x1 , , xn ] f [ x0 , x1 , , xn ]
x x0

Vezi alte proprieti n Isaacson & Keller (1965).

3
3.1

Interpolare pe noduri echidistante. Formule cu diferene finite.


Diferene nainte i polinomul Gregory-Newton
Considerm irul de noduri echidistante cu pasul h > 0:
x j x0 jh ,

j 0, 1, 2,

(28)

unde x0 este un nod fixat arbitrar.


Definim diferena nainte (progresiv), a funciei f pe punctul x cu pasul h, prin:

f ( x) f ( x h) f ( x)

(29a)

Operatorul definit de (29a) se zice operatorul diferen nainte (mai general, dac se
face referire explicit la pasul h, operatorul se noteaz h ). Pentru r ntreg, r 0,
definim diferenelele de ordin superior prin formula de recuren:

r 1 f ( x) r (f ( x)) r f ( x h) r f ( x) ,

a.ch. Noiembrie 2008

(29b)

14
unde 0 f f i 1 .
Exemplu:

2 f ( x) f ( x h) f ( x) f ( x 2h) 2 f ( x h) f ( x)
Pentru nodurile echidistante (28), notm
f j f ( x j ) f ( x0 jh )

(30)

i avem:

f j f j 1 f j ,

r 1 f j r ( f j ) .

(30')

n particular, exemplul de mai sus devine: 2 f j f j 2 2 f j 1 f j . Observm c


diferena r f j implic nodurile x j , x j 1 , , x j r . Se verific imediat c r este un
operator liniar, adic
r (f j g j ) r f j r g j ,

pentru oricare dou funcii f, g i orice scalari , . Se verific de asemenea c avem:


r ( s f j ) s ( r f j ) r s f j .

Proprieti ale diferenelor


P1 Expresia diferenei de ordinul r
r
r
r f ( x ) ( 1) k f [ x ( r k )h ]
k 0
k

(31)

r r ( r 1) ( r k 1)
unde
este coeficientul binomial
k!
k
Demonstraia se face prin inducie asupra lui r. Sau, prin observaia c diferena este o
combinaie liniar de valorile funciei f pe nodurile x ih , i 0, r , cu coeficieni
care nu depind de f: se particularizeaz atunci f, lund f ( x ) e x . Exerciiu!
Observaie
a.ch. Noiembrie 2008

15
n formula (31), suma este ordonat descresctor n raport cu indicele (r-k). Punnd
i = r-k , (31) se mai scrie:

r
f ( x ) ( 1) r i f ( x ih )
i 0
i
r

(31')

n care suma este ordonat cresctor n raport indicele i al nodului.


Lund x x j , cu notaia (30), formulele (31) i (31') devin:
r
r
r f j ( 1) k f j r k
k 0
k

(32)

r
r
r f j ( 1) r i f j i
i 0
i

(32')

P2 Diferenele unui polinom


a) Dac pm este un polinom de grad m, diferena r pm este un polinom de grad m-r.
b) Avem: r x r r! h r

(33)

Demonstraie:
m

a) Fie pm a k x k , conform liniaritii operatorului diferen, rezult


k 0

m
k 1 k

r pm ak r x k . Avem, x k ( x h ) k x k h k j x j , rezult c x k este
k 0
j 0 j

un polinom de grad k-1. Continund, rezult c:

r x k = polinom de gradul r-k, pentru r k,

r x k 0 pentru r > k.

()
()

n particular, k x k = constant (polinom de grad 0). Astfel rezult:


a.ch. Noiembrie 2008

16
m

pm ak r x k ,
r

k r

care este un polinom de grad m-r.


k 2 k

b) Avem x r h k j x j rhx r 1 , n care primul termen este un polinom de grad
j 0 j

(k-2). Aplicnd operatorul r 1 i innd cont de (), rezult

r x r r 1 (x r ) rhr 1 ( x r 1 )
care, aplicat succesiv, conduce la concluzia b

P4 Relaia ntre diferenele divizate i diferenele nainte, pe noduri echidistante


Pentru nodurile echidistante x j x0 jh, j 0, k i k 0, avem:

f [ x0 , , x k ]

1 k
f0
k! h k

(34)

(Demonstraia se face prin inducie.)


Polinomul Gregory-Newton
Cu expresia (34) a diferenelor divizate, polinomul de interpolare sub forma Newton
(19), ia forma:
n

1
qk ( x )k f 0
k
k 0 k! h

pn ( x )

unde polinoamele qk sunt definite de (18) prin:


k 1

q0 ( x ) 1; qk ( x ) ( x x j ), k 1, n .
j 0

a.ch. Noiembrie 2008

(35)

17
Definim variabila real s prin:

x x0 sh , s ( x x0 ) / h

(36)

innd cont de x j x0 jh , avem: x x j ( s j )h i polinomul qk (x ) se scrie:


k 1

qk ( x ) qk ( x0 sh) h k ( s j ) h k s( s 1) ( s k 1) ,

k1

j 0

Cu aceasta, polinomul (35) ia forma

s( s 1) ( s k 1) k
f0
k!
k 0
n

pn ( x ) pn ( s )

Notm coeficientul diferenei, prin:

s s( s 1) ( s k 1)
, k 1;

k!
k

s
1
0

(37)

s
Coeficientul generalizeaz expresia coeficientului binomial, la care se reduce
k
pentru s = ntreg pozitiv. Cu aceasta, polinomul de interpolare ia forma:
n
s
pn ( s ) k f 0
k 0 k

(38)

n care,

s ( x x0 ) / h .

(38')

Polinomul (38) se numete polinomul de interpolare Gregory-Newton. Explicit,


avem:

s
s
s
pn ( s ) f 0 sf 0 2 f 0 3 f 0 n f 0
2
3
n

(38'')

Exemplu
Relum exemplul din 3, n care valorile sunt date pentru funcia f ( x ) ( x 1) 3 , pe
nodurile: -1, 0, 1, 2. Avem x0 1, h 1 , n = 3, i calculm diferenele nainte

a.ch. Noiembrie 2008

18
f i , 2 f i , 3 f 0 , n tabelul urmtor:

f
f 0 8

f 0 7

f1 1

2 f 0 6

f 1 1

3 f 0 6

f2 0

(39)

f1 0
2

f 2 1

f3 1
Coeficienii polinomului Newton (38) (cu nodul de plecare x 0 ) sunt situai pe
diagonala descendent care pleac din f 0 . Rezult:

p3 (s) 8 s7 12 s(s 1)(6) 16 s(s 1)(s 2)6 (s 2) 3


Cu x0 1 , s x 1 , se verific: p3 (s) ( x 1) 3
3.2

Diferene napoi i polinomul de interpolare Newton cu diferene napoi


Definim diferena napoi (regresiv), a funciei f pe punctul x cu pasul h, prin:

f ( x) f ( x) f ( x h)

(40)

i diferenele de ordin superior, prin:

r 1 f ( x) r (f ( x)) r f ( x h) r f ( x)
ntre diferenele nainte i napoi exist relaia:

f ( x) f ( x h)
i prin recuren se arat c

a.ch. Noiembrie 2008

(41)

19

r f ( x) r f ( x rh)

(42)

sau, cu notaia (29):


r f j r f j r .

(42')

Procedm analog cu 4.1, utiliznd nodurile x0 , x1 , , xn , unde x j x0 jh ,


j 0, n . Punnd x x0 sh , avem x x j ( s j )h . Avem:
k 1

k 1

j 0

j 0

qk ( x ) ( x x j ) ( s j )h
qk ( x0 sh) h k ( s)( s 1) ( s k 1) h k (1) k (s)( s 1) (s k 1)

polinomul de interpolare ia forma:


n
s
pn ( x ) pn ( s ) ( 1) k k f 0
k 0
k

(43)

n care,

s ( x x0 ) / h .

(43')

Polinomul (43) este forma polinomului Newton, cu diferene napoi. Explicit:

s
s
s
pn ( s ) f 0 sf 0 2 f 0 3 f 0 ( 1) n n f 0
2
3
n

(43'')

Exemplu
Relum exemplul anterior, din 4.2. Nodurile sunt 2, 1, 0, -1, i valorile f sunt: 1, 0, -1,
-8. Avem (diferenele se pot calcula ntr-un tabel analog cu (39)):

f 0 1; f1 1, f 2 7
2 f 0 0; 2 f1 6
3 f 0 6
Cu acestea, polinomul (43) devine:
p3 (s) 1 s1 12 (s)(s 1)0 16 (s)(s 1)(s 2)6 (1 s) 3

a.ch. Noiembrie 2008

20
Cu x0 2 , s = x 2, se verific: p3 (s) ( x 1) 3
Observaie
Se observ c diferenele napoi pe punctul x = 2, se gsesc n tabelul (39), pe
diagonala ascendent care pleac din f 3 . Aceasta are loc pentru urmtoarele:
considernd nodurile n secvena cresctoare x j x0 jh, j 0, n , nodul de referin
pentru diferenele napoi este x n , i polinomul (42'') se scrie:

s
s
pn ( s ) f n sf n 2 f n 3 f n ;
2
3

s ( x x0 ) / h .

Conform (42') avem k f n k f nk . n cazul exemplului, avem n = 3 i rezult:

f 3 f 2 , 2 f 3 2 f1 , 3 f 3 3 f 0
3.3

Operatori diferen i calcul simbolic


Pentru noduri echidistante cu pasul h, se introduc urmtorii operatori (pentru funcia f,
pe punctul x):
1) Identitate: If ( x) f ( x)
2) Deplasare: Ef ( x) f ( x h)
3) Diferen nainte: f ( x) f ( x h) f ( x)
4) Diferen napoi: f ( x) f ( x) f ( x h)
5) Diferen central: f ( x) f ( x h2 ) f ( x h2 )
Se verific imediat c operatorii 1 5 sunt liniari, adic, notnd unul din operatori cu
A, avem (pentru scalari arbitrari a, b, i funcii arbitrare f, g):

A(f ( x) g ( x)) Af ( x) Ag ( x)
Suma a doi operatori, i produsul a doi operatori, se definesc respectiv prin:

( A B) f ( x) Af ( x) Bf ( x) ;

( AB ) f ( x) A( Bf ( x))

n conformitate cu definiia produsului, puterile intregi k, ale unui operator A, se


definesc recurent prin:
a.ch. Noiembrie 2008

21

A0 I ;

Ak AAk 1 , k 1.

Mai definim, pentru s = real:

E s f ( x) f ( x sh)
i avem (pentru s, t = reali): E s E t f ( x) E t E s f ( x) .
Relaii ntre operatori
Din definiii rezult urmtoarele relaii ntre operatori:
EI

(44)

I E 1

(45)

E 1

(46)

E 1/ 2 E 1/ 2

(47a)

E 1/ 2

(47b)

Cu acestea, se pot deduce mai multe formule (unele demonstrate direct n paragrafele
anterioare). Astfel, din (44) pentru r = ntreg, avem:
r
r
r ( E I ) r ( 1) k E r k I k
k 0
k

Cu aceasta, innd cont de I k f ( x) f ( x ) i E r k f ( x) f [ x ( r k )h] , rezult:


r
r
r f ( x ) ( 1) k f [ x ( r k )h ]
k 0
k

(48)

care reproduce formula (31). Analog, din (45) avem:


r
r
r ( I E 1 ) r ( 1) k I r k E k
k 0
k

cu care, rezult:
r
r
r f ( x ) ( 1) k f ( x kh)
k 0
k

a.ch. Noiembrie 2008

(49)

22
Din (46) avem:

r r E r
care conduce la:

r f ( x) r f ( x rh) ,
care reproduce (42).
Formule care implic diferenele centrale:
Din (47a) avem
r

r
k

r ( E 1/ 2 E 1/ 2 ) r ( 1) k E m / 2k
k 0

care, aplicat la f(x) d:


r

r
k

r f ( x ) ( 1) k f [ x ( m2 k )h]
k 0

Dac lum r = par, r = 2p, rezult


2p

2p
f [ x ph (2 p k )h ] ,
k

2 p f ( x ) ( 1) k
k 0

Utiliznd (48) pentru r = 2p i x x ph , rezult c avem relaia:

2 p f ( x) 2 p f ( x ph)
astfel c diferenele centrale de ordin par se pot exprima prin diferene nainte.
3.4

Alte polinoame de interpolare


Vom da alte forme ale polinomului de interpolare pentru unele detalii v. Stancu
(1977).
Polinoamele de interpolare Gauss
Presupunem c vrem s aproximm valoarea funciei ntr-un punct apropiat de x 0 . Se
consider atunci, un numr par de noduri (echidistante cu h), fie acesta (2n+2), n

a.ch. Noiembrie 2008

23
situate la stnga i n+1 la dreapta nodului x0 : xn , xn1 , x1 ; x0 ; x1 , , xn , xn1 .
Nodurile se iau n secvena urmtoare:

x0 ; x1 , x1 ;, xn , xn ; xn1

()

i utilizm polinomul Newton dat de (19'). Acesta se scrie:


p 2 n 1 ( x) f 0 ( x x0 ) f 0,1 ( x x0 )( x x1 ) f 0,1, 1 ( x x0 )( x x1 )( x x1 ) f 0,1, 1, 2
( x x0 )( x x1 ) ( x xn )( x xn ) f 0,1, 1,,n, n,n 1

Punem ca nainte x x0 sh i avem x xi ( s i )h . inem cont de de


proprietatea de simetrie a diferenelor divizate i de expresia acestora pe noduri
echidistante (34). Astfel, rezult:

x x0 sh , ,
( x x0 )( x x1 )( x x1 ) ( x xn1 )( x xn1 )( x xn ) ( s n 1) ( s n)h 2n ,
( x x0 )( x x1 )( x x1 ) ( x xn )( x xn ) ( s n) s ( s n)h 2n1 .

f 0,1

1
1 2
f 0 , f 0,1, 1 f 1,0,1
f 1 , ,
h
2! h 2

f 0,1, 1,,n , n f n ,,0,,n

1
2 n f n ,
(2n)! h 2 n

f 0,1, 1,,n , n ,n 1 f n ,,0,,n ,n 1

1
2 n 1 f n .
2 n 1
(2n 1)! h

nlocuind expresiile de mai sus n p2 n1 ( x ) , se obine:

p 2 n 1 ( x) G2Fn 2 ( s)
n s k 1

2k
s k 2 k 1
f k
f k
f 0 sf 0
2k
2
k

1
k 1

(50a)

unde indicele polinomului G este numrul de noduri (indicele polinomului p este


gradul acestuia).
Dac lum un numr impar de noduri, eliminnd n () nodul xn 1 , se obine

a.ch. Noiembrie 2008

24

p 2 n ( x) G2Fn 1 ( s)
n 1 s k 1

2k
s k 2 k 1 s n 1 2 n (50b)
f k
f k
f n
f 0 sf 0
2k
k 1
2k 1
2n

Polinoamele (50a, b) sunt polinoamele de interpolare Gauss nainte, cu numr


impar, respectiv par, de noduri. Ele se scriu explicit:

s
s
s 1 3
s 1 4
GmF f 0 f 0 2 f 1
f 1
f 2
1
2
3
4
unde ultimul termen depinde de cazul m = 2n+2 sau m = 2n +1.
Dac lum nodurile ( xn1 ), xn , xn1 , x1 ; x0 ; x1 , , xn n secvena:

x0 ; x1 , x1 ;, xn , xn ; ( xn1 )

()

se obin polinoamele de interpolare Gauss napoi, cu numr de noduri impar,


respectiv par (inclusiv x n 1 ):
n s k 1

2 k 1
s k 2k
G2Bn 1 ( s ) f 0
f k
f k
k 1 2k 1
2k

(51a)

s n 2 n 1
G2Bn 2 ( s ) G2Bn 1 ( s )
f n 1
2n 1

(51b)

De exemplu, explicit, avem:

s
s 1 2
s 1 3
s 2 4
G2Bn 1 ( s ) f 0 f 1
f 1
f 2
f 2
1
2
3
4
Polinoamele Stirling
Se definesc prin media aritmetic a polinoamelor Gauss nainte, respectiv napoi:
S2n1 ( s) 12 [G2Fn1 ( s) G2Bn1 ( s)]

(52a)

S2n2 ( s) 12 [G2Fn2 ( s) G2Bn2 ( s)]

(52b)

Polinoamele Bessel
Se definesc prin:
a.ch. Noiembrie 2008

25
Media aritmetic a polinomului Gauss nainte cu punct de plecare x 0 , i
polinomului Gauss napoi cu punct de plecare x1 . Pentru acesta din urm, secvena
nodurilor se obine adugnd o unitate indicilor din ():

x1 ; x0 , x2 ; x1 , x3 ;; xn1 , xn1 ; ( xn ) . Astfel, avem:


a) Polinomul Bessel numr par de noduri:
s 12 s k 2 2 k 1

f1 k
k 1 2k 1 2k 2

n 1

B2 n 2 ( s ) 12 ( f 0 f1 )

s k 1 2 k
( f k 2 k f1 k )

2k
k 1
n

(53a)

1
2

Acesta coincide cu funcia pe nodurile: xn , xn1 , x1 ; x0 ; x1 , , xn , xn1 .


b) Polinomul Bessel numr impar de noduri:
Formula de mai sus, n care prima sum se face de la k = 1 la k = n. Avem:

B2 n 2 ( s ) B2 n 1 ( s )

s 12 s n 1 2 n 1

f n
2n 1 2n

(53b)

Pentru alte desvoltri v. Stancu (1977).

3.5

Diagrama romburilor pentru interpolare


Considerm tabloul diferenelor nainte ale funciei f, pe noduri echidistante. n
exemplul de mai jos sunt indicate numai diferenele care se pot calcula plecnd de la
valorile date f 2 , , f 3 : s-a notat, simplificat, rj r f j .

a.ch. Noiembrie 2008

26

f 2

22

f 1

32

42

2
1

f0

3
1

41

2
0

f1

3
0

2
1

f2

f3
Diferenele implicate n formulele polinoamelor de interpolare se iau din diagram, pe
urmtoarele ci:
-

Gregory-Newton nainte: diagonala descendent:

Gregory-Newton npoi: diagonala ascendent:

Gauss nainte: zigzag, primul pas descendent:

Gauss napoi: zigzag, primul pas ascendent:

a.ch. Noiembrie 2008

27
Stirling: orizontala care ncepe de la f 0 - pentru diferenele de ordin par; media

diferenelor de ordin impar situate deasupra i dedesubtul acestei orizontale:

32
21

f0
0

42
31

Bessel: orizontala care ncepe ntre f 0 i f 1 - pentru diferenele de ordin impar;

media diferenelor de ordin par situate deasupra i dedesubtul acestei orizontale:

21

f0
0
f1

42
31

20

52
41

Diagrama poate fi completat i cu coeficienii diferenelor v. Ralston &


Rabinowitz (1978), Curtis (1978).

Interpolare Hermite
Problema interpolrii Hermite se pune n modul urmtor: considerm n+1 noduri

x0 , x1 , , xn i presupunem c pe nodul xi sunt date valorile funciei f i a derivatelor


lui f pn la ordinul ki 1 :
f ( xi ) ci 0 , f ( xi ) ci1 , , f ( ki 1) ( xi ) ci , ki 1 ;

i 0,1, , n

(54)

Fie m+1 numrul condiiilor (54), adic

k0 k1 kn m 1

(54')

Cutm polinomul p, de grad minim care satisface condiiile (54). Acesta va fi un


polinom de grad cel mult m, avnd m+1 coeficieni care se determin din sistemul
liniar

p ( j ) ( xi ) cij ,

j 0, ki 1; i 0, n

unde p ( 0) ( x) p( x ) .
Propoziia 1
a.ch. Noiembrie 2008

(55)

28
Polinomul Hermite care satisface (55) exist i este unic
Construcia efectiv a polinomului Hermite se poate face n forma Newton sau
Lagrange. Vom considera prima variant. Pentru a doua, v. de exemplu Kincaid &
Chenney (1996), Ralston & Rabinowitz (1978).
Pentru construcie considerm polinomul Newton scris pentru nodurile xi , i 0, n ,
unde nodul xi apare de k i ori, adic:
x0 , , x0 ; x1 , , x1 ; ; xn , , xn

k1

k0

(58)

kn

Notm, pentru claritate, lista (58) a nodurilor cu:


y0 , y1 , yk0 1 ; yk0 , , y( k0 k1 )1 ;; y( k0 kn 1 ) , , ym1

(58')

unde numrul total de noduri este k0 k1 kn m 1 , i corespondena cu


nodurile xi este:
y j x0 , 0 j k 0 1 ;
y j x1 , k0 j (k0 k1 ) 1 ;

Etc.
Polinomul Newton pentru nodurile (58') este:
m 1

p( x ) f [ y0 , , y j ]q j ( x )

(59)

j 0

unde:
j 1

q j ( x ) ( x yi ) , q0 ( x ) 1 ,
i 0

iar coeficienii sunt diferenele divizate cu repetiie, definite n 3.2.


Exemplu

a.ch. Noiembrie 2008

(60)

29
Fie nodurile x0 , x1 , cu multiplicitile 2, 3, adic se cere ca polinomul s reproduc
valorile: f ( x0 ), f ( x0 ), f ( x1 ), f ( x1 ), f ( x1 ) . Considerm polinomul Newton pentru
nodurile x0 , x0 , x1 , x1 , x1 . Avem:

q0 ( x ) 1 ; q1 ( x ) ( x x0 ) ;

q2 ( x ) ( x x0 ) 2 ;

q3 ( x ) ( x x0 ) 2 ( x x1 ) ;

q4 ( x) ( x x0 ) 2 ( x x1 ) 2 .

p( x ) f 0 f [ x0 , x0 ]( x x0 ) f [ x0 , x0 , x1 ]( x x0 ) 2
f [ x0 , x0 , x1 , x1 ]( x x0 ) 2 ( x x1 ) f [ x0 , x0 , x1 , x1 , x1 ]( x x0 ) 2 ( x x1 ) 2

n care:

f [ x0 , x0 ] f ( x0 ) ;

f [ x0 , x0 , x1 ]

f [ x0 , x1 ] f [ x0 , x0 ] f [ x0 , x1 ] f ( x0 )
;

x1 x0
x1 x0

f [ x0 , x0 , x1 , x1 ]

f [ x0 , x0 , x1 ] f [ x0 , x1 , x1 ]
,
x1 x0

n care:

f [ x0 , x1 , x1 ]

f [ x1 , x1 ] f [ x0 , x1 ] f ( x1 ) f [ x0 , x1 ]
;

x1 x0
x1 x0

f [ x0 , x0 , x1 , x1 , x1 ]

f [ x0 , x0 , x1 , x1 ] f [ x0 , x1 , x1 , x1 ]
.
x1 x0

Folosind o notaie simplificat, polinomul se scrie:

p( x ) f 0 f 00 ( x x0 ) f 001( x x0 ) 2
f 0011( x x0 ) 2 ( x x1 ) f 00111( x x0 ) 2 ( x x1 ) 2
Calculul diferenelor se conduce, de exemplu, n tabelul urmtor: n coloana 1 se dau
nodurile; n coloana 2 valorile funciei i derivatelor; n coloanele 3 6 , se
calculeaz diferenele divizate; diferena pe k noduri coincidente se ia egal cu
derivata de ordinul (k1) pe nod, mprit cu (k1)!.

a.ch. Noiembrie 2008

30

x0
x0
x1
x1
x1

f 0 f 00 f 0
f 0
f 01
f1 f11 f1
f1
f1

f 001
f 0011
f 011
f 0111
1
f111 2 f1

f 00111

Exemplu numeric: considerm nodurile 1, 2 (cu multipliciti 2, 3) i funcia

f ( x ) ( x 1) 4 . Tabelul de calcul este dat mai jos. n acesta: valorile subliniate sunt
f 00 , f11 i f111 , calculate prin derivatele pe x = 1 i x = 2; celelalte diferene divizate
sunt calculate n mod obinuit.

1 0 0 1 2 1
1 0 1 3 3
2 1 4 6
2 4
2 12
Polinomul este:

p( x) ( x 1) 2 2( x 1) 2 ( x 2) ( x 1) 2 ( x 2) 2
care, evident, reproduce f(x)
Propoziia 2
Polinomul de interpolare Newton (59, 60) scris pentru nodurile xi , i 0, n , unde
nodul xi apare de k i ori, este polinomul Hermite care satisface (55)
Formula de interpolare Hermite
Punem, cu notaiile anterioare,

f ( x) pm ( x) Rm ( x)

(61)

unde pm (x ) este polinomul de interpolare Hermite pe m+1 noduri multiple, iar

Rm (x ) este restul n formula de interpolare (61). Presupunnd c funcia f are m+1


derivate continue pe intervalul [a, b] care conine nodurile, se arat c restul este dat

a.ch. Noiembrie 2008

31
de formula general (5) 1.2, Propoziia 2, considernd nodurile multiple. Adic,
explicit,

Rm ( x )

1
( m 1)!

(x x )
i 1

ki

f ( m1) ( )

unde [a, b] .

II.

DERIVARE NUMERIC

Dou probleme se pot pune pentru calculul numeric al derivatelor unei funcii:
1. Calculul derivatelor unei funcii definite numeric adic prin valori n puncte
date.
2. Calculul numeric al derivatelor unei funcii definite analitic.
A doua problem se pune n cazul cnd funcia are o expresie complicat i este
suficient o aproximaie a derivatei (n special pentru derivate de ordin superior).
Ambele probleme se pot rezolva utiliznd polinoame de interpolare. Pentru a doua
problem se utilizeaz i aa-numita extrapolare Richardson.

Derivarea unei funcii definite numeric

Fie funcia f definit pe n+1 puncte distincte x0 , , xn i pn polinomul de interpolare


pe aceste puncte. Atunci, o aproximaie a derivatei de ordinul k < n este dat de

f ( k ) ( x ) pn( k ) ( x )
Problema este de a evalua eroarea acestei aproximaii, adic a evalua restul n formula
f ( k ) ( x ) pn( k ) ( x ) Rn( k ) ( x )

(62)

n particular, pentru derivata ntia pe un nod, putem proceda cum urmeaz.


Considerm expresia (21) a restului n formula de interpolare a polinomului Newton:

Rn ( x) f ( x) pn ( x) f [ x0 , , xn , x] n ( x)

a.ch. Noiembrie 2008

32
Dac presupunem c exist derivata f ( n 1) , atunci, din expresia anterioar rezult c
membrul doi este derivabil i derivnd odat i fcnd x xi , avem:

Rn ( xi ) f [ x0 , , xn , xi ] n ( xi )
Cu Consecina 4.2 din 3.3, i explicitnd n ( xi ) , rezult:
Rn ( xi )

f ( n 1) ( )
(n 1)!

(x

j 0 , j i

xj)

(63)

unde min{ x j } max{ x j } . A deriva n continuare expresia restului nu conduce la


formule practice.
Pentru derivatele de ordin superior, printr-o demonstraie analoag cu cea a
Propoziiei 2 din 1.2, se obine urmtorul rezultat (Isaacson & Keller (1965)):
Teorem
Fie funcia f definit pe [a, b] i avnd derivat f ( n 1) continu pe [a, b]. Fie nodurile

x j [a, b], i 0, n , ordonate prin x0 x1 xn . Atunci pentru orice k, k n,


avem:

Rn( k ) ( x )

f ( n 1) ( ) n k
(x j )
(n k 1)! j 0

(64)

unde punctele j nu depind de x i sunt situate n intervalele


x j j x j k ,

j = 0, 1, , n k ,

(64')

iar (x ) este situat ntr-un interval care conine x i punctele j


Dac x, x j [a, b] i | f ( n1) ( x) | M , se obine marginea erorii sub forma

| Rn( k ) ( x) |

1
( n k 1)!

a.ch. Noiembrie 2008

M | b a |nk 1

(65)

33
Vom stabili marginea restului n urmtorul caz particular: k = 2, x xi , i noduri
echidistante cu h. Avem x j j x j 2 , j 0, n 2 , de unde rezult:
0 j i 2:

xi j xi x j (i j )h

i 1 j n 2:

j xi x j 2 xi ( j 2 i )h

Cu acestea:

| Rn( 2 ) ( xi ) |

n 2
| f ( n 1) ( ) | n 1 i 2
h (i j ) ( j 2 i )
(n 1)!
j 0
j i 1

sau

| Rn( 2 ) ( xi ) |

i! (n i )! n 1 ( n 1)
h |f
( ) |
(n 1)!

(66)

unde x0 x0 nh .
Formule de derivare pe puncte echidistante
Considerm n ceea ce urmeaz nodurile echidistante x x0 jh, j 0, n , i
urmtoarele polinoame de interpolare:
a) Newton nainte (38):

s
s
s
pn ( s ) f 0 sf 0 2 f 0 3 f 0 n f 0
2
3
n
Avem f ( x) p( s) , unde x x0 sh . Derivm n funcie de s i facem s = 0. innd
cont de

d s
( 1) k 1

,
ds k s 0
k
se obine:

f ( x0 )

1
[f 0 12 2 f 0 13 3 f 0 ( 1) n 1 n1 n f 0 ] Rn ( x0 )
h

Restul este dat de (63), i anume:


a.ch. Noiembrie 2008

(67)

34
( n 1)
f ( n 1) ( ) n
( )
n
n f
Rn ( x0 )
( x0 x j ) h ( 1)

(n 1)! j 1
n 1

(68)

unde x0 xn .
b) Gauss nainte, cu numr impar de noduri
(2n+1 noduri: x0 , x1 , x1 , , xn , xn ) v. (50b):

p 2 n ( x) G2Fn 1 ( s)
n 1 s k 1

2k
s k 2 k 1 s n 1 2 n
f k
f k
f n
f 0 sf 0
2k
2
n
k 1
2k 1

Procedm analog, derivnd n funcie de s i fcnd s = 0. Avem:

d s k 1
k! (k 1)!
;

( 1) k
ds 2k s 0
(2k )!
d sk
k!2
k
.

( 1)
ds 2k 1 s 0
(2k 1)!
Se obine:
n 1
1
k! ( k 1)! 2 k
( k )!2
{f 0 ( 1) k [
f k
2 k 1 f k ]
h
(
2
k
)!
(
2
k

1
)!
k 1
n! ( n 1)! 2 n
( 1) n
f n }
( 2n )!

f ( x0 )

(69)

sau, explicit:

f ( x0 )

1
[f 0 12 2 f 1 16 3 f 1 121 4 f 2 ]
h

(69')

Restul este dat de (63), i anume:

R2 n ( x0 ) ( 1) n
Observaie

a.ch. Noiembrie 2008

(n )!2
h 2 n f ( 2 n 1) ( ) , x0 nh x0 nh
(2n 1)!

(70)

35
Dac am utiliza aproximarea (67) pe 2n+1 noduri situate de aceeai parte a lui x0 , de
exemplu x0 jh , j 0,2n , restul sub forma (68) este:

R2(n1) ( x0 ) h 2 n

f ( n 1) ( )
,
2n 1

x0 x0 2nh

(71)

Presupunnd c valoarea lui f ( n1) ( ) este aceeai pentru intervalele din (70) i (71),
rezult c avem | R2 n ( x0 ) | | R2(n1) ( x0 ) | care arat c aproximarea (69), cu noduri
centrate n jurul lui x0 , este mai bun dect (67).

Cazuri particulare
1) Derivata de ordinul nti:
Pentru n = 1 (3 noduri: x0 , x1 , x1 ) se obine formula:

f ( x0 )

1
{f 0 12 2 f 1} , sau
h

f ( x0 )

1
[ f1 f 1 ] ,
2h

(72a)

n care restul este:


R2 ( x0 ) 16 h 2 f ( 3) ( ) ,

x0 h x0 h .

Pentru n = 2, se obine formula:

f ( x0 )

1
[f 0 12 2 f 1 16 3 f 1 121 4 f 2 ] , sau
h

explicit:

f ( x0 )

1
[ f 2 8 f1 8 f 1 f 2 ] ,
12h

n care restul este O(h 4 ).


2) Derivata de ordinul (2n 1):

a.ch. Noiembrie 2008

(72b)

36

s k
Derivm polinomul p2 n de 2n 1 ori: ntruct
este un polinom de gradul m,
m
derivatele de ordin > m sunt nule, astfel c derivata de ordinul (2n 1) implic numai
ultimii doi termeni din polinom. Pentru acetia avem

d 2 n 1 s n 1

1,
ds 2 n 1 2n 1

d 2 n 1 s n 1
1

,
2 n 1
ds
2
2n s 0

astfel c rezult:

f ( 2 n 1) ( x0 )

1
h

2 n 1

[2 n 1 f n 1 12 2 n f n ]

n care, conform (65), eroarea este O(h 2 ) . Formula de mai sus se poate scrie i sub
forma:

f ( 2 n 1) ( x0 )

1
[2 n 1 f n 1 2 n 1 f n ]
2 n 1
2h

c) Gauss nainte, cu numr par de noduri


(2n+2 noduri: x0 , x1 , x1 , , xn , xn , xn1 ) v. (50a):
n s k 1

2k
s k 2 k 1
p2 n 1 ( x ) G2Fn 2 ( s ) f 0 sf 0
f k
f k
2k
k 1
2 k 1

Acesta conduce la derivata de ordinul doi (mai general, la derivatele de ordin par).
Vom considera, pentru exemplificare cazul n = 1 (noduri: x0 , x1 , x1 , x2 ). Polinomul
este:

p3 ( x ) G4 ( s) f 0 sf 0

s( s 1) 2
( s 1) s( s 1) 3
f 1
f 1
2
6

Derivnd de dou ori, se obine G4( s) 2 f 1 s3 f 1 , i fcnd s = 0 rezult:

f ( x0 )

1 2
f 1
h2

a.ch. Noiembrie 2008

37
n general, avem:

d2
ds 2

sk

0
2k 1 s 0

d2
ds 2

2
s k 1
k 1 ( k 1)! 2

( 1)
(2k )!
2k s 0

cu care, rezult:

f ( x0 )

1
h2

(1) k 1
k 1

(k 1)!2 2 2 k
f k
(2k )!

(73)

Explicit, primii termeni ai sumei sunt:

f ( x0 )

1 2
1
{ f 1 121 4 f 2 180
6 f 3 }
h2

(73')

Marginea erorii (66), n care: n 2n 1; nodurile ordonate cresctor sunt

xn , , x1 , x0 , x1 , , xn , xn1 ; xi x0 , astfel c i = n, devine:

| R2( 2n)1 ( x0 ) |

n! (n 1)! 2 n ( 2 n 2 )
h |f
( ) |
(2n )!

(74)

Cazuri particulare
1) Derivata de ordinul 2:
Considerm cazurile n = 1, 2. Avem:

f ( x0 )

1 2
f 1 ;
h2

f ( x0 )

1 2
{ f 1 121 4 f 2 } ;
2
h

| R3( 2 ) | h 2 | f ( 4 ) ( ) |
| R5( 2 ) | 12 h 4 | f ( 4 ) ( ) |

Explicit, aceste formule sunt:

f ( x0 )

1
[ f1 2 f 0 f 1 ]
h2

(75a)

f ( x0 )

1
[ f 2 16 f1 30 f 0 16 f 1 f 2 ]
12h 2

(75b)

a.ch. Noiembrie 2008

38
Pentru prima formul, o margine mai bun a erorii se obine adunnd seriile Taylor a
lui f ( x0 h) i f ( x0 h) (v. Cap. 5-III, 1.1.1), sub forma:
| R3( 2) ( x0 ) | 121 h 2 | f ( 4 ) ( ) | ,

x0 h x0 h .

2) Derivata de ordinul 2n:


Derivm polinomul p2 n 1 de 2n ori: derivata implic numai ultimii doi termeni ai
sumei (k = n). Pentru acetia, avem:

d 2n
ds 2 n

s n 1

1 ,
2n

d 2n
ds 2 n

sn

0 ,
2n 1 s 0

astfel c rezult:

f ( 2 n ) ( x0 )

1 2n
f n ,
h 2n

n care eroarea, conform (65), este O(h 2 ) .

Extrapolarea Richardson

n cazul unei funcii definite analitic, calculul numeric al derivatelor se poate face
prin formulele din 7.1, calculnd n prealabil, valorile funciei pe un ir de noduri.
ntruct valorile funciei pot fi calculate n orice punct al intervalului de definiie,
urmtorul procedeu permite ca, plecnd de la dou aproximaii ale derivatei avnd
acelai ordin al erorii, s se gseasc o aproximaie cu precizie mai mare. Procedeul
se zice extrapolarea Richardson. Cele dou valori ale derivatei se calculeaz cu cu
pasul h, i respectiv, cu pasul h/2, cu o formul de aproximare a crei eroare are
forma b1h 2 b2 h 4 b3h 6 . Astfel, s calculm f cu formula (72a). Pentru
evaluarea erorii folosim seriile Taylor
f ( x0 h) f ( x0 ) f ( x0 )h C2 h 2 C3h 3 C4 h 4 C5h 5 ,
f ( x0 h) f ( x0 ) f ( x0 )h C2 h 2 C3h 3 C4 h 4 C5h 5 ,

a.ch. Noiembrie 2008

39
n care: Ck f ( k ) ( x0 ) / k! . Scznd cele dou serii, rezult:

f ( x0 , h)

1
[ f ( x0 h) f ( x0 h)] C3h 2 C5h 4
2h

0) Extrapolarea 0 Aproximaii de ordinul O(h 2 ) :


Aplicnd formula pentru h, h/2, h / 2 2 h / 4 , avem aproximaiile:

f 0( 0,1) f 0, h

1
[ f ( x0 h) f ( x0 h)]
2h

f 0( 0, 2 ) f 0, h / 2

1
[ f ( x0 h / 2) f ( x0 h / 2)] ,
2(h / 2)

f 0( 0,3) f 0, h / 4

1
[ f ( x0 h / 4) f ( x0 h / 4)]
2(h / 4)

Notaia indicilor superiori (i, j) din membrul nti au semnificaia: i = indicele


extrapolrii (aici, i = 0); j = indicele aproximaiei. Erorile aproximaiilor de mai sus
sunt de ordinul O(h 2 ) i sunt definite de:
f 0 f 0( 0,1) C3h 2 C5h 4

(a)

f 0 f 0( 0, 2 ) C3

h2
h4
C5 4
22
2

(b)

f 0 f 0( 0,3) C3

h2
h4

5
24
28

(c)

1) Extrapolarea 1 Aproximaii de ordinul O(h 4 ) :


Dac eliminm termenul n h 2 ntre (a), (b), i respectiv ntre (b), (c), rezult:

f 0 f 0( 0, 2 )

1
( f 0( 0, 2 ) f 0( 0,1) ) O(h 4 ) ,
2 1

f 0 f 0( 0,3)

1
( f 0( 0,3) f 0( 0, 2 ) ) O(h 4 )
2 1

Aproximaiile

a.ch. Noiembrie 2008

40

f 0(1,1) f 0( 0, 2 )

1
( f 0( 0, 2 ) f 0( 0,1) ) ,
2 1

f 0(1, 2 ) f 0( 0,3)

1
( f 0( 0,3) f 0( 0, 2 ) ) ,
2 1

are erorile date de:


f 0 f 0(1,1) (C5 / 2 2 )h 4 O(h 6 )

f 0 f 0(1, 2 ) (C5 / 2 2 )

(d)

h4
O(h 6 )
4
2

(e)

2) Extrapolarea 2 Aproximaii de ordinul O(h 6 ) :


Analog, eliminnd termenul n h 4 ntre (d) i (e), rezult aproximaia:

f 0( 2,1) f 0(1, 2 )

1
( f 0(1, 2 ) f 0(1,1) )
2 1
4

care va avea o eroare de ordinul O(h 6 ) . Pentru a continua procesul, avem nevoie de o
a dou aproximaie de ordinul O(h 6 ) , f 0( 2, 2 ) . Pentru aceasta, se pornete cu nc o
aproximaie la pasul 0, i anume, f 0( 0,4 ) f 0, h / 8 , etc.
3) n general, avnd dou aproximaii f 0( i ,1) i f 0( i , 2 ) calculate respectiv cu h i
h / 2 , ambele cu erori de ordinul O(h n ) , formula de extrapolare este:

f 0( i 1,1) f 0( i , 2 )

1
( f 0( i , 2 ) f 0( i ,1) )
2 1
n

(76)

cu o eroare de ordinul O(h n 2 ) . Observai c f 0( i , 2 ) noteaz aproximaia mai exact


de la pasul anterior
Extrapolarea Richardson se poate aplica, n mod analog, pentru derivatele de ordinul
doi, calculate cu (75a). Evaluarea erorii se face adunnd seriile Taylor de mai sus. De
exemplu, pentru prima aproximaie, avem:

f ( x0 )

1
[ f ( x0 h) 2 f ( x0 ) f ( x0 h)] 2C4 h 2 2C6 h 4
h2

a.ch. Noiembrie 2008

41
Observaii
1) Procesul de extrapolare se oprete dup un numr de pai, limitnd mrimea
pasului h / 2 n , i prin testul | f 0(i ,2 ) f 0(i ,1) | eps unde eps este prescris.
2) Procesul de extrapolare prezentat utilizeaz irul de pai {hi } , hi 0 , definit de

h1 h, hi 1 ( 12 )hi . Pentru cazul general hi 1 hi , 1 , v. Ralston &


Rabinowitz (1978)
3) n loc de extrapolare, pentru creterea ordinului erorii de la O(h 2n ) la O(h 2 n2 ) ,
se poate utiliza polinomul de interpolare de ordinul 2n + 2 (adic, adugnd nc
dou noduri la cele 2n+1 considerate n 7.1, b), i calculnd derivata cu formula
(69). V. expresia (70) a restului.

Cod Fortran
Urmtorul cod implementeaz extrapolarea Richardson. Datele x0 , n, h se citesc
dintr-un fiier de date: n este numrul aproximaiilor de la pasul 0; h este pasul
iniial. Aproximaiile f 0( i , j ) , i 0, n 1 sunt stocate n tabloul ff(0:n-1,n).
Proiectul include sub-programul de tip function, care calculeaz f (x). Ca exemplu,
este considerat funcia f ( x ) e x .
! Extrapolare RICHARDSON pentru f'
! Sub-program: fun(x)
! Datele: x0, n, h - citite din fisier de date.
Program Extrapolation
character(255) fname, dummy*80
real, allocatable:: ff(:,:)
aprox(f1, f2, h)= (f2 -f1)/(2*h)
extrapol(f1, f2, n) =f2 +(f2-f1)/(2**n -1)
print '(a,\)', ' Input file:'
read '(a)', fname
a.ch. Noiembrie 2008

42
open(1, file =fname, status ='old', form ='formatted')
read(1,'(a)') dummy
read(1,*) x, n, h0

! h = h_inital

allocate (ff(0:n-1, n))


ff =0.D0;
! Aproximatii - 0:
h =2*h0
do i = 1, n
h =h/2
f1 =fun(x-h); f2 =fun(x+h);
ff(0, i) = aprox(f1, f2, h)
enddo
! Extrapolari= 1:N-1
MainDo: DO IE =1, N-1
ne =2*IE
do i =1, n-IE
ff(IE,i)= extrapol(ff(IE-1,i), ff(IE-1,i+1), ne)
enddo
ENDDO MainDo
! Write:
write (1, '(a, /)') 'ff:';
DO ie = 0, n-1
write (1, *) ie, ff(ie, 1:n-ie)
write (1, *)
ENDDO
deallocate(ff)
END program extrapolation
function fun(x)
fun =exp(x)
end
a.ch. Noiembrie 2008

43

Exemplu
Pentru f ( x ) e x , s calculm prin extrapolare f (1.4) . Considerm pasul iniial
h 0.05 i n = 4 (3 pai de extrapolare). Rezultatele, obinute cu programul prezentat

mai sus, se dau n continuare: n prima coloan sunt indicii pailor, iar n coloanele
urmtoare aproximaiile. Calculul este fcut n simpl precizie. Valoarea exact este
4.055 199 966 84.
0

4.056885

4.055200

4.055324

4.055197

4.055225

4.055202

4.055227

4.055201

4.055200

4.055233

Aceeai valoare se obine cu h = 0.1 i 4 pai de extrapolare; cu h = 0.5, 4 pai i


h = 1.0, 3 pai, rezult valoarea 4.055201. Cu h < 0.1 se obin valori mai puin
precise: de exemplu, cu h = 0.001, 4 pai, rezult 4.052745. Rezult c valoarea
optim pentru h, pentru exemplul considerat, se situez n plaja 1.0 0.05. Acest
rezultat poate fi generalizat: pentru h iniial, nu se vor lua valori excesiv de mici. O
valoare n jurul lui 0.1 pare s convin pentru mai multe exemple
------------------------------------------------------------------------------------------------------

a.ch. Noiembrie 2008

S-ar putea să vă placă și