Sunteți pe pagina 1din 10

Derivarea numerică a unei funcţii discrete

Ce trebuie să ştim despre derivarea numerică:


1. cum să determinăm o valoare aproximativă pentru derivata de ordinal întâi a unei
funcţii date prin puncte discrete
2. cum să folosim interpolarea polinomială Lagrange pentru determinarea derivatelor
unei funcţii discrete

I. Aproximarea cu diferenţe finite înainte a derivatei de ordinul întâi.

Ştim că:
f  x  x   f  x 
f  x   lim
x 0 x
sau pentru un  x finit,
f  x  x   f  x 
f  x  
x

f (x)

x x  x x
Figure 1 Reprezentarea grafică a diferenţei finite înainte pentru prima derivată

Prin urmare dacă se dau n  1 puncte  x0 , y 0  ,  x1 , y1  ,  x 2 , y 2  , ,  x n , y n  , valoarea


derivatei de ordinal întâi f (x ) pentru xi  x  xi 1 , i  0,..., n  1 , este dată de formula:
f  xi 1   f  xi 
f  xi  
xi 1  xi

02.03.1
Differentiation of Discrete Functions 02.03.2

Exemplul 1
Viteza unei rachete este dată de o funcţie de timp, din tabelul de mai jos:

Tabelul 1 Viteza rachetei în raport cu timpul.


t (s) v(t ) ( m/s)

0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67

Folosind diferenţele finite înainte, determinaţi acceleraţia rachetei pentru t  16 s .


Soluţie.
Pentru a determina acceleraţia la momentul t  16 s , va trebui sa alegem două valori ale
vitezei în apropierea momentului t  16 s , care să cuprindă momentul t  16 s pentru a
putea să-l evaluăm. Cele două puncte sunt t  15 s şi t  20 s

v ti 1     ti 
a  ti  
t
t i  15
t i 1  20
t  ti 1  ti
 20  15
5
  20   15
a 16 
5
517.35  362.78

5
= 30.914 m/s 2

2
Differentiation of Discrete Functions 02.03.3

II. Aproximarea derivatelor folosind polinoamele de interpolare.


Se dau n  1 puncte  x0 , y 0  ,  x1 , y1  ,  x 2 , y 2  , ,  x n , y n  , pe care putem construi un
polinom de interpolare de ordin n, de forma:
Pn  x   a 0  a1 x    a n1 x n 1  a n x n
Pentru a determina derivate de ordinal întâi, vom deriva polinomul de interpolare:
dP ( x)
Pn  x   n  a1  2a 2 x     n  1 a n1 x n  2  na n x n1
dx
In mod similar se pot determina şi alte derivate.

Exemplul 2
Viteza unei rachete este dată de o funcţie de timp, din tabelul de mai jos:

Tabelul 2 Viteza ca funcţie de timp..


t (s) v(t ) ( m/s)
0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67
Folosind un polinom de interpolare de ordin 3 pentru viteză, determinaţi acceleraţia rachetei
la momentul t  16 s .

Solutie.
Pentru polinomul de ordin 3, care se mai numeşte şi interpolarea cubică, vom alege viteza
dată de funcţia polinomială:
v t   a 0  a1t  a 2 t 2  a3 t 3
Vom calcula viteza la momentul t  16 s , folosind polinomul de ordin 3. Din acest motiv va
trebui să alegem 4 puncte din tabel, aproape de t  16 şi care sa-l cuprindă.
Cele patru puncte sunt t0  10, t1  15, t 2  20 şi t 3  22.5 .
t 0  10, v t 0   227.04
t1  15, v t1   362.78
t 2  20, v t 2   517.35

3
Differentiation of Discrete Functions 02.03.4

t 3  22.5, v t 3   602.97

Aşadar
v10  227.04  a 0  a1 10  a 2 10  a3 10
2 3

v15  362.78  a 0  a1 15  a 2 15  a3 15


2 3

v 20  517.35  a 0  a1  20  a 2  20  a3  20


2 3

v 22.5  602.97  a 0  a1  22.5  a 2  22.5  a3  22.5


2 3

Vom scrie sistemul în formă matriceală:


