Interpolazione polinomiale

Transcript

Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
1
Interpolazione Polinomiale
Problema
Rappresentazione Lagrangiana
Polinomio interpolante di Newton
Errore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Outline
1
Interpolazione Polinomiale
Problema
Rappresentazione Lagrangiana
Polinomio interpolante di Newton
Errore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Problema
Assegnati n + 1 punti
(xi , yi ),
i = 1, . . . , n + 1,
trovare un polinomio p(x) tale che
p(xi ) = yi ,
i = 1, . . . , n + 1.
Interpolazione polinomiale
(1)
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Poichè i punti sono n + 1 è sufficiente considerare il generico
polinomio di grado n
pn (x) = a0 + a1 x + · · · + an x n .
Usando la base delle potenze, si tratta di determinare i
coefficienti ai risolvendo un sistema lineare di n + 1 equazioni
in n + 1 incognite, ottenuto dalle condizioni di interpolazione (1):
a0 + a1 x1 + a2 x12 + · · · + an x1n = y1
.........
.........
.........
a0 + a1 xn + a2 xn2 + · · · + an xnn = yn
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
La matrice dei coefficienti è la matrice di Vandermonde.
Essa è non singolare ⇔ gli xi sono distinti.


2
n
1
x1
x1
...
xn2
...
x1
 1 x2 x22 . . . x2n 


V =  .. .. .. .. .. 
 .. .. .. .. .. 
1 xn
ove det(V ) =
Q
i>j (xi
xnn
− xj ).
Teorema
Se gli xi sono distinti esiste uno ed un solo polinomio di
interpolazione di grado al più n.
Tuttavia la matrice di Vandermonde è mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
La matrice dei coefficienti è la matrice di Vandermonde.
Essa è non singolare ⇔ gli xi sono distinti.


2
n
1
x1
x1
...
xn2
...
x1
 1 x2 x22 . . . x2n 


V =  .. .. .. .. .. 
 .. .. .. .. .. 
1 xn
ove det(V ) =
Q
i>j (xi
xnn
− xj ).
Teorema
Se gli xi sono distinti esiste uno ed un solo polinomio di
interpolazione di grado al più n.
Tuttavia la matrice di Vandermonde è mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
La matrice dei coefficienti è la matrice di Vandermonde.
Essa è non singolare ⇔ gli xi sono distinti.


2
n
1
x1
x1
...
xn2
...
x1
 1 x2 x22 . . . x2n 


V =  .. .. .. .. .. 
 .. .. .. .. .. 
