Sunteți pe pagina 1din 11

Elemente de analiză numerică Lector dr.

Simona Romaniuc

Facultatea de Inginerie Chimică şi Proteţia Mediului,


Metode numerice, probabilităţi şi statistică, Semestrul II
Lector dr. Simona ROMANIUC

CURS VII

Elemente de analiză numerică


Aproximarea soluţiilor sistemelor de ecuaţii

1 Aproximarea soluţiilor sistemelor de ecuaţii liniare


(Vezi Cursul VI)

2 Aproximarea soluţiilor sistemelor de ecuaţii neliniare


Există fenomene fizice, thenice, economice sau sociale, de exemplu probleme de termodinamică,
prelucrarea metalelor, aproximarea funcţiilor, sau optimizarea unor regimuri de funcţionare, care
nu se reduc la cazul liniar, ci se modelează prin expresii neliniare. În continuare vom prezenta
nişte metode des folosite ı̂n rezolvarea unor sisteme de n ecuaţii neliniare cu n necunoscute reale.

2.1 Metoda iterativă


Construim sistemul de ecuaţii neliniare

f1 (x1 , x2 , . . . , xn ) = 0

..................... , (x1 , . . . , xn ) ∈ D ⊂ Rn , (1)

fn (x1 , x2 , . . . , xn ) = 0

care poate fi scris sub forma



x1 = g1 (x1 , x2 , . . . , xn )

..................... (2)

xn = gn (x1 , x2 , . . . , xn ).

Vom nota soluţia cu ā şi iteraţiile sau aproximantele soluţiei cu x(k) .


Pentru aproximarea soluţiei sistemului (2) se consideră procedeul iterativ:
 (k+1) (k) (k) (k)
x1
 = g1 (x1 , x2 , . . . , xn )
.............................. , k = 0, 1, 2, . . . (3)
 (k+1)
 (k) (k) (k)
xn = gn (x1 , x2 , . . . , xn )

Se demonstrează că un asemenea procedeu iterativ este convergent dacă există λ > 0 astfel
ı̂ncât:
∂gi ∂gi ∂gi
∂x1 + ∂x2 + · · · + ∂xn ≤ λ < 1, ∀(x1 , x2 , . . . , xn ) ∈ D, i = 1, 2, . . . , n. (4)

1
Elemente de analiză numerică Lector dr. Simona Romaniuc

Ca o metodă ı̂mbunătăţită, matematicianul Seidel a propus, pentru aproximarea soluţiei


sistemului (2), formulele iterative:

(k+1) (k) (k) (k)


 x1 = g1 (x1 , x2 , . . . , xn )
x(k+1) = g (x(k+1) , x(k) , . . . , x(k) )

2 2 1 2 n
, k = 0, 1, 2, . . . (5)


 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .......
x(k+1) = g (x(k+1) , x(k+1) , . . . , x(k+1) , x(k) )

n n 1 2 n−1 n

Exerciţiul 1 Să se aproximeze soluţia sistemului



1
x = 3 p
 cos(yz) + 16
y = 91 x2 + sin z + 1, 06 − 0, 1, − 1 ≤ x, y, z ≤ 1 (6)
 1 −xy
z = − 20 e − 10π−3

60

folosind metodele iterative (3) şi (6), luând (x(0) , y (0) , z (0) ) = (0, 1; 0, 1; −0, 1).
Rezolvare: Vom folosi mai ı̂ntâi relaţia iterativă (3), unde

1
g1 (x, y, z) = 3 p
 cos(yz) + 61
g2 (x, y, z) = 19 x2 + sin z + 1, 06 − 0, 1
 1 −xy
g3 (x, y, z) = − 20 e − 10π−3
60 .

Verificăm condiţiile (4):

∂g1 ∂g1 z ∂g1 y


= 0, = − sin(yz), = − sin(yz),
∂x ∂y 3 ∂z 3

∂g1 ∂g1 ∂g1 1 1 2 not
∂x + ∂y + ∂z = 3 | sin(yz)|(|y| + |z|) < 3 (1 + 1) = 3 = λ < 1,

deoarece | sin(yz)| ≤ 1, |y| < 1, |z| < 1.


