Sunteți pe pagina 1din 13

Traian CICONE Metode numerice în ingineria economică

2. APROXIMAREA ŞI INTERPOLAREA FUNCŢIILOR

În modelarea fenomenelor (fizice, economice, sociale, etc.) suntem adesea puşi în situaţia de a manipula
funcţii necunoscute ca expresie şi definite doar prin valorile din anumite puncte (valori care, în general, sunt
“date experimentale”, respectiv provin din experimente, măsurători, sondaje, etc.). Pentru a putea efectua
diferite calcule numerice pe baza “datelor experimentale” (estimarea valorii în puncte diferite de cele
cunoscute, evaluarea unor operaţii matematice standard precum derivarea sau integrarea) este necesară
găsirea unei funcţii de aproximare, cu o formă analitică simplă, uşor de manevrat într-un algoritm de calcul.
Aproximarea unei funcţii poate fi utilă şi dacă funcţia cu care trebuie să operăm este cunoscută dar are o
formă complicată, greu de “manipulat” numeric. În acest caz, prin calculul valorilor funcţiei originale într-o
serie de puncte se ajunge la o situaţie similară cu cea precedentă (funcţie cunoscută într-un număr finit de
puncte).
Fie [a,b] ∈ R, intervalul în care sunt cunoscute valorile funcţiei (intervalul de aproximare) şi xi ∈[a,b],
i=0,1,...n, n∈N, punctele în care este cunoscută funcţia cu care operăm (funcţia de aproximat). Aceste
puncte (denumite noduri) formează o reţea de noduri cunoscută şi sub denumirea de şir de diviziuni.
Valorile cunoscute ale funcţiei, f, care trebuie aproximată, se notează cu yi, i=0,1,...n. Evident, yi=f(xi), cu
menţiunea că expresia funcţie f nu este, în general, cunoscută.
Determinarea unei funcţii de aproximare, g(x), nu se poate face decât dacă se impune un criteriu de
aproximare. În principiul, criteriile de aproximare se împart în două categorii:
1. Funcţia de aproximare TREBUIE să treacă prin punctele cunoscute:
g (xi ) = yi i = 0,1,K ,n (2.1)

În această situaţie g este o funcţie de interpolare, iar operaţia de determinare a ei se numeşte


interpolare. La condiţia de bază (2.1) se pot adăuga şi alte condiţii cu privire la continuitatea,
derivabilitatea sau a altor caracteristici ale funcţiei în anumite puncte din intervalul analizat. Se observă
că la interpolare se presupune că nodurile de interpolare (xi, yi) sunt cunoscute exact, nefiind afectate de
erori.
2. Funcţia de aproximare NU TREBUIE să treacă prin punctele cunoscute, dar să “aproximeze cât mai
bine” valorile cunoscute, situaţie tipică aproximării datelor experimentale inerent afectate de erori. În
acest caz se pot folosi următoarele criterii:
(i) Minimizarea abaterii maxime a funcţiei de aproximare faţă de cea originală:

