Sunteți pe pagina 1din 3

DERIVATA NUMERIC PRIN DOU PUNCTE Prin defini ie derivata func iei

f 1 x 0 !
f ( x ) n punctul x0 ,dac f(x 0  (x)  f(x0 ) lim (x

exist , este :

Pentru o valoare mic a lui ( x calculul expresiei : D+ = f x 0  (x  f x 0


(x

poate aproxima destul de bine derivata func iei n punctul x0 , f ( x0 ) . Valoarea lui negativ , derivata func iei f '( x0 ) putnd fi aproximat i cu expresia:
'

(x

poate fi i

f x  (x  f x0 D- = 0  (x

n figura 4.1 se observ c la limit pentru (x p 0 ambele corzi ale curbei, PQ i QR, devin tangente la curb n x0 , QT. Dac se consider coarda PR la curb , se observ c ea aproximeaz mult mai bine derivata func iei n punctul x0 .
f ' ( x0 ) } f x0  (x  f x0  (x 2 (x ! D+  D 2 x0 :
h h f x0   f x0  2 2 f ' x0 } h

Dac not m

2(x ! h ,

se ob ine derivata numeric n

Deoarece n formula de calcul a derivatei numerice intervin numai dou puncte x0  h / 2 i x0  h / 2 , numim aceast formul derivata prin dou puncte a func iei f ( x ) . Pentru calculul derivatelor de ordin superior se aplic formula (4.5) pentru func ia f ' (x ). Pentru o mai bun n elegere se face un calcul complet al derivatei de ordinul doi i trei a metodei de calcul a derivatelor de ordin superior.
y P Q

!
y ! f ( x) x

h h f ' x0   f ' x0  2 2 f '' x0 } h f x0  h  f x0  f x0  f x0  h ! ! h2 f x0  h  2 f x0  f x0  h


h2

h h f '' x 0   f '' x 0  2 2 f ''' x0 } h


3 f x0  h 2

h 3 f x 0  h  2 f x0   2 2 ! h3

h f x0   2

h h f x0   2 f x0   2 2

3 3 h h f x 0  h  3 f x 0   3 f x 0   f x 0  h 2 2 2 2 ! h3

Algoritmul :

double Derivata2P( double (*f) (double),double x0, double h) { return((f(x0+0.5*h)-f(x0-0.5*h))/h); }

DERIVATA NUMERIC PRIN TREI PUNCTE Deoarece n calculul acestei derivate numerice intervin trei puncte o denumim derivata numeric prin trei puncte . Se pune problema determin rii derivatei numerice a func iei f ( x ) n punctul x0 , sub forma: f ' x 0 ! af x0  h1  bf x0  cf x0  h2 unde x0 , h1 , h2 sunt date cunoscute, iar a, b, c necunoscute. Pentru determinarea acestor necunoscute vom considera func ia f ( x ) , o constant , liniar i p tratic . Pentru f (x ) ! c f ' ( x ) ! 0, f ' (x0 ) ! 0, iar ecua ia (4.13) devine: 0 ! a bc , ' pentru f ( x ) ! ( x  x0 ) f (x ) ! 1, f ' ( x0 ) ! 1 i 1 !  h1a  0b  h2 c , 2 ' pentru f (x ) ! ( x  x0 ) f ( x ) ! 2( x  x0 ), f ' ( x0 ) ! 0 i
2 2 0 ! h1 a  0b  h 2 c

Deoarece h1, h2 > 0 i determinantul sistemului ( ! h1 h2 (h1 +h2 ) { 0, sistemul este unic determinat. Rezolvnd sistemul, se ob in valorile necunoscutelor :
a!
2 2 h1  h2 , b ! h2  h1 , c ! h1h2 ( h1  h2 ) h2 h1  h2 h1 h1  h2

Formula derivatei numerice a func iei


f ' ( x0 ) }

f ( x ) prin

trei puncte este :

2 2 2 h12 f x0  h2  h2  h1 f x0  h2 f x0  h1

h1h2 h1  h2

care d o eroare de trunchiere nul pentru func iile constante, liniare h1 ! h2 ! h / 2 se ob ine formula derivatei numerice prin dou puncte.

i p tratice. Pentru

Algoritm: double Derivata3P( double (*f) (double), double x0, double h1,double h2) { return(h1*h1*f(x0+h2)+(h2*h2-h1*h1)*f(x0)-h2*h2*f(x0-h1))/(h1*h2*(h1+h2)); }

DERIVATA NUMERIC PRIN CINCI PUNCTE Pentru formula acestei derivate se utilizeaz cinci puncte, dou cte dou egal distan ate de punctul central, n care se calculeaz derivata :
x0  2h, x0  h, x0 , x0  h, x0  2h

Formula derivatei numerice prin cinci puncte se caut sub forma : f ' x0 ! af x0  2h  bf x0  h  cf x0  df x0+h x0  2h (4.26) +ef Pentru determinarea necunoscutelor a , b, c, d, e, particulariz m func ia f ( x ) cu func ie: constant , liniar , p tratic , de gradul trei i de gradul patru . Pentru f ( x) ! c f ' ( x) ! 0, f ' ( x0 ) ! 0 i ecua ia (4.26) devine: 0 ! a  b  c  d  e Pentru f ( x ) ! x  x0 f ' (x ) ! 1, f ' ( x0 ) ! 1 i 1 ! 2ha  hb  0c  hd  2he Pentru f (x ) ! ( x  x0 )2 f ' ( x ) ! 2( x  x0 ), f ' ( x0 ) ! 0 i 0 ! 4h2a  h 2b  0c  h 2d  4h 2e Pentru f (x ) ! ( x  x0 )3 f ' ( x ) ! 3(x  x0 )2 , f ' ( x0 ) ! 0 i 0 ! 8h3a  h3b  0c  h3d  8h3e Pentru f (x ) ! ( x  x0 )4 f ' ( x ) ! 4( x  x0 ), f ' ( x0 ) ! 0 i 0 ! 16h 4a  h 4b  0c  h 4d  16h4e Determinantul sistemului format de ecua iile de mai sus este ( = 144h10 { 0 pentru c h >0. Ca urmare sistemul dat este unic determinat i are solu iile : 9 9 9 9 a = 12h , b = -96h , c = 0 , d = 96h , e = -12h Formula derivatei numerice prin cinci puncte a func iei f ( x ) este :
f ' ( x0 ) ! 1 ?f x0  2h  8 f x 0  h  8 f x0  h  f x 0  2h A 12h

Aceast formul de derivare numeric are eroarea de trunchiere zero pn la func ii de gradul patru. Pentru func ii de grad mai mare ca patru, eroarea de trunchiere se determin analog ca la derivatele precedente, ob inndu-se valoarea :
eT ! 24 4 h f 5
IV

unde

x ?x0  2h , x0  2hA

Dac num rul de puncte cre te pentru calculul unei derivate, atunci eroarea de trunchiere se mic oreaz . Algoritmul : double Derivata5P( double (*f) (double), double x0,double h) { return(f(x0-2*h)-8*f(x0-h)+8*f(x0+h)-f(x0+2*h))/(12*h); }