Interpolazione polinomiale
1 Interpolazione PolinomialeProblemaRappresentazione LagrangianaPolinomio interpolante di NewtonErrore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Outline
1 Interpolazione PolinomialeProblemaRappresentazione LagrangianaPolinomio interpolante di NewtonErrore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
ProblemaAssegnati n + 1 punti
(xi , yi), i = 1, . . . ,n + 1,
trovare un polinomio p(x) tale che
p(xi) = yi , i = 1, . . . ,n + 1. (1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Poiche i punti sono n + 1 e sufficiente considerare il genericopolinomio di grado n
pn(x) = a0 + a1x + · · ·+ anxn.
Usando la base delle potenze, si tratta di determinare icoefficienti ai risolvendo un sistema lineare di n + 1 equazioniin n + 1 incognite, ottenuto dalle condizioni di interpolazione (1):
a0 + a1x1 + a2x21 + · · ·+ anxn
1 = y1...........................
a0 + a1xn + a2x2n + · · ·+ anxn
n = yn
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
La matrice dei coefficienti e la matrice di Vandermonde.Essa e non singolare⇔ gli xi sono distinti.
V =
1 x1 x2
1 . . . xn1
1 x2 x22 . . . xn
2.. .. .. .. .... .. .. .. ..1 xn x2
n . . . xnn
ove det(V ) =
∏i>j(xi − xj).
TeoremaSe gli xi sono distinti esiste uno ed un solo polinomio diinterpolazione di grado al piu n.
Tuttavia la matrice di Vandermonde e mal condizionata.Pertanto si calcola il polinomio di interpolazione usando unarappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
La matrice dei coefficienti e la matrice di Vandermonde.Essa e non singolare⇔ gli xi sono distinti.
V =
1 x1 x2
1 . . . xn1
1 x2 x22 . . . xn
2.. .. .. .. .... .. .. .. ..1 xn x2
n . . . xnn
ove det(V ) =
∏i>j(xi − xj).
TeoremaSe gli xi sono distinti esiste uno ed un solo polinomio diinterpolazione di grado al piu n.
Tuttavia la matrice di Vandermonde e mal condizionata.Pertanto si calcola il polinomio di interpolazione usando unarappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
La matrice dei coefficienti e la matrice di Vandermonde.Essa e non singolare⇔ gli xi sono distinti.
V =
1 x1 x2
1 . . . xn1
1 x2 x22 . . . xn
2.. .. .. .. .... .. .. .. ..1 xn x2
n . . . xnn
ove det(V ) =
∏i>j(xi − xj).
TeoremaSe gli xi sono distinti esiste uno ed un solo polinomio diinterpolazione di grado al piu n.
Tuttavia la matrice di Vandermonde e mal condizionata.Pertanto si calcola il polinomio di interpolazione usando unarappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Outline
1 Interpolazione PolinomialeProblemaRappresentazione LagrangianaPolinomio interpolante di NewtonErrore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di LagrangeA ogni punto k−esimo, k = 1, . . . ,n + 1, si associa unpolinomio Lk (x) di grado n tale che
Lk (xi) = 0 per i 6= k , Lk (xk ) = 1.
Allora x1, . . . , xk−1, xk+1 . . . , xn+1 sono gli zeri di Lk (x), quindi
Lk (x) = αk (x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn+1)
Affinche Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn+1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di LagrangeA ogni punto k−esimo, k = 1, . . . ,n + 1, si associa unpolinomio Lk (x) di grado n tale che
Lk (xi) = 0 per i 6= k , Lk (xk ) = 1.
Allora x1, . . . , xk−1, xk+1 . . . , xn+1 sono gli zeri di Lk (x), quindi
Lk (x) = αk (x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn+1)
Affinche Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn+1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di LagrangeA ogni punto k−esimo, k = 1, . . . ,n + 1, si associa unpolinomio Lk (x) di grado n tale che
Lk (xi) = 0 per i 6= k , Lk (xk ) = 1.
Allora x1, . . . , xk−1, xk+1 . . . , xn+1 sono gli zeri di Lk (x), quindi
Lk (x) = αk (x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn+1)
Affinche Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn+1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante (xi , yi), i = 1, . . . ,n + 1
pn(x) = y1L1(x) + · · ·+ yn+1Ln+1(x)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante in forma lagrangiana
Costruzione di Lk (x)
function p=plagr(xnodi,k)%Restituisce i coefficienti del k-esimo pol di%Lagrange associato ai punti del vettore xnodiif k==1
xzeri=xnodi(2:end)else
xzeri=[xnodi(1:k-1) xnodi(k+1:end)]endp=poly(xzeri)p=p/polyval(p,xnodi(k))
(Esercizio 1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante in forma lagrangiana
Costruzione di Lk (x)
function p=plagr(xnodi,k)%Restituisce i coefficienti del k-esimo pol di%Lagrange associato ai punti del vettore xnodiif k==1
xzeri=xnodi(2:end)else
xzeri=[xnodi(1:k-1) xnodi(k+1:end)]endp=poly(xzeri)p=p/polyval(p,xnodi(k))
(Esercizio 1)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Outline
1 Interpolazione PolinomialeProblemaRappresentazione LagrangianaPolinomio interpolante di NewtonErrore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio diinterpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1 calcolarlo con una minore complessita computazionale;2 derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi)usando i calcoli gia eseguiti.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio diinterpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1 calcolarlo con una minore complessita computazionale;2 derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi)usando i calcoli gia eseguiti.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio diinterpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1 calcolarlo con una minore complessita computazionale;2 derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi)usando i calcoli gia eseguiti.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.Si dice differenza divisa di ordine zero di f (x) relativa alnodo x0 la quantita
f [x0] = y0.
Si dice differenza divisa di ordine uno di f (x) relativa ainodi x0, x1 la quantita
f [x0, x1] =y1 − y0
x1 − x0.
Si dice differenza divisa di ordine due di f (x) relativa agliargomenti x0, x1, x2 la quantita
f [x0, x1, x2] =f [x1, x2]− f [x0, x1]
x2 − x0.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.Si dice differenza divisa di ordine zero di f (x) relativa alnodo x0 la quantita
f [x0] = y0.
Si dice differenza divisa di ordine uno di f (x) relativa ainodi x0, x1 la quantita
f [x0, x1] =y1 − y0
x1 − x0.
Si dice differenza divisa di ordine due di f (x) relativa agliargomenti x0, x1, x2 la quantita
f [x0, x1, x2] =f [x1, x2]− f [x0, x1]
x2 − x0.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.Si dice differenza divisa di ordine zero di f (x) relativa alnodo x0 la quantita
f [x0] = y0.
Si dice differenza divisa di ordine uno di f (x) relativa ainodi x0, x1 la quantita
f [x0, x1] =y1 − y0
x1 − x0.
Si dice differenza divisa di ordine due di f (x) relativa agliargomenti x0, x1, x2 la quantita
f [x0, x1, x2] =f [x1, x2]− f [x0, x1]
x2 − x0.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
La differenza divisa di ordine m di f (x) relativa agli m + 1argomenti x0, x1, . . . , xm e
f [x0, x1, . . . , xm] =f [x1, x2, . . . , xm]− f [x0, x1, . . . , xm−1]
xm − x0.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazionedei punti (xi , yi), i = 1, ...,n, e data da:
pn(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)+· · ·+ f [x0, x1, . . . , xn](x − x0)(x − x1) . . . (x − xn−1)
Se aggiungo un punto da interpolare, (xn+1, yn+1), il nuovopolinomio e dato da
pn+1(x) = pn(x)+f [x0, x1, . . . , xn, xn+1](x−x0)(x−x1) . . . (x−xn)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazionedei punti (xi , yi), i = 1, ...,n, e data da:
pn(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)+· · ·+ f [x0, x1, . . . , xn](x − x0)(x − x1) . . . (x − xn−1)
Se aggiungo un punto da interpolare, (xn+1, yn+1), il nuovopolinomio e dato da
pn+1(x) = pn(x)+f [x0, x1, . . . , xn, xn+1](x−x0)(x−x1) . . . (x−xn)
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Polinomio interpolante di Newton
Tabella delle differenze diviseEsempio: (xi , yi), i = 0, . . . ,3
x0 → f [x0]↘
x1 → f [x1]→ f [x0, x1]↘ ↘
x2 → f [x2]→ f [x1, x2]→ f [x0, x1, x2]↘ ↘ ↘
x3 → f [x3]→ f [x2, x3]→ f [x1, x2, x3]→ f [x0, x1, x2, x3]
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
function c=interpN(x,y)
%Calcola i coeff. del polinomio di Newtonn = length(x);for k = 1:n-1
y(k+1:n)=(y(k+1:n)-y(k))./(x(k+1:n)-x(k));endc = y;
function pval = HornerN(c,x,z)
% Calcola i valori del polinomio di Newton nei punti del vettore zn = length(c);pval = c(n)*ones(size(z));for k=n-1:-1:1
pval = (z-x(k)).*pval + c(k);end
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
function c=interpN(x,y)
%Calcola i coeff. del polinomio di Newtonn = length(x);for k = 1:n-1
y(k+1:n)=(y(k+1:n)-y(k))./(x(k+1:n)-x(k));endc = y;
function pval = HornerN(c,x,z)
% Calcola i valori del polinomio di Newton nei punti del vettore zn = length(c);pval = c(n)*ones(size(z));for k=n-1:-1:1
pval = (z-x(k)).*pval + c(k);end
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Outline
1 Interpolazione PolinomialeProblemaRappresentazione LagrangianaPolinomio interpolante di NewtonErrore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Assegnate le n + 1 osservazioni {yi}i=1,...,n+1 incorrispondenza dei punti distinti xi , si e visto come costruire ilpolinomio interpolante di grado n pn(x). Se i valori yi altro nonsono che i valori di una funzione f (x) nei punti xi , cioeyi = f (xi), i = 1, . . . ,n + 1 con f definita in [a,b], ha sensochiedersi quanto sia grande l’errore di interpolazione
En(x) = f (x)− pn(x)
che si commette in un punto x ∈ [a,b] diverso dai punti diinterpolazione xi .Per dare una risposta a tale domanda e necessario fare alcuneipotesi di regolarita sulla funzione f (x).
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Sia f (x) una funzione derivabile n + 1 volte in un intervallo [a,b]contenente tutti i nodi {xi}i=1,...,n+1. Si dimostra che l’errore
En(x) = f (x)− pn(x)
tra la funzione f (x) ed il polinomio interpolante di grado n e deltipo
En(x) = ωn+1(x)f (n+1)(ξ)
(n + 1)!
con ξ ∈ [a,b] e
ωn+1(x) =n+1∏i=1
(x − xi).
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Sia f (x) una funzione derivabile n + 1 volte in un intervallo [a,b]contenente tutti i nodi {xi}i=1,...,n+1. Si dimostra che l’errore
En(x) = f (x)− pn(x)
tra la funzione f (x) ed il polinomio interpolante di grado n e deltipo
En(x) = ωn+1(x)f (n+1)(ξ)
(n + 1)!
con ξ ∈ [a,b] e
ωn+1(x) =n+1∏i=1
(x − xi).
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Sia f (x) una funzione derivabile n + 1 volte in un intervallo [a,b]contenente tutti i nodi {xi}i=1,...,n+1. Si dimostra che l’errore
En(x) = f (x)− pn(x)
tra la funzione f (x) ed il polinomio interpolante di grado n e deltipo
En(x) = ωn+1(x)f (n+1)(ξ)
(n + 1)!
con ξ ∈ [a,b] e
ωn+1(x) =n+1∏i=1
(x − xi).
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Sia f (x) una funzione derivabile n + 1 volte in un intervallo [a,b]contenente tutti i nodi {xi}i=1,...,n+1. Si dimostra che l’errore
En(x) = f (x)− pn(x)
tra la funzione f (x) ed il polinomio interpolante di grado n e deltipo
En(x) = ωn+1(x)f (n+1)(ξ)
(n + 1)!
con ξ ∈ [a,b] e
ωn+1(x) =n+1∏i=1
(x − xi).
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarita della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delleascisse.
Posto Mn+1 = maxx∈[a,b]|f (n+1)(x)|, un limite superioreall’errore di interpolazione En(x) = f (x)− pn(x) e dato da
|En(x)| ≤ |ωn+1(x)|(n + 1)!
Mn+1.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarita della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delleascisse.
Posto Mn+1 = maxx∈[a,b]|f (n+1)(x)|, un limite superioreall’errore di interpolazione En(x) = f (x)− pn(x) e dato da
|En(x)| ≤ |ωn+1(x)|(n + 1)!
Mn+1.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarita della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delleascisse.
Posto Mn+1 = maxx∈[a,b]|f (n+1)(x)|, un limite superioreall’errore di interpolazione En(x) = f (x)− pn(x) e dato da
|En(x)| ≤ |ωn+1(x)|(n + 1)!
Mn+1.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarita della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delleascisse.
Posto Mn+1 = maxx∈[a,b]|f (n+1)(x)|, un limite superioreall’errore di interpolazione En(x) = f (x)− pn(x) e dato da
|En(x)| ≤ |ωn+1(x)|(n + 1)!
Mn+1.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Si dimostra che la scelta dei nodi {xi}i=1,...,n+1 per cui, perqualunque x , risulta minimo il valore del termine |ωn+1(x)|,corrisponde agli zeri reali del polinomio di Chebyshev di gradon + 1 definito nell’intervallo [a,b]:
xi =a + b
2− b − a
2cos
(2(i − 1) + 1
2(n + 1)π
)i = 1, . . . ,n + 1.
Interpolazione polinomiale
Interpolazione polinomialeInterpolazione
ProblemaPolinomi di LagrangeForma di NewtonErrore di interpolazione
Errore nell’interpolazione polinomiale
Grafico di ωn+1(x) nell’intervallo [a,b] = [−1,1] per n = 6 e{xi}i=1,...,7 equispaziati (linea verde){xi}i=1,...,7 zeri del polinomio di Chebyshev di grado 6(linea blu)
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−0.05
−0.04
−0.03
−0.02
−0.01
0
0.01
0.02
0.03
0.04
0.05
Interpolazione polinomiale