{ f (x ) − g (x ) = minim
max (2.2)
x∈[a ,b ]

Evident că, dacă funcţia originală este cunoscută în puncte, (xi, yi), i=0,1,...n,, ec. (2.2) devine:

{ yi − g (xi ) = minim
max (2.2’)
i =1,2,...,n

Metoda de aproximare corespunzătoare acestui criteriu este cunoscută sub numele de aproximarea
mini-max.
(ii) Minimizarea sumei pătratelor abaterilor funcţiei de aproximare faţă de cea originală. În forma
generală această sumă se exprimă printr-o integrală, a cărei valoare trebuie minimizată:

Cap. 2 2005-2006 1
Traian CICONE Metode numerice în ingineria economică

∫ [f (x ) − g(x )] dx = minim
2
S= (2.3)
a
Din punct de vedere geometric condiţia de mai sus înseamnă că suma ariilor delimitate de graficele
funcţiilor f şi g trebuie să fie minimă. Cum funcţia originală este cunoscută prin valorile discrete în
anumite puncte, (xi, yi), i=0,1,...n, ec. (2.3) devine:
n
S = ∑[ y i − g ( x i ) ]2 = minim (2.3’)
i =1

Metoda de aproximare corespunzătoare acestui criteriu este cunoscută sub numele de metoda celor
mai mici pătrate1.
În practică, metodele din această a doua categorie se numesc metode de aproximare, spre deosebire de
interpolare, deşi aceasta din urmă este în esenţă tot o metodă de aproximare.
O analiză comparativă a celor două metode de aproximare arată că, dacă metoda mini-max se focalizează
asupra erorii maxime introdusă prin aproximare, metoda celor mai mici pătrate se focalizează asupra sumei
erorilor, indiferent de semnul lor, pe tot domeniul de aproximare. Ridicarea la pătrat a fiecărei erori are rolul
pentru a evita compensarea erorilor pozitive cu cele negative.

2.1. INTERPOLAREA

Revenind la interpolare, presupunând nodurile de interpolare (xi, yi), i=0,1,...n, distincte, din condiţia de
interpolare (2.1) rezultă un sistem de (n+1) condiţii care în mod normal conduce la un sistem de (n+1)
ecuaţii cu tot atâtea necunoscute. Una din primele întrebări care se naşte este „care este forma funcţiei g?”
Se ştie din „Algebra Liniară” că dacă avem de rezolvat un sistem de ecuaţii, este de preferat ca acesta să fie
un sistem de ecuaţii liniare, motiv pentru care alegerea formei funcţiei g este importantă. Soluţia este de a
găsi un set de (n+1) funcţii liniar independente, (notate g0, g1, g2,..., gn), iar funcţia de interpolare g să fie
definită ca o combinaţie liniară a acestora2:
n
g (x ) = ∑a
k =0
k ⋅ g k (x ) (2.4)

unde scalarii (denumite şi constante sau parametri) ak, k = 0,1…,n reprezintă cele (n+1) necunoscute ale
sistemului (2.3’).
Ca exemple de seturi de funcţii liniar independente se pot da monoamele, funcţiile trigonometrice sau cele
exponenţiale. Astfel, interpolarea polinomială se bazează pe monoamele definite de funcţiile 1, x, x2, x3,...,
xn; acestea sunt de departe cele mai utilizate seturi de funcţii de interpolare.
Interpolarea trigonometrică (cunoscută şi ca dezvoltare în serii Fourier) se bazează pe funcţiile sin x, cos x,
n +1 n +1
sin 2x, cos 2x,..., sin x , cos x.
2 2
Interpolarea exponenţială (cunoscută şi ca dezvoltare în serii de puteri) se bazează pe funcţiile ex,e2x,...,enx
şi eventual pe inversele acestora, e-x,e-2x,...,e-nx.

1
„least square method” este denumirea din limba engleză
2
setul de funcţii gk, k=0,1,...,n, conţine elemente distincte, între care nu există relaţii de legătură, ceea ce revine la a
n
spune că nu există ak∈R\{0} astfel încât ∑a
k =0
k gk = 0 .

Cap. 2 2005-2006 2
Traian CICONE Metode numerice în ingineria economică

În prezentul curs atenţia se va îndrepta doar asupra interpolării liniare, noţiunile de bază putând fi apoi uşor
extrapolate spre alte categorii de interpolare.
Astfel, din egalarea ecuaţiilor (2.1) şi (2.4) rezultă sistemul de (n+1) ecuaţii liniare:
n
1 + xi + xi2 + ... + xin = ∑a x
k =0
k
k i = yi i = 1,2,...,n (2.5)

care, în formă matriceală extinsă se scrie:


 1 x0 x 02 ... x 0n −1 x 0n   a 0   y0 
     y 
 1 x1 x 12 ... x 1n −1 x 1n   a 1   1 
 
 ... ... ... ... ... ...  ⋅  ...  =  ...  (2.5’)
   
 1 x n −1 x n2−1 ... x nn−−11 x nn−1   a n −1   y n −1 
     y n 
 1 xn x n2 ... x nn −1 x nn   a n
iar în forma condensată:
[ X ]⋅ [ A ] = [Y ] (2.5”)

Rezolvarea sistemului conduce la determinarea celor (n+1) coeficienţi polinomiali ak. Se observă că
determinantul matricei coeficienţilor sistemului este de tip Vandermonde, care este sigur nenul dacă valorile
xi sunt distincte (adică xj ≠xi i≠j, i, j < n). Rezultă că sistemul este compatibil determinat deci soluţia
sistemului (2.5) este unică pentru o funcţie şi o diviziune date. Cu alte cuvinte, polinomul de interpolare
este unic pentru tot intervalul [a,b].
Pentru un număr mic de noduri (n = 1, 2, 3), sistemul se poate rezolva uşor chiar şi “manual” (fără un
calculator programabil), aşa cum se va arăta mai jos. Pentru valori mai mari ale lui n este nevoie de utilizarea
unui calculator programabil pentru rezolvarea sistemului de ecuaţii.
Totuşi, dacă numărul punctelor de interpolare, n, este mare, determinarea polinomului de interpolare prin
rezolvarea directă a sistemului (2.5) este dificilă şi nerecomandabilă. De-a lungul timpului s-au propus foarte
multe variante de generare a polinomului de interpolare, eficace în cazul interpolării unui mare număr de
puncte. În acest curs se vor prezenta două dintre acestea, polinomul Newton respectiv polinomul Lagrange.
Pentru a prezenta prima variantă, (polinomul Newton) este necesară definirea diferenţelor divizate.

2.1.1. Interpolarea liniară (n = 1)


În cea mai simplă metodă de interpolare, interpolarea liniară, se utilizează ca funcţie de interpolare, g(x),
funcţia polinomială de gradul I:
g(x ) = a0 + a1 x (2.6)

Evident, fiind vorba de un polinom de gradul I, sunt necesare două puncte de interpolare de coordonate
(x0 , y0) respectiv (x1, y1). Din condiţia ca dreapta g ( x ) să treacă prin punctele de interpolare, adică,
coordonatele acestor două puncte să satisfacă ec. (2.6), rezultă sistemul de două ecuaţii cu două necunoscute,
a0 şi a1:

a0 + x0 a1 = y0

a0 + x1a1 = y1
a cărui soluţie este

Cap. 2 2005-2006 3
Traian CICONE Metode numerice în ingineria economică

 y0 x1 − y1 x0
a0 = x − x
 1 0
 (2.7)
a = y1 − y0
 1 x1 − x0

În general, pentru două puncte consecutive dintr-un şir de diviziuni, care definesc intervalul de interpolare
[xi;xx+1], funcţia de interpolare de gradul I are expresia:
y i x i +1 − y i +1 x i y i +1 − y i
g(x )= y(x )= + ⋅x (2.8)
x i +1 − x i x i +1 − x i

2.1.2. Interpolarea parabolică (n = 2)


Interpolarea parabolică este posibilă dacă se cunosc trei puncte de interpolare. Să presupunem aceste puncte
definite prin coordonatele (x0 , y0), (x1, y1) şi respectiv (x2, y2). Polinomul de interpolare de gradul doi, în
formă canonică este:

g ( x ) = a 0 + a1 x + a 2 x 2 (2.9)

Rezultă sistemul de trei ecuaţii cu trei necunoscute:


 a 0 + x 0 a 1 + x 02 a 2 = y 0

2
 a 0 + x1 a1 + x1 a 2 = y1
 2
 a 0 + x 2 a 1 + x 2 a 2 = y 2

cu soluţia:
y0 x1 x2 (x2 − x1 ) + y1 x2 x0 (x0 − x2 ) + y2 x0 x1 (x1 − x0 )
a0 =
D

a1 =
(
y0 x12 − x22 )+ (y1 x22 − x02 ) (
+ y2 x02 − x12 ) (2.10)
D
y0 (x2 − x1 ) + y1 (x0 − x2 ) + y2 (x1 − x0 )
a2 =
D
unde D = (x1 − x0 )(x2 − x1 )(x0 − x2 ) este determinantul sistemului.

După cum se remarcă, chiar în acest caz simplu, soluţia se obţine după calcule relativ laborioase. O variantă
mai rapidă de determinare a polinomului de interpolare se obţine prin rescrierea acestuia în forma:
g(x ) = α 0 + α1 (x − x0 ) + α 2 (x − x0 )(x − x1 ) (2.11)

Din condiţiile de interpolare scrise în forma:


 g (x0 ) = α 0 = y0

 g (x1 ) = α 0 + α1 (x1 − x0 ) = y1 (2.12)
 g (x ) = α + α (x − x ) + α (x − x )(x − x ) = y
 2 0 1 2 0 2 2 0 2 1 2
rezultă coeficienţii polinomiali, α1, α2 şi α3.

Cap. 2 2005-2006 4
Traian CICONE Metode numerice în ingineria economică

α 0 = y0
y1 − y0
α1 = (2.13)
x1 − x0

α2 =
( y2 − y0 )(x1 − x0 ) − ( y1 − y0 )(x2 − x0 )
(x1 − x0 )(x2 − x1 )(x2 − x0 )
2.1.3. Diferenţe divizate
Fiind date perechile de valori (xi,yi), i = 0,1,…, n, se defineşte diferenţa divizată de ordinul 1
corespunzătoare punctului 0 prin raportul:
y1 − y0
DD1 (x1 , x0 ) = (2.14)
x1 − x0
sau, mai general, pentru punctul i:
y i − y i −1
DD 1 ( x i , x i −1 ) = (2.15)
x i − x i −1

În continuare, se defineşte diferenţa divizată de ordinul 2 corespunzătoare punctului 0 prin raportul:


DD 1 ( x 2 , x 1 ) − DD 1 ( x 1 , x 0 )
DD 2 ( x 2 , x 1 , x 0 ) = (2.16)
x2 − x0

Urmând acelaşi principiu, se defineşte diferenţa divizată de ordinul n corespunzătoare punctului 0, prin
raportul:
DD n −1 ( x n , x n −1 ,..., x 1 ) − DD n −1 ( x n −1 , x n − 2 ,..., x 1 , x 0 )
DD n ( x n , x n −1 ,..., x 1 , x 0 ) = (2.17)
xn − x0

Se observă că, în general, diferenţa divizată de ordinul k se construieşte folosind (k+1) puncte. Deoarece
formulele de definire (2.14)...(2.16) sunt recursive, este utilă determinarea unei formule de calcul direct a
diferenţei divizate de ordinul k. În acest sens, se dezvoltă expresia (2.16), folosind relaţia de definiţie (2.15):
y2 − y1 y1 − y0
+
x2 − x1 x1 − x0 y2 y1 y0
DD2 (x2 , x1 , x0 ) = = + + (2.18)
x2 − x0 (x2 − x1 )(x2 − x0 ) (x1 − x2 )(x1 − x0 ) (x0 − x1 )(x0 − x2 )
Se observă că termenii din membrul drept al egalităţii de mai sus se obţin prin permutări circulare, astfel că
putem găsi o formă condensată de exprimare a diferenţei divizate de ordinul 2, astfel:
2
yi
DD2 (x2 , x1 , x0 ) = ∑ 2
(2.19)
i =0
∏ (xi − x j )
j =0
j ≠i

Plecând de la aceasta, se demonstrează relativ uşor, prin inducţie matematică, formula generalizată pentru
diferenţa divizată de ordinul n:
n
yi
DDn (xn , xn −1 ,..., x1 , x0 ) = ∑ n
(2.20)
i =0
∏ (xi − x j )
j =0
j ≠i

Cap. 2 2005-2006 5
Traian CICONE Metode numerice în ingineria economică

Analizând ecuaţiile (2.19) şi (2.20) se observă că sunt simetrice, adică valoarea diferenţei divizate nu
depinde de ordinea în care se consideră punctele (xi, yi); deci, simbolic putem scrie că:
DD 1 ( x i , x i −1 ) = DD 1 ( x i −1 , x i ) (2.21)

În practică, este mai comod să se calculeze diferenţele divizate recursiv decât prin utilizarea formulei (2.20)
v. Tabelul 2.1.

2.1.4. Forma Newton a polinomului de interpolare


Dacă scriem diferenţa divizată de ordinul 1 corespunzătoare unui punct oarecare, (x, y); din intervalul de
interpolare [a, b] din ec. (2.5) avem:
y0 − y
DD 1 ( x 0 , x ) = (2.22)
x0 − x
de unde rezultă:
y = y 0 + ( x − x 0 ) DD 1 ( x,x 0 ) (2.23)

Similar, pornind de la diferenţa divizată de ordinul 2, scrisă în raport cu punctul oarecare, (x,y), avem:
DD 1 ( x 1 ,x 0 ) − DD 1 ( x 0 ,x ) ( y − y 0 ) − ( x − x 0 ) DD 1 ( x 1 ,x 0 )
DD 2 ( x 1 , x 0 , x ) = = (2.24)
x1 − x ( x − x 1 )( x − x 0 )
de unde rezultă:
y = y 0 + ( x − x 0 ) DD 1 ( x 1 , x 0 ) + ( x − x 1 )( x − x 0 ) DD 2 ( x 1 , x 0 , x ) (2.25)

Prin generalizare, pentru toate cele (n+1) puncte din intervalul de interpolare [a, b] avem:
y = y 0 + ( x − x 0 ) DD 1 ( x 1 ,x 0 ) + ( x − x 1 )( x − x 0 ) DD 2 ( x 2 ,x 1 ,x 0 ) + ...
... + ( x − x n −1 ) ... ( x − x 1 )( x − x 0 ) DD n ( x n ,x n −1 ,...,x 1 ,x 0 ) + (2.26)
+ ( x − x n )( x − x n −1 ) ... ( x − x 1 )( x − x 0 ) DD n +1 ( x,x n ,x n −1 ,...,x 1 ,x 0 )

Ţinând cont că y = f(x), ec. (2.26) poate fi scrisă în formă restrânsă:


f (x ) = Pn (x ) + Rn (x ) (2.27)
unde
n −1   k  
∑ ∏( )

Pn (x ) = y0 +  x − x j  ⋅ DDk +1 (xk , xk −1 ,..., x1 , x0 ) (2.28)
k =0 
 
 j = 0  

este polinomul Newton de interpolare de gradul n, cu diferenţe divizate, iar


Rn (x ) = (x − xn )(x − xn −1 )...(x − x1 )(x − x0 )DDn +1 (x, xn , xn −1 ,..., x1 , x0 ) =
 n 
∏( ) DDn+1 (x, xn , xn−1 ,..., x1 , x0 ) (2.29)
= x − xj
 j =0 
este restul sau eroarea de aproximare la interpolarea polinomială.
Se verifică imediat că eroarea este nulă în toate punctele de interpolare, adică, Rn (xi ) = 0 i = 0 ,1,...,n . şi
deci polinomul Pn îndeplineşte condiţia de interpolare (2.1).
Exemplu - Tabelul 2.2

Cap. 2 2005-2006 6
Traian CICONE Metode numerice în ingineria economică

Tabelul 2.1. Exemplu de dezvoltare a diferenţelor divizate sub formă tabelară


xi yi=f(xi) DD1 DD2 DD3

x0 y0

y1 − y0
x1 y1 DD1 (x1 , x0 ) =
x1 − x0
y2 − y1 DD1 (x2 , x1 ) − DD1 (x1 , x0 )
x2 y2 DD1 (x2 , x1 ) = DD2 (x2 , x1 , x0 ) =
x2 − x1 x2 − x0
y3 − y2 DD1 (x3 , x2 ) − DD1 (x2 , x1 ) DD2 (x3 , x2 , x1 ) − DD1 (x2 , x1 , x0 )
x3 y3 DD1 (x3 , x2 ) = DD2 (x3 , x2 , x1 ) = DD3 (x3 , x2 , x1 , x0 ) =
x3 − x2 x3 − x1 x3 − x0

Tabelul 2.2. Exemplu numeric de tabel cu diferenţe divizate


xi yi=f(xi) DD1 DD2 DD3 DD4

1 0

2 -2 2

3 -1 -3 -5/2

4 2 3 3 11/6

5 3 1 -1 -4/3 19/24

Cap. 2 2005-2006 7
Traian CICONE Metode numerice în ingineria economică

Eroarea de interpolare, adică restul Rn (x ) nu poate fi estimată decât dacă se cunoaşte funcţia aproximată,
f(x) şi derivatele ei. Totuşi, o analiză interesantă cu concluzii utile poate fi dezvoltată considerând funcţia
auxiliară:
n
Q(z ) = f (x ) − Pn (z ) − ∏ (z − x )DD (x, x , x
i =0
i n n n −1 ,..., x1 , x0 ) (2.30)

care se anulează pentru z=x, respectiv, z = xi i = 0 ,1 ,...,n , deci are (n+2) zerouri.
Admiţând că f(x) este derivabilă de (n + 1) ori putem aplica teorema lui Rolle funcţiei Q(z) precum şi
derivatelor ei. Cum funcţia are (n + 2) zerouri, avem succesiv, (n + 1) zerouri pentru derivata I, n zerouri
pentru derivata a II-a, şi, în final, rezultă că derivata de ordinul (n + 1) are un zero, pe care îl notăm cu ξ.
Aplicând raţionamentul acesta ecuaţiei (2.30), prin derivarea succesivă, de (n + 1) ori, polinomul Newton
Pn (x ) se anulează, astfel că obţinem3:

0 = f ( n +1) (ξ ) − (n + 1)!⋅DDn (x, xn , xn −1 ,..., x1 , x0 ) (2.31)

Prin urmare, dacă introducem ec. (2.31) în expresia restului (2.29), obţinem:

) f(n + 1(ξ) !)
 n  ( n +1)
Rn (x ) =  ∏(
 j =0
x − xj

(2.32)

Rezultă, intuitiv, că restul este mai mic dacă x este la mijlocul sub-intervalului de interpolare definit de
nodurile adiacente. Evaluări exacte nu pot fi făcute, derivata de ordinul (n+1) nu este cunoscută.
Pe de altă parte, dacă x se află în afara intervalului de interpolare [a,b] avem de a face cu operaţia de
extrapolare şi după cum se vede, eroarea de aproximare poate fi mai mare.
Observaţii:
(i) În practică este recomandabilă interpolarea cu un număr redus de noduri (3 până la 5 noduri), cele
mai apropiate de punctul în care se caută valoarea funcţiei.
(ii) Dacă din membrul drept al formulei de interpolare (2.26) reţinem doar doi termeni obţinem
binecunoscuta ecuaţie a interpolării liniare (2.8), dedusă la începutul capitolului pe o cale mai
directă. Similar, dacă reţinem trei termeni din membrul doi, ajungem la expresia interpolării
parabolice –ec. (2.10)
(iii) Se observă că polinomul Newton cu diferenţe divizate are aceeaşi formă cu dezvoltarea în serie
Taylor trunchiată.

2.1.5. Forma Lagrange a polinomului de interpolare


O altă variantă de definire a polinomului de interpolare pleacă de la ideea exprimării în funcţie de valorile
funcţiei în punctele de interpolare, yk şi a unui set de funcţii asociate:

3
Se demonstrează uşor, de exemplu prin inducţie matematică, egalitatea:

dn  n 
n 
d x  i =0

(z − xi ) = n!

Cap. 2 2005-2006 8
Traian CICONE Metode numerice în ingineria economică

n
L( x ) = ∑y
k =0
k ⋅ l k (x ) (2.33)

unde l k (x ) sunt polinoame de grad maxim n, care pot fi determinate din condiţia de interpolare (2.1):
n
L(xi ) = ∑y
k =0
k ⋅ l k (xi ) = yi i = 0,1,...,n (2.34)

Scriind în formă extinsă egalităţile din ec. (2.34) obţinem:


 y0 ⋅ l 0 (x0 ) + y1 ⋅ l 1 (x0 ) + ... + yn ⋅ l n (x0 ) = y0

 y0 ⋅ l 0 (x1 ) + y1 ⋅ l 1 (x1 ) + ... + yn ⋅ l n (x1 ) = y1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 y0 ⋅ l 0 (xn ) + y1 ⋅ l 1 (xn ) + ... + yn ⋅ l n (xn ) = yn
de unde, prin identificare, rezultă că funcţiile l k (x ) se anulează pentru toate punctele de interpolare, xi, mai
puţin punctul xk, în care funcţia trebuie să ia valoarea 1. Această concluzie poate fi formalizată matematic
astfel:

1 pentru x = xk 
l k (x ) =   k = 0,1K ,n
4
(2.35)
0 pentru x = xi i = 0,1K ,n , i ≠ k 
Deci fiecare polinom l k (x ) are n zerouri distincte astfel că poate fi exprimat în forma:

l k (x ) = Ak (x − x0 )(x − x1 )...(x − xk −1 )(x − xk +1 )...(x − xn −1 )(x − xn ) (2.36)


în care constanta Ak se poate determina din condiţia l k (xk ) = 1 ceea ce conduce la formula:

1 1
Ak = = (2.37)
(xk − x0 )(xk − x1 )...(xk − xk −1 )(xk − xk +1 )...(xk − xn−1 )(xk − xn ) n

∏ (x
i =0
k − xi )
i≠k

Introducând expresia constantelor Ak în ec. (2.36) rezultă expresiile finale ale funcţiilor Lagrange:

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


(xk − x0 )(xk − x1 )...(xk − xk −1 )(xk − xk +1 )...(xk − xn−1 )(xk − xn ) ∏
l k (x ) = (2.36’)
i =0
(xk − xi )
i≠k

astfel că polinomul Lagrange poate fi scris în forma condensată:


n n
L( x ) = ∑ ∏ (x − x )
k =0
Ck i (2.39)
i =0
i≠k

unde, coeficienţii Ck au expresiile:


n
yi
Ck = ∏ (x
k =0 k − xi )
(2.40)
k ≠i

ceea ce permite reducerea numărului de operaţii aritmetice.

4
Funcţiile l k sunt similare cu funcţiile de tip „treaptă”, definite cu simbolul Kronecker.

Cap. 2 2005-2006 9
Traian CICONE Metode numerice în ingineria economică

Exemplu Pentru valori tabelate de mai jos, polinomul Lagrange are forma:
xi 0 1 2 4
yi = f(xi) 1 1 2 5

( x − 1)( x − 2)( x − 4)
L(x ) = (1) + ( x − 0)( x − 2)( x − 4) (1) + ( x − 0)( x − 1)( x − 4) (2) + ( x − 0)( x − 1)( x − 2) (5)
(0 − 1)(0 − 2)(0 − 4) (1 − 0)(1 − 2)(1 − 4) ( 2 − 0)( 2 − 1)( 2 − 4) ( 4 − 0)( 4 − 1)( 4 − 2)
Totuşi, calculul valorii funcţiei aproximate folosind forma Lagrange a polinomului de interpolare necesită
mai multe operaţii elementare decât forma Newton. De asemenea, dacă la un set de puncte de interpolare se
adaugă un nou punct, pentru a determina noua formă a polinomului Lagrange trebuie reluate toate calculele
de la început. Pe de altă parte, la polinomul Newton trebuie doar adăugat un termen, care se obţine în urma
adăugării unei linii suplimentare în tabelul cu diferenţe divizate, calculele precedente fiind păstrate.
În schimb utilizarea polinomul Lagrange este avantajoasă în cazul calculului concomitent al derivatelor
funcţiei în acelaşi punct.

2.1.6. Interpolarea cu funcţii “spline”

Utilizarea unui singur polinom de interpolare pentru întregul interval [a,b], indiferent prin ce formă este
reprezentat, este uneori dezavantajoasă. Un inconvenient major este generat de faptul că aceste aşa-numite
„forme globale” de interpolare nu sunt „convergente”5. În plus, chiar dacă interpolarea este convergentă,
creşterea numărului de noduri necesară creşterii preciziei de aproximare conduce la creşterea importantă a
volumului de calcule care, în secundar, prin efectul de „propagare a erorilor” are ca rezultat şi accentuarea
erorilor de aproximare.
Pentru a elimina acest inconvenient se poate utiliza interpolarea polinomială pe porţiuni (subdiviziuni
adiacente ale domeniului [a,b]). Funcţiile de interpolare construite în acest fel se numesc funcţii spline. Ele
sunt caracterizate prin aceeaşi formă pe fiecare sub-interval (cel mai adesea forma polinomială) şi prin
condiţiile de racordare în nodurile de graniţă dintre subintervale.
Pentru definirea funcţiilor spline se consideră în intervalul [a,b], o reţea de noduri (numite şi puncte de
diviziune) (xi), i=0,1,…,n construite astfel încât primul şi ultimul să coincidă cu limitele intervalului de
interpolare: x0 =a, respectiv xn =b. Aceste noduri definesc subintervalele de interpolare Ii=[xi, xi+1].
Prin definiţie, funcţia S: [a,b] →R se numeşte funcţie spline de ordinul k dacă:

(a) restricţiile ei pe subintervalele Ii sunt polinoame de acelaşi grad, k: S I = sk , i


i

(b) S este derivabilă de (k-1) ori pe intervalul [a,b] (adică, S este o funcţie de clasă C(k-1) pe [a,b] ).

( ) ( )
sk , i x i +1 = sk , i +1 x i +1

( ) ( )
sk′ , i x i +1 = sk′ , i +1 x i +1
 ∀ i = 0,1,..., ( n − 1) (2.41)
..................................
 ( )
s ( n ) k , i x (n)
( )
i +1 = s k , i +1 x i +1

Funcţiile spline definite astfel sunt „fără deficienţă”. Dacă se renunţă la o serie de condiţii de racordare, astfel
încât funcţia S să nu mai fie de clasă C(k-1 se obţin funcţii spline cu deficienţă.

5
Prin definiţie, interpolarea este convergentă dacă prin mărirea numărului de noduri considerate pe intervalul [a,b]
creşte precizia de aproximare.
Cap. 2 2005-2006 10
Traian CICONE Metode numerice în ingineria economică

2.2.1. Funcţia spline de ordinul I


În cazul interpolării spline de ordinul I, pe fiecare subinterval se construiesc polinoame de gradul întâi,
construite prin punctele de interpolare, fără nici o condiţie suplimentară pentru derivate. Din punct de vedere
grafic se obţine o linie poligonală, rezultată din aplicarea succesivă pe fiecare sub-interval a interpolării
liniare. Cum nu se impune nici o condiţie suplimentară derivatelor, în general funcţia spline de ordinul I este
continuă dar nu este derivabilă în noduri.
Matematic, funcţiile spline de ordinul I se exprimă ca o funcţie de gradul I care trece prin nodul i:
s1, i (x ) = yi + mi (x − xi ) (2.42)
6
unde x ∈ [xi, xi+1] i = 0,1,2,…,n-1.
Necunoscutele mi, care reprezintă de fapt panta fiecărui segment rezultă din condiţia de interpolare (v. şi
interpolarea liniară):
si (xi +1 ) = yi +1 i = 0,1, …, n-1

Rezultă imediat binecunoscuta formulă a pantei dreptei care uneşte două puncte:
yi +1 − yi
mi =
xi +1 − xi

Deci, funcţia spline de ordinul întâi, definită prin setul de ecuaţii:


yi +1 − yi
si (x ) = yi + (x − xi ) x ∈ [xi, xi+1] i = 0,1, …, n-1 (2.43)
xi +1 − xi
este evident continuă, dar nederivabilă.
Aplicarea directă a funcţiei spline de ordinul I se întâlneşte în cazul integrării numerice prin metoda
trapezelor.

2.2.2. Funcţia spline de ordinul II


În acest caz, funcţia de interpolare este formată din polinoame de gradul doi care asigură continuitatea
funcţiei şi a primei derivate în nodurile reţelei. Expresia ei este:

s2, i (x ) = yi + mi (x − xi ) + ai (x − xi )
2
(2.44)
unde x ∈ [xi, xi+1] i = 0,1,2,…,n-1.
În această formă, parabola satisface condiţia de continuitate în nodul xi: s2, i (xi ) = yi

Cele două constante necunoscute din ec. (2.44), se calculează din condiţiile de continuitate pentru funcţie şi
prima derivată, după cum urmează.
Condiţia de racordare în nodul xi+1, conduce la ecuaţia:

s2, i (xi +1 ) = yi +1 = yi + mi (xi +1 − xi ) + ai (xi +1 − xi )


2
(2.45)

de unde, printr-o algebră simplă se obţine:


yi +1 − yi mi
ai = + (2.46)
(xi +1 − xi ) 2
(xi +1 − xi )

6
Convenţii de notaţie:
(1) intervalul de interpolare „i” este mărginit de nodurile: xi, şi xi+1.
(2) primul indice al polinomului de interpolare, s, reprezintă gradul acestuia, iar al doilea indice este asociat
intervalului de interpolare, „i”.
Cap. 2 2005-2006 11
Traian CICONE Metode numerice în ingineria economică

Pe de altă parte, condiţia de continuitate a derivatei în nodurile de graniţă dintre două intervale se scrie sub
forma:
s2′ , i (xi +1 ) = s2′ , i +1 (xi +1 ) (2.47)

Ecuaţia de mai sus este valabilă pentru toate nodurile interioare din domeniul de interpolare [a,b] adică xi,
i=1,2,…,n-1. Pe de altă parte, derivarea expresiei (2.44) particularizată pentru două intervale consecutive
conduce la:
′ i (x ) = mi + 2ai (x − xi )
s2, (2.48’)

s2′ , i +1 (x ) = mi +1 + 2ai +1 (x − xi +1 ) (2.48’’)

Cum parabolele definite pe intervale vecine trebuie să aibă derivatele egale, introducând (2.48) în (2.47)
avem:
mi + 2ai (xi +1 − xi ) = mi +1 (2.49)

Egalitatea de mai sus este valabilă pentru toate intervalele mai puţin ultimul: x ∈ [xi, xi+1] i = 0,1,2,…,n-2.
Dacă se introduce notaţia hi pentru lungimea subintervalului Ii şi se combină ecuaţiile (2.49) cu (2.47) rezultă
sistemul de (n-1) ecuaţii cu n necunoscute, mi:
yi +1 − yi
mi + mi +1 = 2 (2.50)
hi
Cum numărul necunoscutelor este cu o unitate mai mare decât cel al ecuaţiilor pentru rezolvarea problemei
se adaugă o condiţie suplimentară care de obicei este panta curbei într-unul dintre punctele de graniţă: m0 sau
mn+1.

2.2.3. Funcţia spline de ordinul III


Funcţia spline de ordinul III, cunoscută şi sub numele de funcţie spline cubică este una dintre cele mai
folosite funcţii de interpolare. Având şi derivata de ordinul II continuă ea permite şi controlul razei de
curbură de unde vine şi interesul practic. Forma ei polinomială este:

s3, i (x ) = yi + mi (x − xi ) + ai (x − xi ) + bi (x − xi )
2 3
(2.51)
unde x ∈ [xi, xi+1] i = 0,1,2,…,n-1.
Condiţiile de continuitate în nodurile interioare, xi, i = 1,2,…,n-1, sunt:

( ) ( )
s3, i x i +1 = s3, i +1 x i +1

( ) ( )
s3′ , i x i +1 = s3′ , i +1 x i +1 ∀ i = 0,1,..., ( n − 1) (2.52)
 ′′
( ) ( )
s3, i x i +1 = s3′′, i +1 x i +1
Derivând de două ori expresia (2.51), obţinem succesiv pentru subintervalul Ii respectiv Ii+1:
s3′ , i (x ) = mi + 2ai (x − xi ) + 3bi (x − xi )2
 (2.53)
s3′′, i (x ) = 2ai + 6bi (x − xi )

s3′ , i +1 (x ) = mi +1 + 2ai +1 (x − xi +1 ) + 3bi +1 (x − xi +1 )2


 (2.54)
s3′′, i +1 (x ) = 2ai +1 + 6bi +1 (x − xi +1 )
Introducând expresiile derivatelor în egalităţile (2.52), după calcule algebrice relativ simple rezultă sistemul:

Cap. 2 2005-2006 12
Traian CICONE Metode numerice în ingineria economică

 mi + mi +1 y −y
ai = − 2 i +1 i 3
 (xi +1 − xi )2
(xi +1 − xi )
 yi +1 − yi 2m + mi +1
bi = 3 − i (2.55)
 (xi +1 − xi ) (xi +1 − xi )
2

 a −a
bi = i +1 i
 3(xi +1 − xi )
sau, prin combinarea ecuaţiilor la:
ρi mi + 2 + 2mi +1 + λi mi = ci (2.56)
unde
hi hi +1
ρi = λi = 1 − ρi =
hi + hi +1 hi + hi +1
(2.57)
ρ λ 
ci = 3 i ( yi + 2 − yi +1 ) + i ( yi +1 − yi )
 hi +1 hi 
Ecuaţiile (2.56), în număr de (n-2), corespunzătoare indicelui i=0,1,...,(n-3) sunt insuficiente astfel că trebuie
ataşate încă două condiţii corespunzătoare nodurilor de la capetele intervalului. Uzual se impun pantele în
punctele de capăt: m0 respectiv mn-1. Se ajunge astfel la sistemul de ecuaţii tridiagonal:

2 λ0 0 0 ... 0 0 0   m0   c0 
ρ
 1 2 λ1 0 ... 0 0 0   m1   c1 
0 ρ2 3 λ2 ... 0 0 0  ⋅  m2  =  c2  (2.58)
     
 ... ... ... ... ... ... ... ....  ...   ... 
 0 0 0 0 ... 0 ρ n −1 2  mn −1  cn −1 

Deoarece ρ i + λi = 1 < 2 rezultă că matricea sistemului este diagonal dominantă pe linii şi deci inversabilă.
Prin urmare, sistemul (2.58) are soluţiei unică.
În cazul în care pantele curbei la capete sunt complet necunoscute, este recomandabilă impunerea condiţiilor
de derivată secundă nulă:
( ) ( )
s3′′, 0 x 0 = s3′′, n −1 x n = 0 (2.59)

ceea ce conduce la ecuaţiile:


y1 − y0
2 m0 + m1 = 3
h0
(2.60)
y − yn −1
mn −2 + 2mn −1 = 3 n
hn −1
Se demonstrează că aceste condiţii, numite condiţii naturale, conduc la cea mai netedă curbă de interpolare.

Cap. 2 2005-2006 13

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