Documente Academic
Documente Profesional
Documente Cultură
aproximare polinomială
x y
Măsuratoarea 1 -1 0
Măsuratoarea 2 0 10
Măsuratoarea 3 1 20
Măsuratoarea 4 2 80
cele patru puncte (aceste este polinomul de interpolare prezentat ı̂n continuare
ı̂n secţiunea 1.1);
- Două polinoame, unul de grad doi (parabolă, grafic verde) şi unul de grad
unu (dreaptă, grafic albastru), ale căror grafice trec prin apropierea punctelor
(aceste sunt polinoame de aproximare ı̂n sensul celor mai mici pătrate, prezentate
ı̂n secţiunea 1.2).
Definiţie:
Echivalent:
Date fiind ı̂n plan punctele M1 (x1 , y1 ), M2 (x2 , y2 ), ..., Mn+1 (xn+1 , yn+1 ), polino-
mul de interpolare asociat este acel polinom de grad minim al cărui grafic trece
prin punctele date.
1.1 Interpolare polinomială 9
Observaţii:
Polinomul de interpolare are forma generală :
Teoremă:
Există un unic polinom de interpolare asociat diviziunii ∆ şi vectorului Y care
verifică relaţiile (1).
Demonstraţie:
Faptul că polinomul de interpolare (2) verifică relaţiile (1) se scrie :
a0 + x1 · a1 + x21 · a2 + ... + x1n−1 · an−1 + xn1 · an = y1
a0 + x2 · a1 + x22 · a2 + ... + x2n−1 · an−1 + xn2 · an = y2
..
. (3)
a0 + xn · a1 + x2n · a2 + ... + xnn−1 · an−1 + xnn · an = yn
n−1
a0 + xn+1 · a1 + x2n+1 · a2 + ... + xn+1 · an−1 + xnn+1 · an = yn+1
Sistemul are o soluţie unică dacă matricea coeficienţilor săi este nesingulară,
adică dacă are determinantul nenul.
Determinantul acestui sistem este de un tip special, aşa-numitul determinant
Vandermonde, având proprietatea:
1 x1 ··· x1n−1 xn1
1 x2 ··· x2n−1 x2 n
Y
.. .. .. .. ..
= (xj − xi )
.
. . . . 1≤i<j≤n+1
n−1
xnn+1
1 xn+1 · · · xn+1
Observaţii:
- Polinomul de interpolare asociat diviziunii ∆ şi vectorului Y este unic, dar
metoda de calcul nu este unică. Acest polinom poate fi determinat prin mai
multe metode, câteva dintre acestea fiind prezentate ı̂n continuare.
- In unele cazuri speciale, polinomul de interpolare poate avea gradul mai
mic decât n. De exemplu, dacă avem ı̂n plan trei puncte coliniare, polinomul de
interpolare corespunzător nu va avea gradul doi, cum era de asteptat ( n + 1 =
3 ⇒ n = 2), ci gradul ı̂ntâi - ı̂n urma calculelor va rezulta un coeficient nul pentru
puterea a doua a lui x.
Exemplul 2
Găsiţi polinomul de interpolare corespunzător diviziunii ∆ : 0 < 1 < 2 şi vec-
torului de interpolare Y = (1, 2, 5) (sau, echivalent, polinomul de interpolare
1.1 Interpolare polinomială 11
Rezolvare:
Cum vectorul dat are dimensiunea n+1 = 3 , vom căuta un polinom de interpolare
de grad n = 2, deci de forma:
P2 (x) = a · x2 + b · x + c,
. . .
(unde am renotat, pentru simplitate, a1 = a, a2 = b, a3 = c). Relaţiile (1) devin:
P 2 (x 1 ) = y1 P (0) = 1
2
P2 (x2 ) = y2 ⇔ P2 (1) = 2
P (x ) = y
P (2) = 5
2 3 3 2
Obţinem sistemul:
a · 02 + b · 0 + c = 1
a · 12 + b · 1 + c = 2
a · 22 + b · 2 + c = 5
n+1
X
Pn (x) = Li (x) · yi = L1 (x) · y1 + L2 (x) · y2 + ... + Ln+1 (x) · yn+1 (5)
i=1
Faptul că polinomul verifică relaţiile (1) revine ı̂n acest caz la faptul că poli-
noamele Li (x) introduse ı̂n (5) trebuie să verifice următoarele relaţii:
0 i 6= j
Li (xj ) = , i, j = 1, ..., n + 1.
1 i=j
Exemplul 3
Calculaţi polinomul de interpolare Lagrange corespunzător diviziunii ∆ : 0 < 1 <
2 şi vectorului de interpolare Y = (1, 2, 5).
Rezolvare:
In acest caz n = 2 şi deci avem:
Calculăm:
x − x2 x − x3 x−1 x−2 x2 − 3x + 2
L1 (x) = · = · =
x1 − x2 x1 − x3 0−1 0−2 2
1.2 Aproximare polinomială ı̂n sensul celor mai mici pătrate 13
x − x1 x − x3 x−0 x−2
L2 (x) = · = · = −x2 + 2x
x2 − x1 x2 − x3 1−0 1−2
x − x1 x − x2 x−0 x−1 x2 − x
L3 (x) = · = · =
x3 − x1 x3 − x2 2−0 2−1 2
Obţinem ı̂n final:
x2 − 3x + 2 x2 − x
P2 (x) = · 1 + (−x2 + 2x) · 2 + · 5 = x2 + 1.
2 2
Desigur, polinomul de interpolare corespunzător lui ∆ şi Y fiind unic, am
obţinut ı̂n final acelaşi polinom ca şi la Exerciţiul 2, doar metoda de calcul fiind
diferită.
ia valoare minimă.
Observaţii:
-Graficul polinomului de aproximare ı̂n sensul celor mai mici pătrate trece prin
apropierea punctelor M1 (x1 , y1 ), M2 (x2 , y2 ), ..., Mn+1 (xn+1 , yn+1 ), spre deosebire
de graficul polinomul de interpolare care trece chiar prin puncte.
-Din punct de vedere al reprezentării grafice, faptul că expresia (7) are valoare
minimă este echivalent cu faptul că suma pătratelor distanţelor de la curba care
reprezintă graficul polinomului la fiecare punct Mi ı̂n parte, distanţă măsurată
de-a lungul axei Oy, este cea mai mică posibilă.
-Considerând polinomul de aproximare ı̂n sensul celor mai mici pătrate de
forma:
Pk (x) = ak · xk + ak−1 · xk−1 + ... + a1 · x + a0 , (8)
14 Cap.1. Interpolare şi aproximare polinomială
Exemplul 4
Calculaţi polinomul de aproximare ı̂n sensul celor mai mici pătrate corespunzător
diviziunii ∆ : 0 < 1 < 2 şi vectorului de interpolare Y = (1, 2, 5).
Rezolvare:
In acest caz k = 1 şi deci avem:
P1 (x) = a · x + b,
. .
(unde am renotat, pentru simplitate, a1 = a, a0 = b). Expresia ce urmează a fi
minimizată este:
E(a, b) = (a · x1 + b − y1 )2 + (a · x2 + b − y2 )2 + (a · x3 + b − y3 )2 =
Există aşadar un singur punct critic. Condiţia ca acest punct critic să fie
punct de minim este aceea ca diferenţiala de ordinul doi a lui E să fie pozitivă ı̂n
acest punct.
Diferenţiala de ordinul doi a lui E este:
1.3 Aproximarea unei funcţii 15
Observaţie:
Dacă aproximarea unei funcţii printr-un polinom are dezavantajul evident al in-
troducerii unei erori, calculele devin ı̂n general mai simple deoarece ı̂n principiu
polinoamele sunt cele mai simple funcţii matematice.
Exemplul 5
Găsiţi polinome de interpolare ce aproximează funcţia f : [0, 2π] → <, f (x) =
sin(x)
Rezolvare:
Facem observaţia că acest exemplu, ca dealtfel majoritatea exemplelor incluse ı̂n
acest curs, are un caracter ilustrativ, funcţia sinus nefiind o funcţie ”complicată”.
Vom considera pe rând diviziunea ∆ formată din 4, 5, respectiv 6 noduri
echidistante (o diviziune echidistantă are nodurile situate la distante egale ı̂ntre
ele. h = xi+1 − xi = β−α
n se numeşte pasul diviziunii).
Pentru n = 3 obţinem diviziunea ∆ : 0 < 2π 4π
3 < 3 < 2π, ı̂mpreuna cu vectorul
√ √
3 3
de interpolare Y = (sin(0), sin( 2π 4π
3 ), sin( 3 ), sin(2π)) =, = (0, 2 , − 2 , 0).
Polinomul de interpolare corespunzător este P3 (x) = 0.0942659x −0.888436x2 +
3
1.86074x. Pe graficul urm ător apar punctele Mi (xi , yi ), graficul funcţiei f cu roşu
şi graficul polinomului de interpolare cu verde:
π 3π
Pentru n = 4 obţinem diviziunea ∆ : 0 < 2 <π < 2 < 2π, ı̂mpreuna cu
vectorul de interpolare Y = (0, 1, 0, −1, 0).
1.3 Aproximarea unei funcţii 17
Observaţie:
Mai mult, ı̂n majoritatea cazurilor, atunci când n tinde la infinit şirul poli-
noamelor de interpolare corespunzătoare tinde către funcţia iniţială f .
Definiţie:
Fie f : [α, β] → <, diviziunea ∆ : α = x1 < x2 < x3 < ... < xn < xn+1 = β) şi
yi = f (xi ), i = 1, ..., n + 1. Dacă Pn (x) este polinomul de interpolare Lagrange
asociat diviziunii ∆ şi vectorului Y , se numeşte rest de interpolare Lagrange de
ordinul n diferenţa:
Teoremă:
n+1
Dacă f ∈ C[α,β] , atunci:
f (n+1) (γ)
Rn (x) = · (x − x1 ) · (x − x2 ) · ... · (x − xn+1 ), γ ∈ [α, β] (12)
(n + 1)!
Demonstraţia teoremei se găseşte ı̂n Anexa 2 de la sfârşitul acestui capitol.
Consecinţă:
n+1
Dacă f ∈ C[α,β] , atunci notând prin M valoarea maximă ı̂n modul a funcţiei
f (n+1) pe intervalul [α, β], are loc relaţia:
|x − x1 | · |x − x2 | · ... · |x − xn+1 |
|Rn (x)| ≤ M · . (13)
(n + 1)!
Observaţie
Valoarea funcţiei f intr-un punct oarecare x∗ se poate aproxima prin valoarea
polinomului de interpolare asociat calculată ı̂n x∗ , f (x∗ ) ' Pn (x∗ ), sau, mai pre-
cis, f (x∗ ) = Pn (x∗ ) + Rn (x∗ ) unde Rn (x∗ ) este valoarea restului corespunzătoare
lui x∗ . Această valoare a restului o vom numi eroare a aproximării.
In general, ı̂n cele ce urmează, prin eroare asociată aproximării unei mărimi
date vom ı̂nţelege diferenţa dintre valoarea exactă a mărimii şi valoarea aproxi-
mativă a acesteia.
Exemplul 6
√
Să se calculeze o valoare aproximativă pentru 7 folosind un polinom de inter-
√
polare pentru funcţia x pe diviziunea ∆ : 4 < 9, precizând totodată eroarea cu
care se obţine rezultatul.
Rezolvare:
√
Vom aproxima funcţia f (x) = x pe intervalul [4, 9] prin polinomul de interpolare
corespunzător nodurilor x1 = 4, x2 = 9 şi vectorului de interpolare Y = y1 , y2 ,
√ √
unde y1 = f (x1 ) = x1 = 2 , y2 = f (x2 ) = x2 = 3 . In acest caz n = 1 şi avem:
P1 (x) = L1 (x) · y1 + L2 (x) · y2 ,
1.4 Restul de interpolare Lagrange 21
unde:
x − x2 x−9 x−9
L1 (x) = = =−
x1 − x2 4−9 5
x − x1 x−4 x−4
L2 (x) = = =
x2 − x1 9−4 5
Deci:
x−9 x−4 x+6
P1 (x) = − ·2+ ·3= .
5 5 5
√ 7+6
Pentru x = 7 avem 7 ' P1 (7) = 5 = 2.6
|x−x1 |·|x−x2 |
Eroarea cu care se obţine acestă valoare este mai mică decât M · (2)!
(vezi (13)), unde M este cea mai mare valoarea a funcţiei |f (2) (x)| pe intervalul
[4, 9].
√ (2) 3 3
Avem |f (2) (x)| = | x | = |− 14 ·x− 2 | = 14 ·x− 2 . Această funcţtie este continuă
şi descrescătoare, deci ı̂şi atinge maximul ı̂n capătul din stânga al intervalului de
3
definiţie, adică ı̂n x1 = 4. Aşadar M = 41 · 4− 2 = 32 1
.
√
In concluzie 7 = 2.6 + , unde eroarea cu care se obţine aproximarea verifică
relaţia (13):
1
≤ 32 · |7−4|·|7−9|
(2)! = 321
· 62 = 0.09375.
Demonstraţie:
Efectuăm următoarele operaţii:
- Scădem prima linie din liniile doi, trei,..., n + 1. Cum aceste operaţii nu
modifică valoarea determinantului, avem:
2 n−1 n
1 x1
x1 · · · x1 x1
x22 · · · x2n−1 xn2
1 x2
1 x3 x23 · · · x3n−1 xn3
V (n) = . .. =
.. .. .. .. ..
. . . . .
1 xn x2n · · · xnn−1 xnn
n−1
1 xn+1 x2n+1 · · · xn+1 xnn+1
x21 x1n−1 xn1
1 x1 ···
xn−1 − xn−1
0 x2 − x1 x22 − x21 ··· 2 1
n n
x2 − x1
0 x3 − x1 x23 − x21 ··· xn−1
3 − xn−1
1 xn3 − xn1
=
.. .. ... .. ... ..
. . . .
0 xn − x1 x2n − x21 ··· xn−1 − xn−1 xnn − xn1
n 1
0 xn+1 − x1 x2n+1 − x21 · · · xn−1 n−1
n+1 − x1
n
xn+1 − x1 n
- Dezvoltăm noua expresie a determinantului după prima coloană. Se obţine:
x2 − x1 x22 − x21 ··· xn−1 − x1n−1 xn2 − xn1
2
x3 − x1 x23 − x21 ··· xn−1 − x1n−1 xn3 − xn1
3
.. .. .. ..
V (n) = ..
.
. . . .
x2n − x21 xn−1 − x1n−1 xnn − xn1
xn − x1 ··· n
xn−1 n−1
xn+1 − x1 x2n+1 − x21 · · · n+1 − x1 xn − xn
n+1 1
n−2
X n−1
X
1 x2 + x1 ··· (xn−2−i · xi1 ) (x2n−1−i · xi1 )
2
i=0 i=0
n−2
X n−1
X
(xn−2−i · xi1 ) (x3n−1−i · xi1 )
1 x3 + x1 ··· 3
n+1 i=0 i=0
Y .. .. .. .. ..
V (n) = (xk − x1 ) · . . . . .
k=2
n−2 n−1
X X
1 xn + x1 ··· (xn−2−i
n · xi1 ) (xnn−1−i · xi1 )
i=0 i=0
n−2 n−1
X X
1 xn+1 + x1 · · · (xn−2−i · xi1 ) n−1−i
(xn+1 · xi1 )
n+1
i=0 i=0
Acest ultim determinant este tot un determinant Vandermond, dar ordin său
este cu unul mai mic decât cel al determinantului iniţial. Putem deci considera:
n+1
Y
V (n) = (xk − x1 ) · V (n − 1).
k=2
- Aplicând lui V (n − 1) acelaşi şir de operaţii pe care l-am aplicat lui V (n) se
obţine ı̂n mod analog:
n+1
Y
V (n − 1) = (xk − x2 ) · V (n − 2).
k=3
Se obţine astfel şirul de determinanţi V (n), V (n − 1), V (n − 2), ..., ultimul
determinant din acest şir fiind:
24 Cap.1. Interpolare şi aproximare polinomială
1 xn
V (2) = = xn+1 − xn .
1 xn+1
In concluzie avem:
n+1
Y n+1
Y n+1
Y
V (n) = (xk − x1 ) · V (n − 1) = (xk − x1 ) · (xk − x2 ) · V (n − 2) =
k=2 k=2 k=3
n+1
Y n+1
Y n+1
Y
(xk − x1 ) · (xk − x2 ) · (xk − x3 ) · V (n − 3) = ... =
k=2 k=3 k=4
n+1
Y n+1
Y n+1
Y n+1
Y
= (xk − x1 ) · (xk − x2 ) · (xk − x3 ) · ... (xk − xn−1 ) · V (2) =
k=2 k=3 k=4 k=n
n+1
Y n+1
Y n+1
Y n+1
Y
= (xk − x1 ) · (xk − x2 ) · (xk − x3 ) · ... (xk − xn−1 ) · (xn+1 − xn ) =
k=2 k=3 k=4 k=n
Y
= (xj − xi ).
1≤i<j≤n+1
Folosind o variantă a Teoremei lui Rolle care spune că ı̂ntre două rădăcini ale
unei funcţii derivabile există cel puţin o rădăcină a derivatei, avem, succesiv:
- g are cel puţin n + 2 zerouri pe [α, β]
- g 0 are cel puţin n + 1 zerouri pe [α, β]
- g 00 are cel puţin n zerouri pe [α, β]
- ...
- g (n+1) are cel puţin un zero (o rădăcină) pe [α, β], adică ∃γ ∈ [α, β] astfel
ı̂ncât g (n+1) (γ) = 0 .
(n+1)
Pe de altă parte, g (n+1) (x) = f (n+1) (x) − Pn (x) − (k · (x − x1 ) · (x − x2 ) ·
... · (x − xn+1 ))(n+1) .
(n+1)
Dar Pn este un polinom de grad n, deci Pn (x) = 0, iar produsul (x −
x1 ) · (x − x2 ) · ... · (x − xn+1 ) este un polinom de grad n + 1 având termenul de
grad maxim xn+1 , deci (k · (x − x1 ) · (x − x2 ) · ... · (x − xn+1 ))(n+1) = (n + 1)!
Aşadar g (n+1) (γ) = f (n+1) (x) − k · (n + 1)! Din g (n+1) (γ) = 0 rezultă atunci
(n+1)
f (n+1) (γ) − k · (n + 1)! = şi deci k = f (n+1)!
(γ)
, γ ∈ [α, β]
In concluzie avem: Rn (xi ) = k · (x − x1 ) · (x − x2 ) · ... · (x − xn+1 ) =
f (n+1) (γ)
= (n+1)! · (x − x1 ) · (x − x2 ) · ... · (x − xn+1 ), γ ∈ [α, β].