Analog se verifică şi celelalte două condiţii pentru g2 şi g3 .
Procedeul iterativ (3) se va scrie sub forma:

(k+1) = 1 cos(y (k) z (k) ) + 1
x
 3p 6
y (k+1) = 19 (x(k) )2 + sin z (k) + 1, 06 − 0, 1 , k = 0, 1, 2, . . .
1 −x(k) y (k)

− 10π−3
 (k+1)
z = − 20 e 60

Rezultatele le trecem ı̂n tabelul următor

k x(k) y (k) z (k)


1 0,49998 0,00944 -0,5231
2 0,9999 0,00002 -0,52336
3 0,5 0,00001 -0,52359
4 0,5 0 -0,52359

Soluţia aproximativă va fi x ' 0, 5, y ' 0, z ' −0, 52359.


Dacă folosim relaţia (6), vom putea scrie:

(k+1) = 1 cos(y (k) z (k) ) + 1
x
 3p 6
y (k+1) = 19 (x(k+1) )2 + sin z (k) + 1, 06 − 0, 1, k = 0, 1, 2, . . . .
1 −x(k+1) y (k+1)

− 10π−3
 (k+1)
z = − 20 e 60

2
Elemente de analiză numerică Lector dr. Simona Romaniuc

Plecând de la k = 0, vom scrie paşii succesivi:



1
(1)
x = 3 p
 cos(y (0) z (0) ) + 61 = 0, 49998
y (1) = 19 (x(1) )2 + sin z (0) + 1, 06 − 0, 1 = 0, 02222
1 −x(1) y (1)

− 10π−3
 (1)
z = − 20 e 60 = −0, 52304


1
(2)
x = 3 p
 cos(y (1) z (1) ) + 61 = 0, 49999
y (2) = 19 (x(2) )2 + sin z (1) + 1, 06 − 0, 1 = 0, 0606
1 −x(2) y (2)

− 10π−3
 (2)
z = − 20 e 60 = 0, 5221,

care este foarte aproape de soluţia obţinută cu formula (3).

2.2 Metoda Newton pentru sisteme neliniare ı̂n două dimensiuni


Considerăm un sistem de ecuaţii de forma:
(
f1 (x, y) = 0
, (x, y) ∈ D ⊂ R2 , (7)
f2 (x, y) = 0

unde funcţiile f1 şi f2 satisfac condiţii de diferenţiabilitate pe D până la un ordin necesar pentru
a construi un procedeu iterativ.
Pentru aproximarea soluţiei acestui tip de sisteme se poate construi un procedeu iterativ bazat
pe derivatele parţiale ale funcţiilor implicate ı̂n sistem, dezvoltând funcţiile după formula Taylor
ı̂n vecinătatea unui punct (x(k) , y (k) ) ∈ D:
(
f1 (x, y) = f1 (x(k) , y (k) ) + ∂f 1 (k) (k) )(x − x(k) ) + ∂f1 (x(k) , y (k) )(y − y (k) ) + . . .
∂x (x , y ∂y
(8)
f2 (x, y) = f2 (x(k) , y (k) ) + ∂f
∂x
2
(x (k) , y (k) )(x − x(k) ) + ∂f2 (x(k) , y (k) )(y − y (k) ) + . . .
∂y

Putem spune că soluţia sistemului (7) este aproximativ egală cu a sistemului
(
0 = f1 (x(k) , y (k) ) + ∂f 1 (k) (k) )(x − x(k) ) + ∂f1 (x(k) , y (k) )(y − y (k) )
∂x (x , y ∂y
∂f2 ∂f2 . (9)
0 = f2 (x(k) , y (k) ) + (k) (k) )(x
∂x (x , y − x(k) ) + (k) (k) )(y
∂y (x , y − y (k) )

Pentru a construi procedeul iterativ pentru aproximarea soluţiei sistemului (7) vom nota
soluţia sistemului (9) cu (x(k+1) , y (k+1) ).
Notând diferenţele x − x(k) = h1 (sau ∆x), y − y (k) = h2 (sau ∆y), numite creşteri ale lui x
şi y, putem scrie sistemul (9) ı̂n forma echivalentă:
!
∂f1 ∂f1
f1 (x(k) , y (k) )
   
∂x ∂y ∆x
∂f2 ∂f2 · =− , (10)
∂x ∂y (k) (k)
∆y f2 (x(k) , y (k) )
(x ,y )

sau pe scurt

f1 (x(k) , y (k) )
   
∆x
J(x(k) , y (k) ) · =− , (11)
∆y f2 (x(k) , y (k) )

care ne permite următorul procedeu iterativ pentru aproximarea soluţiei sistemului (7):
 (k+1)   (k)   
x x ∆x
= + .
y (k+1) y (k) ∆y

3
Elemente de analiză numerică Lector dr. Simona Romaniuc

Soluţia poate fi considerată ca fiind ultima iteraţie din secvenţa

(x(0) , y (0) ), (x(1) , y (1) ), . . . , (x(k) , y (k) ), (x(k+1) , y (k+1) ), . . .

până când distanţa dintre ultimele două iteraţii este mai mică decât un număr ε pozitiv, suficient
de mic, dat aprioric, adică:

d((x(k) , y (k) ), (x(k+1) , y (k+1) )) ≤ ε,

sau până când un număr de iteraţii a fost atins.


Algoritmul metodei Newton pentru sisteme neliniare ı̂n două dimensiuni
Pasul 1) Calculăm valorile funcţiilor ı̂n punctul (x(k) , y (k) ) adică f1 (x(k) , y (k) ) şi f2 (x(k) , y (k) ),
unde (x(0) , y (0) ) sunt valorile de plecare pentru iteraţia 1.
Pasul 2) Calculăm valorile Jacobianului ı̂n iteraţia k:
!
∂f1 (k) , y (k) ) ∂f1 (x(k) , y (k) )
(k) (k) ∂x (x ∂y
J(x , y ) = ∂f2 (k) (k) ) ∂f2 (x(k) , y (k) ) .
∂x (x , y ∂y

Pasul 3) Rezolvăm sistemul

