Documente Academic
Documente Profesional
Documente Cultură
CURS 5
INTERPOLARE POLINOMIAL. DERIVARE NUMERIC.
--------------------------------------------------------------------------------------------I. Interpolare polinomial
II. Derivare numeric.
INTERPOLARE POLINOMIAL
I.
1
Introducere
x0
x1
x2
xn
f(x)
f0
f1
f2
fn
(0)
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)
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
f ( x) pn ( x) Rn ( x)
(2)
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 , astfel c
Rn ( x )
n ( x)
(n 1)!
f ( n 1) ( ) ,
(5)
1
( n 1)!
M n1 | ( x) |
1
( n 1)!
M n1 (b a ) n1
pn ( x ) f 0 l0 ( x ) f1l1 ( x ) f n ln ( x ) f j l j ( x )
(6)
j 0
i 0, n ,
(7)
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)
(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
i 0, i j
x xj ,
rezult
n ( x j )
(x
i 0, i j
xi ) .
(10)
l j ( x)
n ( x)
( x x j ) n ( x j )
(11)
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)
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)
Ln f f j l j
(15)
j 0
Ln (f g ) ( Ln f ) ( Ln g )
(16)
Ln pk pk
(17)
2
2.1
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
(18)
7
n
p n ( x ) c k qk ( x )
(18')
k 0
c0 f [ x0 ] ;
ck f [ x0 , x1 , , xk ] , k 1.
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')
cn f [ x0 , x1 , , xn ]
j 0
fj
n ( x j )
(n 1)
(20)
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
f ( x) pn ( x) f [ x0 , , xn , x] n ( x)
(21)
2.2
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)
f [ x j 1 , , x j n ] f [ x j , , x j n 1 ]
(22')
x j n x j
f j 1 j n f j j n 1
(22'')
x j n x j
f 01
f1 f 0
;
x1 x0
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
(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
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
.
.
.
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!
(25)
11
Demonstraie:
Egalnd resturile din (21) i din (5) Propoziia 2, obinem:
f [ x0 , , x n , x ]
f ( n 1) ( )
(n 1)!
x, x0 , xk (a, b)
lim
x0 ,, xk x
f [ x0 , , x k ]
f (k ) ( x)
k!
(25')
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
(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
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
3
3.1
j 0, 1, 2,
(28)
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) ,
(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')
(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')
(32)
r
r
r f j ( 1) r i f j i
i 0
i
(32')
(33)
Demonstraie:
m
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
r x k 0 pentru r > k.
()
()
16
m
pm ak r x k ,
r
k r
r x r r 1 (x r ) rhr 1 ( x r 1 )
care, aplicat succesiv, conduce la concluzia b
f [ x0 , , x k ]
1 k
f0
k! h k
(34)
1
qk ( x )k f 0
k
k 0 k! h
pn ( x )
q0 ( x ) 1; qk ( x ) ( x x j ), k 1, n .
j 0
(35)
17
Definim variabila real s prin:
x x0 sh , s ( x x0 ) / h
(36)
qk ( x ) qk ( x0 sh) h k ( s j ) h k s( s 1) ( s k 1) ,
k1
j 0
s( s 1) ( s k 1) k
f0
k!
k 0
n
pn ( x ) pn ( s )
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')
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
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:
f ( x) f ( x) f ( x h)
(40)
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
(41)
19
r f ( x) r f ( x rh)
(42)
(42')
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)
(43)
n care,
s ( x x0 ) / h .
(43')
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
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 .
f 3 f 2 , 2 f 3 2 f1 , 3 f 3 3 f 0
3.3
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))
21
A0 I ;
Ak AAk 1 , k 1.
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
(48)
cu care, rezult:
r
r
r f ( x ) ( 1) k f ( x kh)
k 0
k
(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
r
k
r f ( x ) ( 1) k f [ x ( m2 k )h]
k 0
2p
f [ x ph (2 p k )h ] ,
k
2 p f ( x ) ( 1) k
k 0
2 p f ( x) 2 p f ( x ph)
astfel c diferenele centrale de ordin par se pot exprima prin diferene nainte.
3.4
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
()
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
1
2 n f n ,
(2n)! h 2 n
1
2 n 1 f n .
2 n 1
(2n 1)! h
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)
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
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 )
()
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)
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)
(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 ():
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
B2 n 2 ( s ) B2 n 1 ( s )
s 12 s n 1 2 n 1
f n
2n 1 2n
(53b)
3.5
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:
-
27
Stirling: orizontala care ncepe de la f 0 - pentru diferenele de ordin par; media
32
21
f0
0
42
31
21
f0
0
f1
42
31
20
52
41
Interpolare Hermite
Problema interpolrii Hermite se pune n modul urmtor: considerm n+1 noduri
i 0,1, , n
(54)
k0 k1 kn m 1
(54')
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
(58')
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
(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
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)!.
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
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)
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.
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)
Rn ( x) f ( x) pn ( x) f [ x0 , , xn , x] n ( x)
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)
Rn( k ) ( x )
f ( n 1) ( ) n k
(x j )
(n k 1)! j 0
(64)
j = 0, 1, , n k ,
(64')
| Rn( k ) ( x) |
1
( n k 1)!
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
(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
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')
R2 n ( x0 ) ( 1) n
Observaie
(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)
x0 h x0 h .
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
(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
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
f ( x0 )
1 2
f 1
h2
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)
f ( x0 )
1 2
1
{ f 1 121 4 f 2 180
6 f 3 }
h2
(73')
| 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 ) ( ) |
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)
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 .
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
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 ,
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
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)
(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)
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
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
f 0 f 0(1, 2 ) (C5 / 2 2 )
(d)
h4
O(h 6 )
4
2
(e)
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)
f ( x0 )
1
[ f ( x0 h) 2 f ( x0 ) f ( x0 h)] 2C4 h 2 2C6 h 4
h2
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
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
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