1 xn
ove det(V ) =
Q
i>j (xi
xnn
− xj ).
Teorema
Se gli xi sono distinti esiste uno ed un solo polinomio di
interpolazione di grado al più n.
Tuttavia la matrice di Vandermonde è mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Outline
1
Interpolazione Polinomiale
Problema
Rappresentazione Lagrangiana
Polinomio interpolante di Newton
Errore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k−esimo, k = 1, . . . , n + 1, si associa un
polinomio 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 )
Affinchè Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn+1 )
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k−esimo, k = 1, . . . , n + 1, si associa un
polinomio 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 )
Affinchè Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn+1 )
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k−esimo, k = 1, . . . , n + 1, si associa un
polinomio 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 )
Affinchè Lk (xk ) = 1 basta scegliere
αk = 1/(xk − x1 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn+1 )
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Rappresentazione lagrangiana
Polinomio interpolante (xi , yi ), i = 1, . . . , n + 1
pn (x) = y1 L1 (x) + · · · + yn+1 Ln+1 (x)
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 xnodi
if k==1
xzeri=xnodi(2:end)
else
xzeri=[xnodi(1:k-1) xnodi(k+1:end)]
end
p=poly(xzeri)
p=p/polyval(p,xnodi(k))
(Esercizio 1)
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 xnodi
if k==1
xzeri=xnodi(2:end)
else
xzeri=[xnodi(1:k-1) xnodi(k+1:end)]
end
p=poly(xzeri)
p=p/polyval(p,xnodi(k))
(Esercizio 1)
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Outline
1
Interpolazione Polinomiale
Problema
Rappresentazione Lagrangiana
Polinomio interpolante di Newton
Errore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio di
interpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1
calcolarlo con una minore complessità computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi )
usando i calcoli già eseguiti.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio di
interpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1
calcolarlo con una minore complessità computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi )
usando i calcoli già eseguiti.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
Si deriva una diversa rappresentazione del polinomio di
interpolazione.
Rispetto alla rappresentazione di Lagrange consente di
1
calcolarlo con una minore complessità computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (xi , yi )
usando i calcoli già eseguiti.
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x) relativa al
nodo x0 la quantità
f [x0 ] = y0 .
Si dice differenza divisa di ordine uno di f (x) relativa ai
nodi x0 , x1 la quantità
y1 − y0
f [x0 , x1 ] =
.
x1 − x0
Si dice differenza divisa di ordine due di f (x) relativa agli
argomenti x0 , x1 , x2 la quantità
f [x0 , x1 , x2 ] =
f [x1 , x2 ] − f [x0 , x1 ]
.
x2 − x0
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x) relativa al
nodo x0 la quantità
f [x0 ] = y0 .
Si dice differenza divisa di ordine uno di f (x) relativa ai
nodi x0 , x1 la quantità
y1 − y0
f [x0 , x1 ] =
.
x1 − x0
Si dice differenza divisa di ordine due di f (x) relativa agli
argomenti x0 , x1 , x2 la quantità
f [x0 , x1 , x2 ] =
f [x1 , x2 ] − f [x0 , x1 ]
.
x2 − x0
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x) relativa al
nodo x0 la quantità
f [x0 ] = y0 .
Si dice differenza divisa di ordine uno di f (x) relativa ai
nodi x0 , x1 la quantità
y1 − y0
f [x0 , x1 ] =
.
x1 − x0
Si dice differenza divisa di ordine due di f (x) relativa agli
argomenti x0 , x1 , x2 la quantità
f [x0 , x1 , x2 ] =
f [x1 , x2 ] − f [x0 , x1 ]
.
x2 − x0
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
La differenza divisa di ordine m di f (x) relativa agli m + 1
argomenti x0 , x1 , . . . , xm è
f [x0 , x1 , . . . , xm ] =
f [x1 , x2 , . . . , xm ] − f [x0 , x1 , . . . , xm−1 ]
.
xm − x0
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazione
dei punti (xi , yi ), i = 1, ..., n, è 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 nuovo
polinomio è dato da
pn+1 (x) = pn (x)+f [x0 , x1 , . . . , xn , xn+1 ](x −x0 )(x −x1 ) . . . (x −xn )
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazione
dei punti (xi , yi ), i = 1, ..., n, è 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 nuovo
polinomio è dato da
pn+1 (x) = pn (x)+f [x0 , x1 , . . . , xn , xn+1 ](x −x0 )(x −x1 ) . . . (x −xn )
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Polinomio interpolante di Newton
Tabella delle differenze divise
Esempio: (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 polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
function c=interpN(x,y)
%Calcola i coeff. del polinomio di Newton
n = length(x);
for k = 1:n-1
y(k+1:n)=(y(k+1:n)-y(k))./(x(k+1:n)-x(k));
end
c = y;
function pval = HornerN(c,x,z)
% Calcola i valori del polinomio di Newton nei punti del vettore z
n = 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 polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
function c=interpN(x,y)
%Calcola i coeff. del polinomio di Newton
n = length(x);
for k = 1:n-1
y(k+1:n)=(y(k+1:n)-y(k))./(x(k+1:n)-x(k));
end
c = y;
function pval = HornerN(c,x,z)
% Calcola i valori del polinomio di Newton nei punti del vettore z
n = 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 polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Outline
1
Interpolazione Polinomiale
Problema
Rappresentazione Lagrangiana
Polinomio interpolante di Newton
Errore nell’interpolazione polinomiale
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
Assegnate le n + 1 osservazioni {yi }i=1,...,n+1 in
corrispondenza dei punti distinti xi , si è visto come costruire il
polinomio interpolante di grado n pn (x). Se i valori yi altro non
sono che i valori di una funzione f (x) nei punti xi , cioè
yi = f (xi ), i = 1, . . . , n + 1 con f definita in [a, b], ha senso
chiedersi 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 di
interpolazione xi .
Per dare una risposta a tale domanda è necessario fare alcune
ipotesi di regolarità sulla funzione f (x).
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 è del
tipo
En (x) = ωn+1 (x)
f (n+1) (ξ)
(n + 1)!
con ξ ∈ [a, b] e
ωn+1 (x) =
n+1
Y
(x − xi ).
i=1
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 è del
tipo
En (x) = ωn+1 (x)
f (n+1) (ξ)
(n + 1)!
con ξ ∈ [a, b] e
ωn+1 (x) =
n+1
Y
(x − xi ).
i=1
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 è del
tipo
En (x) = ωn+1 (x)
f (n+1) (ξ)
(n + 1)!
con ξ ∈ [a, b] e
ωn+1 (x) =
n+1
Y
(x − xi ).
i=1
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore 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 è del
tipo
En (x) = ωn+1 (x)
f (n+1) (ξ)
(n + 1)!
con ξ ∈ [a, b] e
ωn+1 (x) =
n+1
Y
(x − xi ).
i=1
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarità della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delle
ascisse.
Posto Mn+1 = maxx∈[a,b] |f (n+1) (x)|, un limite superiore
all’errore di interpolazione En (x) = f (x) − pn (x) è dato da
|En (x)| ≤
|ωn+1 (x)|
Mn+1 .
(n + 1)!
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarità della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delle
ascisse.
Posto Mn+1 = maxx∈[a,b] |f (n+1) (x)|, un limite superiore
all’errore di interpolazione En (x) = f (x) − pn (x) è dato da
|En (x)| ≤
|ωn+1 (x)|
Mn+1 .
(n + 1)!
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarità della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delle
ascisse.
Posto Mn+1 = maxx∈[a,b] |f (n+1) (x)|, un limite superiore
all’errore di interpolazione En (x) = f (x) − pn (x) è dato da
|En (x)| ≤
|ωn+1 (x)|
Mn+1 .
(n + 1)!
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarità della funzione f (x)
dalla disposizione dei punti di interpolazione sull’asse delle
ascisse.
Posto Mn+1 = maxx∈[a,b] |f (n+1) (x)|, un limite superiore
all’errore di interpolazione En (x) = f (x) − pn (x) è dato da
|En (x)| ≤
|ωn+1 (x)|
Mn+1 .
(n + 1)!
Interpolazione polinomiale
Interpolazione polinomiale
Interpolazione
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Errore nell’interpolazione polinomiale
Si dimostra che la scelta dei nodi {xi }i=1,...,n+1 per cui, per
qualunque x, risulta minimo il valore del termine |ωn+1 (x)|,
corrisponde agli zeri reali del polinomio di Chebyshev di grado
n + 1 definito nell’intervallo [a, b]:
a+b b−a
−
cos
xi =
2
2
2(i − 1) + 1
π
2(n + 1)
i = 1, . . . , n + 1.
Interpolazione polinomiale
Problema
Polinomi di Lagrange
Forma di Newton
Errore di interpolazione
Interpolazione polinomiale
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)
0.05
0.04
0.03
0.02
0.01
0
−0.01
−0.02
−0.03
−0.04
−0.05
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Interpolazione polinomiale