f1 (x(k) , y (k) )
   
(k) (k) ∆x
J(x ,y )· =− .
∆y f2 (x(k) , y (k) )

Pasul 4) Calculăm iteraţia următoare:


 (k+1)   (k)   
x x ∆x
= + .
y (k+1) y (k) ∆y

Exerciţiul 2 Să se aproximeze soluţia sistemului neliniar


(
x2 − 2x − y + 0, 5 = 0
x2 + 4y 2 − 4 = 0,

ştiind că (x(0) , y (0) ) = (2, 00; 0, 25).


Rezolvare: Aplicăm metoda (11). Funcţiile implicate sunt:
(
f1 (x, y) = x2 − 2x − y + 0, 5
f2 (x, y) = x2 + 4y 2 − 4

iar Jacobianul este  


(2x − 2) −1
.
2x 8y
Pentru a trece de la iteraţia 0 la iteraţia 1, aplicăm algoritmul descris anterior.
Pasul 1) Calculăm: (
f1 (x(0) , y (0) ) = 0, 25
.
f2 (x(0) , y (0) ) = 0, 25
Pasul 2) Calculăm:  
(0) (0) 2 −1
J(x ,y )= .
4 2
Pasul 3) Rezolvăm sistemul:
     
2 −1 ∆x 0, 25
· =−
4 2 ∆y 0, 25

4
Elemente de analiză numerică Lector dr. Simona Romaniuc

şi găsim    
∆x −0, 09375
= .
∆y 0, 06250
Pasul 4) Calculăm iteraţia 1:
 (1)       
x 2, 00 −0, 09375 1, 90625
= + = .
y (1) 0, 25 0, 06250 0, 31250
Pentru a trece de la iteraţia 1 la iteraţia 2 aplicăm din nou algoritmul.
Pasul 1) Calculăm: (
f1 (x(1) , y (1) ) = 0, 00878
.
f2 (x(1) , y (1) ) = 0, 02441
Pasul 2) Calculăm:  
(1) (1) 1, 8125 −1
J(x ,y )= .
3, 8125 2, 5
Pasul 3) Rezolvăm sistemul:
     
1, 8125 −1 ∆x 0, 00878
· =−
3, 8125 2, 5 ∆y 0, 02441
şi găsim    
∆x −0, 00556
= .
∆y −0, 00129
Pasul 4) Calculăm iteraţia 1:
 (2)       
