1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
Outline
1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
Problema
Assegnati n + 1 punti
(x
i, y
i), i = 1, . . . , n + 1, trovare un polinomio p(x )
p(x
i) = y
i, i = 1, . . . , n + 1. (1)
Poich `e i punti sono n + 1 `e sufficiente considerare il generico polinomio di grado n
p
n(x ) = a
0+ a
1x + · · · + a
nx
n.
Usando la base delle potenze, si tratta di determinare i
coefficienti a
irisolvendo un sistema lineare di n + 1 equazioni in n + 1 incognite, ottenuto dalle condizioni di interpolazione (1):
a
0+ a
1x
1+ a
2x
12+ · · · + a
nx
1n= y
1...
...
...
a
0+ a
1x
n+ a
2x
n2+ · · · + a
nx
nn= y
nLa matrice dei coefficienti `e la matrice di Vandermonde.
Essa `e non singolare ⇔ gli x
isono distinti.
V =
1 x
1x
12. . . x
1n1 x
2x
22. . . x
2n.. .. .. .. ..
.. .. .. .. ..
1 x
nx
n2. . . x
nn
ove det(V ) = Q
i>j
(x
i− x
j).
Teorema
Se gli x
isono distinti esiste uno ed un solo polinomio di interpolazione di grado al pi `u n.
Tuttavia la matrice di Vandermonde `e mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
La matrice dei coefficienti `e la matrice di Vandermonde.
Essa `e non singolare ⇔ gli x
isono distinti.
V =
1 x
1x
12. . . x
1n1 x
2x
22. . . x
2n.. .. .. .. ..
.. .. .. .. ..
1 x
nx
n2. . . x
nn
ove det(V ) = Q
i>j
(x
i− x
j).
Teorema
Se gli x
isono distinti esiste uno ed un solo polinomio di interpolazione di grado al pi `u n.
Tuttavia la matrice di Vandermonde `e mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
La matrice dei coefficienti `e la matrice di Vandermonde.
Essa `e non singolare ⇔ gli x
isono distinti.
V =
1 x
1x
12. . . x
1n1 x
2x
22. . . x
2n.. .. .. .. ..
.. .. .. .. ..
1 x
nx
n2. . . x
nn
ove det(V ) = Q
i>j
(x
i− x
j).
Teorema
Se gli x
isono distinti esiste uno ed un solo polinomio di interpolazione di grado al pi `u n.
Tuttavia la matrice di Vandermonde `e mal condizionata.
Pertanto si calcola il polinomio di interpolazione usando una
rappresentazione del polinomio diversa da quella canonica.
Outline
1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k −esimo, k = 1, . . . , n + 1, si associa un polinomio L
k(x ) di grado n tale che
L
k(x
i) = 0 per i 6= k , L
k(x
k) = 1.
Allora x
1, . . . , x
k −1, x
k +1. . . , x
n+1sono gli zeri di L
k(x ), quindi L
k(x ) = α
k(x − x
1) . . . (x − x
k −1)(x − x
k +1) . . . (x − x
n+1) Affinch `e L
k(x
k) = 1 basta scegliere
α
k= 1/(x
k− x
1) . . . (x
k− x
k −1)(x
k− x
k +1) . . . (x
k− x
n+1)
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k −esimo, k = 1, . . . , n + 1, si associa un polinomio L
k(x ) di grado n tale che
L
k(x
i) = 0 per i 6= k , L
k(x
k) = 1.
Allora x
1, . . . , x
k −1, x
k +1. . . , x
n+1sono gli zeri di L
k(x ), quindi L
k(x ) = α
k(x − x
1) . . . (x − x
k −1)(x − x
k +1) . . . (x − x
n+1) Affinch `e L
k(x
k) = 1 basta scegliere
α
k= 1/(x
k− x
1) . . . (x
k− x
k −1)(x
k− x
k +1) . . . (x
k− x
n+1)
Rappresentazione lagrangiana
Polinomio interpolante di Lagrange
A ogni punto k −esimo, k = 1, . . . , n + 1, si associa un polinomio L
k(x ) di grado n tale che
L
k(x
i) = 0 per i 6= k , L
k(x
k) = 1.
Allora x
1, . . . , x
k −1, x
k +1. . . , x
n+1sono gli zeri di L
k(x ), quindi L
k(x ) = α
k(x − x
1) . . . (x − x
k −1)(x − x
k +1) . . . (x − x
n+1) Affinch `e L
k(x
k) = 1 basta scegliere
α
k= 1/(x
k− x
1) . . . (x
k− x
k −1)(x
k− x
k +1) . . . (x
k− x
n+1)
Rappresentazione lagrangiana
Polinomio interpolante (x
i, y
i), i = 1, . . . , n + 1
p
n(x ) = y
1L
1(x ) + · · · + y
n+1L
n+1(x )
Polinomio interpolante in forma lagrangiana
Costruzione di L
k(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))
Disegnare i polinomi di Lagrange associati a [-1 -0.7 0.5 1]
Polinomio interpolante in forma lagrangiana
Costruzione di L
k(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))
Disegnare i polinomi di Lagrange associati a [-1 -0.7 0.5 1]
Outline
1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
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 `a computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (x
i, y
i)
usando i calcoli gi `a eseguiti.
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 `a computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (x
i, y
i)
usando i calcoli gi `a eseguiti.
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 `a computazionale;
2
derivare da un polinomio interpolante di grado n uno di
grado superiore quando si aggiungono nuovi dati (x
i, y
i)
usando i calcoli gi `a eseguiti.
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x ) relativa al nodo x
0la quantit `a
f [x
0] = y
0.
Si dice differenza divisa di ordine uno di f (x ) relativa ai nodi x
0, x
1la quantit `a
f [x
0, x
1] = y
1− y
0x
1− x
0.
Si dice differenza divisa di ordine 2 di f (x ) relativa agli argomenti x
0, x
1, x
2la quantit `a
f [x
0, x
1, x
2] = f [x
1, x
2] − f [x
0, x
1]
x − x .
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x ) relativa al nodo x
0la quantit `a
f [x
0] = y
0.
Si dice differenza divisa di ordine uno di f (x ) relativa ai nodi x
0, x
1la quantit `a
f [x
0, x
1] = y
1− y
0x
1− x
0.
Si dice differenza divisa di ordine 2 di f (x ) relativa agli argomenti x
0, x
1, x
2la quantit `a
f [x
0, x
1, x
2] = f [x
1, x
2] − f [x
0, x
1]
x − x .
Differenze divise
A tale scopo si usano le differenze divise.
Si dice differenza divisa di ordine zero di f (x ) relativa al nodo x
0la quantit `a
f [x
0] = y
0.
Si dice differenza divisa di ordine uno di f (x ) relativa ai nodi x
0, x
1la quantit `a
f [x
0, x
1] = y
1− y
0x
1− x
0.
Si dice differenza divisa di ordine 2 di f (x ) relativa agli argomenti x
0, x
1, x
2la quantit `a
f [x
0, x
1, x
2] = f [x
1, x
2] − f [x
0, x
1]
x − x .
La differenza divisa di ordine m di f (x ) relativa agli m + 1 argomenti x
0, x
1, . . . , x
m`e
f [x
0, x
1, . . . , x
m] = f [x
1, x
2, . . . , x
m] − f [x
0, x
1, . . . , x
m−1]
x
m− x
0.
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazione dei punti (x
i, y
i), i = 1, ..., n, `e data da:
p
n(x ) = f [x
0] + f [x
0, x
1](x − x
0) + f [x
0, x
1, x
2](x − x
0)(x − x
1)+
· · · + f [x
0, x
1, . . . , x
n](x − x
0)(x − x
1) . . . (x − x
n−1) Se aggiungo un punto da interpolare, (x
n+1, y
n+1), il nuovo polinomio `e dato da
p
n+1(x ) = p
n(x )+f [x
0, x
1, . . . , x
n, x
n+1](x −x
0)(x −x
1) . . . (x −x
n)
Polinomio interpolante di Newton
La rappresentazione di Newton del polinomio di interpolazione dei punti (x
i, y
i), i = 1, ..., n, `e data da:
p
n(x ) = f [x
0] + f [x
0, x
1](x − x
0) + f [x
0, x
1, x
2](x − x
0)(x − x
1)+
· · · + f [x
0, x
1, . . . , x
n](x − x
0)(x − x
1) . . . (x − x
n−1) Se aggiungo un punto da interpolare, (x
n+1, y
n+1), il nuovo polinomio `e dato da
p
n+1(x ) = p
n(x )+f [x
0, x
1, . . . , x
n, x
n+1](x −x
0)(x −x
1) . . . (x −x
n)
Polinomio interpolante di Newton
Tabella delle differenze divise Esempio: (x
i, y
i), i = 0, . . . , 3
x
0→ f [x
0]
&
x
1→ f [x
1] → f [x
0, x
1]
& &
x
2→ f [x
2] → f [x
1, x
2] → f [x
0, x
1, x
2]
& & &
x
3→ f [x
3] → f [x
2, x
3] → f [x
1, x
2, x
3] → f [x
0, x
1, x
2, x
3]
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
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
Outline
1
Interpolazione Polinomiale Problema
Rappresentazione Lagrangiana Polinomio interpolante di Newton Errore nell’interpolazione polinomiale
2
Approssimazione ai minimi quadrati nel discreto
Errore nell’interpolazione polinomiale
Assegnate le n+1 osservazioni {y
i}
i=1,...,n+1in corrispondenza dei punti distinti x
i, si `e visto come costruire il polinomio
interpolante di grado n p
n(x ). Se i valori y
ialtro non sono che i valori di una funzione f(x) nei punti x
i, cio `e y
i= f (x
i),
i = 1, . . . , n + 1 con f definita in [a, b], ha senso chiedersi quanto sia grande l’errore di interpolazione
E
n(x ) = f (x ) − p
n(x )
che si commette in un punto x ∈ [a, b] diverso dai punti di interpolazione x
i.
Per dare una risposta a tale domanda `e necessario fare alcune
ipotesi di regolarit `a sulla funzione f(x).
Errore nell’interpolazione polinomiale
Sia f (x ) una funzione derivabile n + 1 volte in un intervallo [a, b]
contenente tutti i nodi {x
i}
i=1,...,n+1.Si dimostra che l’errore E
n(x ) = f (x ) − p
n(x )
tra la funzione f (x ) ed il polinomio interpolante di grado n `e del tipo
E
n(x ) = ω
n+1(x ) f
(n+1)(ξ) (n + 1)!
con ξ ∈ [a, b] e
ω
n+1(x ) =
n+1
Y
i=1
(x − x
i).
Errore nell’interpolazione polinomiale
Sia f (x ) una funzione derivabile n + 1 volte in un intervallo [a, b]
contenente tutti i nodi {x
i}
i=1,...,n+1.Si dimostra che l’errore E
n(x ) = f (x ) − p
n(x )
tra la funzione f (x ) ed il polinomio interpolante di grado n `e del tipo
E
n(x ) = ω
n+1(x ) f
(n+1)(ξ) (n + 1)!
con ξ ∈ [a, b] e
ω
n+1(x ) =
n+1
Y
i=1
(x − x
i).
Errore nell’interpolazione polinomiale
Sia f (x ) una funzione derivabile n + 1 volte in un intervallo [a, b]
contenente tutti i nodi {x
i}
i=1,...,n+1.Si dimostra che l’errore E
n(x ) = f (x ) − p
n(x )
tra la funzione f (x ) ed il polinomio interpolante di grado n `e del tipo
E
n(x ) = ω
n+1(x ) f
(n+1)(ξ) (n + 1)!
con ξ ∈ [a, b] e
ω
n+1(x ) =
n+1
Y
i=1
(x − x
i).
Errore nell’interpolazione polinomiale
Sia f (x ) una funzione derivabile n + 1 volte in un intervallo [a, b]
contenente tutti i nodi {x
i}
i=1,...,n+1.Si dimostra che l’errore E
n(x ) = f (x ) − p
n(x )
tra la funzione f (x ) ed il polinomio interpolante di grado n `e del tipo
E
n(x ) = ω
n+1(x ) f
(n+1)(ξ) (n + 1)!
con ξ ∈ [a, b] e
ω
n+1(x ) =
n+1
Y
i=1
(x − x
i).
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarit `a della funzione f (x )
dalla disposizione dei punti di interpolazione sull’asse delle ascisse.
Posto M
n+1= max
x ∈[a,b]|f
(n+1)(x )|, un limite superiore all’errore di interpolazione E
n(x ) = f (x ) − p
n(x ) `e dato da
|E
n(x )| ≤ |ω
n+1(x )|
(n + 1)! M
n+1.
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarit `a della funzione f (x )
dalla disposizione dei punti di interpolazione sull’asse delle ascisse.
Posto M
n+1= max
x ∈[a,b]|f
(n+1)(x )|, un limite superiore all’errore di interpolazione E
n(x ) = f (x ) − p
n(x ) `e dato da
|E
n(x )| ≤ |ω
n+1(x )|
(n + 1)! M
n+1.
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarit `a della funzione f (x )
dalla disposizione dei punti di interpolazione sull’asse delle ascisse.
Posto M
n+1= max
x ∈[a,b]|f
(n+1)(x )|, un limite superiore all’errore di interpolazione E
n(x ) = f (x ) − p
n(x ) `e dato da
|E
n(x )| ≤ |ω
n+1(x )|
(n + 1)! M
n+1.
Errore nell’interpolazione polinomiale
L’errore di interpolazione dipende quindi:
dalla regolarit `a della funzione f (x )
dalla disposizione dei punti di interpolazione sull’asse delle ascisse.
Posto M
n+1= max
x ∈[a,b]|f
(n+1)(x )|, un limite superiore all’errore di interpolazione E
n(x ) = f (x ) − p
n(x ) `e dato da
|E
n(x )| ≤ |ω
n+1(x )|
(n + 1)! M
n+1.
Errore nell’interpolazione polinomiale
Si dimostra che la scelta dei nodi {x
i}
i=1,...,n+1per 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]:
x
i= a + b
2 − b − a
2 cos 2(i − 1) + 1 2(n + 1) π
i = 1, . . . , n + 1.
Errore nell’interpolazione polinomiale
Grafico di ω
n+1(x ) nell’intervallo [a, b] = [−1, 1] per n = 6 e {x
i}
i=1,...,7equispaziati (linea verde)
{x
i}
i=1,...,7zeri 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
Polinomio di approssimazione ai minimi quadrati
E assegnato un insieme di m punti (x `
i, y
i), i = 1, . . . , m, che descrivono un certo fenomeno. Vogliamo trovare un polinomio
p
n(x ) = c
0+ c
1x + . . . c
nx
ndi grado n < m che approssimi la configurazione di dati assegnati secondo il criterio dei minimi quadrati, ovvero che minimizzi la norma due del vettore residuo
r = [p
n(x
1) − y
1, p
n(x
2) − y
2, . . . , p
n(x
m) − y
m] ovvero la quantit `a
kAc − y k
2che si pu `o scrivere anche come
m
X
i=1
(p
n(x
i) − y
i)
2Polinomio di approssimazione ai minimi quadrati
Sia A la matrice di Vandermonde
A =
1 x
1x
12. . . x
1n1 x
2x
22. . . x
2n.. .. .. .. ..
.. .. .. .. ..
1 x
mx
m2. . . x
mn
Polinomio di approssimazione ai minimi quadrati
Metodo delle equazioni normali
I coefficienti c si trovano risolvendo il sistema delle equazioni normali
A
TAc = A
Ty
Se le colonne di A sono l.i., M = A
TA invertibile simmetrica e definita positiva ⇒ si usa il metodo di Cholesky
Si trova la fattorizzazione di Cholesky M = LL
TSi trova la soluzione risolvendo due sistemi triangolari
Polinomio di approssimazione ai minimi quadrati
Metodo delle equazioni normali
I coefficienti c si trovano risolvendo il sistema delle equazioni normali
A
TAc = A
Ty
Se le colonne di A sono l.i., M = A
TA invertibile simmetrica e definita positiva ⇒ si usa il metodo di Cholesky
Si trova la fattorizzazione di Cholesky M = LL
TSi trova la soluzione risolvendo due sistemi triangolari
Polinomio di approssimazione ai minimi quadrati
Metodo delle equazioni normali
I coefficienti c si trovano risolvendo il sistema delle equazioni normali
A
TAc = A
Ty
Se le colonne di A sono l.i., M = A
TA invertibile simmetrica e definita positiva ⇒ si usa il metodo di Cholesky
Si trova la fattorizzazione di Cholesky M = LL
TSi trova la soluzione risolvendo due sistemi triangolari
Polinomio di approssimazione ai minimi quadrati
Metodo delle equazioni normali
I coefficienti c si trovano risolvendo il sistema delle equazioni normali
A
TAc = A
Ty
Se le colonne di A sono l.i., M = A
TA invertibile simmetrica e definita positiva ⇒ si usa il metodo di Cholesky
Si trova la fattorizzazione di Cholesky M = LL
TSi trova la soluzione risolvendo due sistemi triangolari
Polinomio di approssimazione ai minimi quadrati
Problemi
1
M pu `o risultare molto mal condizionata ⇒ soluzioni inaffidabili
2
M, a causa degli errori di calcolo, pu `o non risultare simmetrica definita positiva.
La fattorizzazione di Cholesky si blocca.
3
Si pu `o ”far finta di niente” ed evitare il problema usando la divisione a sinistra
c = M \ (A
Ty )
Ma...
Polinomio di approssimazione ai minimi quadrati
Problemi
1
M pu `o risultare molto mal condizionata ⇒ soluzioni inaffidabili
2
M, a causa degli errori di calcolo, pu `o non risultare simmetrica definita positiva.
La fattorizzazione di Cholesky si blocca.
3
Si pu `o ”far finta di niente” ed evitare il problema usando la divisione a sinistra
c = M \ (A
Ty )
Ma...
Polinomio di approssimazione ai minimi quadrati
Problemi
1
M pu `o risultare molto mal condizionata ⇒ soluzioni inaffidabili
2
M, a causa degli errori di calcolo, pu `o non risultare simmetrica definita positiva.
La fattorizzazione di Cholesky si blocca.
3