Interpolazione polinomiale - matapp.unimib.itromani/index_files/didattica/2008-09/pdf... ·...

40
Interpolazione polinomiale Interpolazione polinomiale

Transcript of Interpolazione polinomiale - matapp.unimib.itromani/index_files/didattica/2008-09/pdf... ·...

Interpolazione polinomiale

Interpolazione polinomiale

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