x 1, 90625 −0, 00556 1, 9069
= + =
y (2) 0, 31250 −0, 00129 0, 31121
şi continuăm până la numărul de iteraţii dorit, sau calculând după fiecare iteraţie distanţa dintre
ultimele două aproximări.

Interpolarea funcţiilor de o variabilă

Interpolare. Diferenţe finite


Progresul tehnologic cu toată noutatea sa referitor la cuantificarea mărimilor, a fost nevoit ca
ı̂n anumite situaţii să renunţe la determinările exacte şi să utilizeze aproximări. În cursurile
anterioare am prezentat metode de aproximare pentru rădăcinile ecuaţiilor şi sistemelor de ecuaţii
algebrice. În continuare ne vom ocupa de determinarea unor funcţii care să aproximeze cât mai
bine o funcţie necunoscută.
În practică, ı̂n cazul unor măsurători făcute, dependenţele dintre mărimile independente şi
mărimile dependente sunt date printr-un tabel de tipul:
x| x0 x1 ... xk ... xn
(12)
y| y0 y1 ... yk ... yn
Tabelul (12) dă măsurătorile găsite pentru o dependenţă de tip funcţie ı̂ntre variabila in-
dependentă x şi variabila dependentă y. Funcţia f este necunoscută, dar se ştie că y = f (x).
Punctele xk pentru variabila x pot fi distincte şi echidistante sau distincte şi neechidistante. Ele
se numesc noduri, iar mulţimea {xk |k = 0, 1, 2, . . . , n} se numeşte reţea de noduri. Dacă ∃h ∈ R
a. ı̂. xk = x0 + kh, cu k = 0, 1, 2, . . . , n, atunci reţeaua este echidistantă, iar h se numeşte pasul
reţelei.

5
Elemente de analiză numerică Lector dr. Simona Romaniuc

Definiţia 3 Se numeşte interpolare o metodă de a determina o funcţie ϕ care să aproximeze cât
mai bine funcţia necunoscută f şi ı̂n plus să avem ı̂ndeplinite condiţiile de interpolare:
ϕ(xk ) = yk , k = 0, 1, . . . , n. (13)
În aceste condiţii, pentru orice x̄ ∈ [x0 , xn ] \ {x0 , x1 , . . . , xn }, f (x̄) ' ϕ(x̄). Prin urmare
calculul lui f ı̂n punctele unde nu se pot face măsurători se reduce la calculul valorilor funcţiei
cunoscute ϕ.
Vom prezenta unele metode de interpolare bazate pe aproximarea polinomială. O astfel de
funcţie polinomială, care să aproximeze funcţia necunoscută f dată prin tabelul (12) şi care
satisface condiţiile de interpolare (13) există şi se poate determina. Considerând funcţia
ϕ(x) = c0 + c1 x + . . . + cn−1 xn−1 + cn xn ,
de coeficienţi necunoscuţi şi să punem condiţia de interpolare (13). Vom obţine un sistem de
n + 1 ecuaţii cu n + 1 necunoscute:



 c0 + c1 x0 + . . . + cn−1 x0n−1 + cn xn0 = y0
n−1
+ cn xn1 = y1

c + c x + . . . + c
0 1 1 n−1 x1
(14)


 ....................................
n−1 + c xn = y .

c + c x + . . . + c
0 1 n n−1 xn n n n

Matricea acestui sistem este de tip Vandermonde şi cu observaţia că nodurile sunt distincte,
rezultă că sistemul are soluţie unică, deci există funcţia ϕ cu proprietatea cerută.
Un important rol ı̂n procesul aproximării ı̂l au diferenţele finite.

Definiţia 4 Fie f : [a, b] → R o funcţie dată şi ∆x o creştere a argumentului x, notată uneori
cu h. Expresia
∆f (x) = f (x + ∆x) − f (x), (15)
este numită diferenţă finită de primul ordin a funcţiei f .
Diferenţele de ordin superior sunt definite prin relaţia:
∆n f (x) = ∆(∆n−1 f (x)), n = 2, 3, . . . (16)