1 10 100 1000  a 0  227.04
1 15
 225 3375   a1  362.78

1 20 400 8000  a 2  517.35
    
1 22.5 506.25 11391  a3  602.97 

Figura 2 Graficul vitezei rachetei in raport cu timpul.

Rezolvând sistemul vom obţine soluţiile:


a 0  4.3810
a1  21.289
a 2  0.13065
a 3  0.0054606
Aşadar polinomul de interpolare cubic este:

4
Differentiation of Discrete Functions 02.03.5

v t   a 0  a1t  a 2 t 2  a3 t 3
 4.3810  21.289t  0.13065t 2  0.0054606t 3 , 10  t  22.5
Acceleraţia la momentul t  16 este dată de formula:
d
a 16   v t  t 16
dt
unde funcţia de derivat este:
v t   4.3810  21.289t  0.13065t 2  0.0054606t 3 , 10  t  22.5 ,
Inlocuind in formula acceleraţiei:
d
a t   v t 
dt

d
dt

 4.3810  21.289t  0.13065t 2  0.0054606t 3 
 21.289  0.26130t  0.016382t 2 , 10  t  22.5
a 16   21.289  0.2613016   0.01638216 
2

 29.664 m/s 2

III. Aproximarea derivatelor folosind polinomul de interpolare Lagrange.


Dându-se setul de n+1 puncte  x0 , y 0  ,  ,  xn , y n  , putem construe polinomul Lagrange de
ordin n, cu formula sa:
n
f n ( x)   Li ( x) f ( xi )
i 0

unde n în f n (x) reprezintă notaţia pentru ordinul polinomului care aproximează funcţia
y  f (x ) şi
n x  xj
Li ( x )  
j 0 xi  x j
j i

Li (x ) este produsul de n  1 termeni, cu termenul pentru j  i omis .


Astfel pentru a determina prima derivată vom putea să derivăm funcţia f n  x  , fără probleme.
Similar se pot determina derivatele de ordin superior.
De exemplu derivata de ordin doi, vom scrie mai întâi polinomul Lagrange ce trece prin
punctele  x 0 , y 0  ,  x1 , y1  ,  x 2 , y 2  :

f 2  x 
 x  x1  x  x2  f  x    x  x0  x  x2  f  x    x  x0  x  x1  f  x 
 x0  x1  x0  x2  0  x1  x0  x1  x2  1  x2  x0  x2  x1  2

5
Differentiation of Discrete Functions 02.03.6

Derivarea acestui polinom conduce la formula:

 2 x   x1  x2  2 x   x0  x2  2 x   x0  x1 
f 2  x  f  x0   f  x1   f x 
 x0  x1  x0  x2   x1  x0  x1  x2   x2  x0  x2  x1  2
Derivând incă o dată vom oţine derivata de ordin doi a funcţiei:
2 2 2
f 2 x   f  x0   f  x1   f x 
 x0  x1  x0  x2   x1  x0  x1  x2   x2  x0  x2  x1  2
Exemplul 3
Viteza unei rachete este dată de o funcţie de timp, din tabelul de mai jos:

Tabelul 3 Viteza în raport cu timpul.


t (s) v(t ) ( m/s)
0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67

Determinaţi valoarea acceleraţeie la momentul t  16 s folosind polinomul de interpolare


Lagrange de ordin doi pentru viteză.
Solutie.
 t  t1  t  t 2   t  t 0  t  t 2   t  t 0  t  t1 
v(t )    v(t 0 )    v(t1 )    v(t 2 )
 t 0  t1  t 0  t 2   t1  t 0  t1  t 2   t 2  t 0  t 2  t1 
2t   t1  t 2  2t   t 0  t 2  2t   t 0  t1 
a t     t0     t1    t 
 t 0  t1  t 0  t 2   t1  t 0  t1  t 2   t 2  t 0  t 2  t1  2
216   15  20
a16   227.04  216  10  20  362.78
10  1510  20 15  1015  20
216   10  15
  517.35
 20  10 20  15
6
Differentiation of Discrete Functions 02.03.7

 0.06 227.04  0.08 362.78  0.14 517.35


 29.784 m/s 2

