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