Exemplul 5
∆2 f (x) = ∆[f (x + ∆x) − f (x)] = (f (x + 2∆x) − f (x + ∆x)) − (f (x + ∆x) − f (x)) =
= f (x + 2∆x) − 2f (x + ∆x) + f (x).
Să presupunem că se cunosc punctele x0 , x1 , . . . , xn din intervalul [a, b], care formează o reţea
echidistantă. Vom nota cu y0 = f (x0 ), y1 = f (x1 ), . . . , yn = f (xn ) valorile funcţiei ı̂n aceste
noduri, care sunt şi ele cunoscute. Diferenţele finite ale funcţiei f ı̂n aceste noduri vor fi:

∆yi = yi+1 − yi , i = 0, 1, . . . , n

∆2 yi = ∆(∆yi ) = ∆yi+1 − ∆yi = yi+2 − 2yi+1 + yi (17)

....................................

Aceste diferenţe finite de ordine succesive ale unei funcţii date prin tabelul (12), calculate ı̂n
nodurile de interpolare, pot fi aranjate ı̂ntr-un tabel diagonal:
xi yi ∆yi = yi+1 − yi ∆2 yi = ∆yi+1 − ∆yi ∆3 yi = ∆2 yi+1 − ∆2 yi
x0 y0 ∆y0 = y1 − y0 ∆2 y0 = ∆y1 − ∆y0 ∆3 y0 = ∆2 y1 − ∆2 y0
x1 y1 ∆y1 = y2 − y1 ∆2 y1 = ∆y2 − ∆y1
x2 y2 ∆y2 = y3 − y2
x3 y3

6
Elemente de analiză numerică Lector dr. Simona Romaniuc

Exerciţiul 6 Să se scrie tabelul cu diferenţe finite pentru funcţia f dată prin tabelul următor:

x| 1.0 1.3 1.7 2


y| 2.9 2.6 2.8 3

Rezolvare:

xi yi ∆yi = yi+1 − yi ∆2 yi = ∆yi+1 − ∆yi ∆3 yi = ∆2 yi+1 − ∆2 yi


1.0 2.9 −0.3 0.5 −0.5
1.3 2.6 0.2 0
1.7 2.8 0.2
2 3

Polinoamele de interpolare ale lui Newton


Considerăm o reţea de puncte echidistante, valorile funcţiei f şi diferenţele finite prezentate mai
sus. Polinomul de interpolare Newton foloseşte aceste diferenţe finite şi se determină ı̂n două
moduri, pe care le vom prezenta ı̂n continuare.

Polinomul de interpolare Newton de speţa I


Notăm cu Pn (x) acest polinom şi ı̂l căutăm de forma

Pn (x) = c0 + c1 (x − x0 ) + c2 (x − x0 )(x − x1 ) + . . . + cn (x − x0 )(x − x1 ) . . . (x − xn−1 ), (18)

ı̂n care coeficienţii ci , i = 0, n − 1 sunt necunoscuţi.


Punând condiţiile de interpolare prezentate anterior, se obţine un sitem algebric ı̂n necunos-
cutele ci , care sub observaţia că xi = x0 + i · h, i = 0, 1, 2, . . . , n şi notând q = x−x h
0
conduce
la valorile coeficienţilor ci . Înlocuind coeficienţii găsiţi ı̂n polinomul (18), obţinem polinomul de
interpolare Newton de prima speţă:

q(q − 1) 2 q(q − 1) . . . (q − n + 1) n
Pn (x) = y0 + q∆y0 + ∆ y0 + . . . + ∆ y0 . (19)
2! n!

Observaţia 7 • 1) În orice punct x̄ ∈ [x0 , xn ] \ {x0 , x1 , . . . , xn }, f (x̄) ' Pn (x̄).

• 2) Ca valoare iniţială x0 se poate lua orice valoare din tabel, ı̂nsă este de preferat una
apropiată de x̄.

• 3) Polinomul Newton de speta I este convenabil pentru interpolarea funcţiilor ı̂n partea de
ı̂nceput a tabelului de valori.

• 4) Când diferenţele finite de un anumit ordin m < n pot fi considerate destul de apropiate
avem aproximarea f (x̄) ' Pm (x̄) pentru orice x̄ precizat anterior.