Exemplul 4
Poziţia unui instrument supus unui test de vibraţie, la diferite momente de timp, a fost găsită
cum urmează:
i Timpul tI (sec) Poziţia yi
(inch)
1 0.05 0.144
2 0.10 0.172
3 0.15 0.213
4 0.20 0.296
5 0.25 0.070
6 0.30 0.085
7 0.35 0.525
8 0.40 0.110
9 0.45 0.062
10 0.50 0.055
11 0.55 0.042
12 0.60 0.035
Determinaţi viteza (dy/dt), acceleraţia (d2y/dt2) şi vibraţia (d3y/dt3) la t=0.05, 0.20 şi 0.60
sec folosind formule potrivite de diferenţe finite cu pasul dt=0.05 sec.

Soluţie:
Deoarece datele sînt cunoscute pentru 0.05t0.60 sec, putem determina derivatele cerute la
t=0.05 sec şi t=0.60 sec folosind formulele de difernţe înainte şi înapoi.Vom folosi formula
cu diferenţe finite centrale pentru evaluarea derivatei la t=0.20 sec.
t=0.05 sec
Formulele de diferenţe înainte sînt:
dy y  yi
yi '  (ti )  i 1
dt dt
2
d y y  2 yi 1  yi
yi ' '  2
(ti )  i  2
dt (dt ) 2
d3y y  3 yi 1  3 yi 1  yi
yi ' ' '  3
(ti )  i  3
dt (dt )3

7
Differentiation of Discrete Functions 02.03.8

Folosind i=1 şi dt=0.05, obţinem înlocuind în expresiile date:


y  y1 0.172  0.144
y1 '  y ' (0.05)  2   0.56 in / sec
dt 0.05
y  2 y2  y1 0.213  2(0.172)  0.144
y1 ' '  y ' ' (0.05)  3 
(dt ) 2 (0.05) 2
 5.20 in / sec2
y  3 y3  3 y2  y1
y1 ' ' '  y ' ' ' (0.05)  4 
(dt )3
0.296  3(0.213)  3(0.172)  0.144
 3
 232.0 in / sec3
(0.05)

t=0.20 sec
Formulele de diferenţe finite centrale sînt date de relaţiile:

dy y  yi 1
yi '  (ti )  i 1
dt 2dt
d y2
y  2 yi  yi 1
yi ' '  2
(ti )  i 1
dt (dt ) 2
d3y y  2 yi 1  2 yi 1  yi  2
yi ' ' '  3
(ti )  i  2
dt 2(dt )3

Pentru i=4 şi dt=0.05 obţinem:

8
Differentiation of Discrete Functions 02.03.9

y5  y3 0.070  0.213
y4 '  y ' (0.20)    1.43 in / sec
2dt 2(0.05)
y  2 y4  y3
y4 ' '  y ' ' (0.20)  5 
(dt ) 2
0.070  2(0.296)  0.213
 123.60 in / sec 2
(0.05) 2
y  2 y5  2 y3  y2
y4 ' ' '  y ' ' ' (0.20)  6 
2( dt )3
0.085  2(0.070)  2(0.213)  0.172
3
 796.0 in / sec3
2(0.05)

t=0.60 sec

Formulele de diferenţe finite înapoi sînt date de relaţiile:


dy y  yi 1
yi '  (ti )  i
dt dt
d y2
y  2 yi 1  yi  2
yi ' '  2
(ti )  i
dt ( dt ) 2
d3y y  3 yi 1  3 yi  2  yi  3
yi ' ' '  3
(ti )  i
dt (dt )3

Pentru i=12, rezultă:

9
Differentiation of Discrete Functions 02.03.10

y12  y11 0.035  0.042


y12 '  y ' (0.60)    0.14 in / sec
dt 0.05
y  2 y11  y10
y12 ' '  y ' ' (0.60)  12 
(dt ) 2
0.035  2(0.042)  0.055
 2.4 in / sec
(0.05) 2
y  3 y11  3 y10  y9
y12 ' ' '  y ' ' ' (0.60)  12 
(dt )3
0.035  3(0.042)  3(0.055)  0.062
 96.0 in / sec .
(0.05)3

10

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