Exerciţiul 8 Se dă funcţia f prin tabelul următor şi se cere aproximarea acestei funcţii ı̂n punc-
tul x̄ = 1.9, folosind polinomul lui Newton de speţa I:

x| 1, 0 1, 4 1, 8 2, 2 2, 6 3
y| 2 1, 8 1, 5 1, 8 1, 9 2

7
Elemente de analiză numerică Lector dr. Simona Romaniuc

Rezolvare: Construim tabelul cu diferenţe finite

xi yi ∆yi ∆2 yi ∆3 yi ∆ 4 yi ∆ 5 yi
1 2 −0, 2 −0, 1 0, 7 −1, 5 2, 5
1, 4 1, 8 −0, 3 0, 6 −0, 8 1, 0
1, 8 1, 5 0, 3 −0, 2 0, 2
2, 2 1, 8 0, 1 0
2, 6 1, 9 0, 1
3 2

q = x−x x−1
h = 0,4 , iar ı̂n x = 1, 9 avem q = 2, 25.
0

Polinomul de interpolare Newton de speţa ı̂ntâi va fi

q(q − 1) 2 q(q − 1)(q − 2) 3 q(q − 1)(q − 2)(q − 3) 4


P5 (x) = y0 + q∆y0 + ∆ y0 + ∆ y0 + ∆ y0 +
2! 3! 4!
q(q − 1)(q − 2)(q − 3)(q − 4) 5
+ ∆ y0 ,
4!
iar după ı̂nlocuiri avem:

2, 25(2, 25 − 1) 2, 25(2, 25 − 1)(2, 25 − 2)


P5 (x̄) = 2 + 2, 25(−0, 2) + (−0, 1) + 0, 7+
2 3!
2, 25(2, 25 − 1)(2, 25 − 2)(2, 25 − 3)
+ (−1, 5)+
24
2, 25(2, 25 − 1)(2, 25 − 2)(2, 25 − 3)(2, 25 − 4)
+ 2, 5 ' 1, 5436.
120

Polinomul de interpolare Newton de speţa a II-a


Căutând un polinom de interpolare de forma

Pn (x) = c0 + c1 (x − xn ) + c2 (x − xn )(x − xn−1 ) + . . . + cn (x − xn )(x − xn−1 ) . . . (x − x1 ), (20)

şi punând condiţiile de interpolare

Pn (xk ) = yk , k = n, n − 1, . . . , 1, 0, (21)

obţinem polinomul

q(q + 1) 2 q(q + 1) . . . (q + n − 1) n
Pn (x) = yn + q∆yn−1 + ∆ yn−2 + . . . + ∆ y0 , (22)
2! n!
x−xn
unde q = h , care este numit polinomul de interpolare Newton de speţa a doua.

Observaţia 9 • 1) În orice punct x̄ ∈ [x0 , xn ] \ {x0 , x1 , . . . , xn }, f (x̄) ' Pn (x̄).

• 2) Ca valoare xn se poate lua orice valoare din tabel.

• 3) Polinomul Newton de speta a II-a este convenabil pentru interpolarea funcţiilor ı̂n partea
finală a tabelului de valori.

• 4)Mărimile ∆yn−1 , ∆2 yn−2 , . . . , ∆n y0 se găsesc pe diagonala secundară a tabelului cu diferenţe


finite, parcursă de jos ı̂n sus.

8
Elemente de analiză numerică Lector dr. Simona Romaniuc

• 5) Dacă diferenţele finite de ordinul k sunt aproape constante (diferă foarte puţin), atunci
se consideră polinomul de interpolare Newton de speţa a doua dat prin relaţia:

q(q + 1) 2 q(q + 1) . . . (q + m − 1) m
Pm (x) = yn + q∆yn−1 + ∆ yn−2 + . . . + ∆ yn−m . (23)
2! m!
Exerciţiul 10 Se dă funcţia f prin tabelul de valori:

xi 1, 3 1, 4 1, 5 1, 6 1, 7 1, 8 1, 9 2, 0
yi 0, 9340 0, 9523 0, 9661 0, 9763 0, 9838 0, 9891 0, 9928 0, 9953

Să se aproximeze funcţia ı̂n x = x̄ = 1, 96 folosind polinomul de interpolare Newton de speţa a


II-a.
Rezolvare:
Construim tabelul cu diferenţe finite

xi yi ∆yi ∆2 yi ∆3 yi ∆ 4 yi ∆ 5 yi ∆ 6 yi ∆ 7 yi
1, 3 0, 9340 0, 0183 −0, 0045 0, 0009 0 ... ... ...
1, 4 0, 9523 0, 0138 −0, 0036 0, 0009 −0, 0004 ... ...
1, 5 0, 9661 0, 0102 −0, 0027 0, 0005 0, 0001 ...
1, 6 0, 9763 0, 0075 −0.0022 0, 0006 −0, 0002
1, 7 0, 9838 0, 0053 −0.0016 0, 0004
1, 8 0, 9891 0, 0037 −0, 0012
1, 9 0, 9928 0, 0025
2 0, 9953

Considerăm xn = 2, 0 şi rezultă: q = x−x


h
n
= x−2,0
0,1 , iar ı̂n x = 1, 96 obţinem q = −0, 4.
Cum diferenţele finite de ordinul 3 sunt suficient de apropiate, putem aproxima funcţia prin

(−0, 4)(−0, 4 + 1)
P3 (1, 96) = 0, 9953 + (−0, 4)0, 0025 + (−0, 0012)+
2!
(−0, 4)(−0, 4 + 1)(−0, 4 + 2)
+ 0, 0004 = 0, 99447.
3!
Deci am obţinut aproximarea f (1, 96) ' P3 (1, 96) = 0, 99447.

Polinomul Newton cu diferenţe divizate


Fie f : [a, b] → R o funcţie dată şi x0 , x1 , . . . , xn un sistem de noduri distincte din [a, b], neechi-
distante, ı̂n care se cunosc valorile funcţiei yk = f (xk ), k = 0, 1, 2, . . . , n. Expresia

f (xk+1 ) − f (xk ) yk+1 − yk


f (xk , xk+1 ) = [xk , xk+1 ] = = (24)
xk+1 − xk xk+1 − xk

se numeşte diferenţă divizată de ordinul ı̂ntâi a funcţiei f . Diferenţele divizate de ordinul al


doilea se definesc cu ajutorul celor de ordinul ı̂ntâi, astfel:

[xk+1 , xk+2 ] − [xk , xk+1 ]


f (xk , xk+1 , xk+2 ) = [xk , xk+1 , xk+2 ] = . (25)
xk+2 − xk

9
Elemente de analiză numerică Lector dr. Simona Romaniuc

Aceste diferenţe divizate de ordine succesive ale funcţiei f se pot trece ı̂ntr-un tabel de forma:

k xk yk = f (xk ) [xk , xk+1 ] [xk , xk+1 , xk+2 ] [xk , xk+1 , xk+2 , xk+3 ]
0 x0 y0
[x0 , x1 ]
1 x1 y1 [x0 , x1 , x2 ]
[x1 , x2 ] [x0 , x1 , x2 , x3 ]
2 x2 y2 [x1 , x2 , x3 ]
[x2 , x3 ]
3 x3 y3

Polinomul

Pn (x) = y0 + [x0 , x1 ](x − x0 ) + [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . . (26)


. . . + [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 )

se numeşte polinomul de interpolare Newton cu diferenţe divizate.

Exerciţiul 11 Să se construiască un polinom de interpolare de gradul al doilea pentru funcţia


x 7→ f (x) = cos(πx) şi nodurile x0 = 31 , x1 = 12 , x2 = 1.
Rezolvare: Construim tabelul cu diferenţe divizate:

k xk yk = cos(πxk ) [xk , xk+1 ] [xk , xk+1 , xk+2 ]


1 1
0 3 2
0− 12
1
− 13
= −3
2
1 −2−(−3) 3
1 2 0 1− 13
= 2
−1−0
1− 12
= −2
2 1 −1
Polinomul cu diferenţe divizate de gradul doi va fi:

P2 (x) = y0 + [x0 , x1 ](x − x0 ) + [x0 , x1 , x2 ](x − x0 )(x − x1 ) =


1  1 3 1  1
= + (−3) x − + x− x− .
2 3 2 3 2

Polinomul de interpolare al lui Lagrange


Considerăm o reţea de noduri x0 , x1 , . . . , xn oarecare şi valorile funcţiei ı̂n aceste noduri notate cu
y0 = f (x0 ), y1 = f (x1 ), . . . , yn = f (xn ). Ştim că există un polinom de grad cel mult n care verifică
condiţiile de interpolare. Metoda se bazează pe observaţia că acest polinom poate fi exprimat ca
o combinaţie liniară de n + 1 polinoame de grad n. Deci căutăm polinomul ϕ(x) notat Ln (x), de
forma:
Ln (x) = y0 ϕ0 (x) + y1 ϕ1 (x) + . . . + yn ϕn (x). (27)
Impunem acestui polinom condiţiile de interpolare

Ln (xk ) = yk , k = 0, 1, 2, . . . , n

şi cu notaţiile
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
ϕi (x) = , i = 0, 1, 2, . . . , n
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )

10
Elemente de analiză numerică Lector dr. Simona Romaniuc

se obţine polinomul Lagrange, care are forma:


n
X (x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
Ln (x) = yi . (28)
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
i=0

Se observă pe această formulă că polinomul are ı̂n punctele reţelei xi valorile funcţiei f ,
adică yi . Dacă funcţia f admite derivate continue până la ordinul n + 1, atunci eroarea cu care
polinomul de interpolare Lagrange aproximează funcţia f ı̂ntr-un punct x diferit de punctele de
interpolare va fi:
Mn+1
|En (x)| = |f (x) − Ln (x)| ≤ |(x − x0 )(x − x1 ) . . . (x − xn )|,
(n + 1)!

unde Mn+1 = maxa≤x≤b |f (n+1) (x)|.


Polinomul (28) se scrie echivalent:
n
Y X yi
Ln (x) = (x) ,
Di
i=0

unde Y
(x) = (x − x0 )(x − x1 ) . . . (x − xn ),
Di = (xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(x − xi )(xi − xi+1 ) . . . (xi − xn ).

Exerciţiul 12 Să se aproximeze prin polinomul de interpolare Lagrange, valoarea ı̂n x = 9 a


funcţiei date prin tabelul de valori:

xi 1 3 4 5 7 8 10
yi 0, 9512 0, 8607 0, 8187 0, 7788 0, 7047 0, 6703 0, 6065

Rezolvare: Pentru calculul polinomului Lagrange vom ı̂ntocmi următorul tabel, ı̂n care pe
diagonala vom trece valorile x − xi , adică ı̂n cazul nostru 9 − xi , iar ı̂n rest vom completa conform
capului de tabel:
yi
i xi xi − x0 xi − x1 xi − x2 xi − x3 xi − x4 xi − x5 xi − x6 Di yi Di
0 1 8 −2 −3 −4 −6 −7 −9 72576 0, 9512 0, 131 · 10−4
1 3 2 6 −1 −2 −4 −5 −7 −3360 0, 8607 −2, 56 · 10−4
2 4 3 1 5 −1 −3 −4 −6 1080 0, 8187 7, 58 · 10−4
3 5 4 2 1 4 −2 −3 −5 −960 0, 7788 −8, 11 · 10−4
4 7 6 4 3 2 2 −1 −3 864 0, 7047 8, 15 · 10−4
5 8 7 5 4 3 1 1 −2 −840 0, 6703 −7, 97 · 10−4
6 10 9 7 6 5 3 2 −1 −11340 0, 6065 −0, 535 · 10−4

Facând produsul elementelor de pe diagonala principală a acestui tabel, vom avea:

Π(9) = (9 − x0 )(9 − x1 ) . . . (9 − x6 ) = 8 × 6 × 5 × ×2 × 1 × (−1) = −1920.

Sumând elementele ultimei coloane, obţinem:


X yi
= (0, 131 − 2, 56 + 7, 58 − 8, 11 + 8, 15 − 7, 97 − 0, 535) × 10−4 = −3, 314 × 10−4 .
Di
Valoarea aproximativă a funcţiei ı̂n punctul cerut va fi:
X yi
f (9) ' L6 (9) = Π(9) × = −1920 × (−3, 314) × 10−4 ' 0, 6263.
Di

11

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