Interpolazione polinomiale.

Похожие документы
2. Costruire un M function file di Matlab che calcola il valore del

Corso di Analisi Numerica

Interpolazione. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Approssimazione di dati e funzioni

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

Integrazione numerica

INTERPOLAZIONE. Francesca Pelosi. Dipartimento di Matematica, Università di Roma Tor Vergata. CALCOLO NUMERICO e PROGRAMMAZIONE

Corso di Calcolo Numerico

Corso di Analisi Numerica

INTERPOLAZIONE. Introduzione

Raccolta di Esercizi d esame ( di Calcolo Numerico) Prof. Laura Pezza. Equazioni non lineari

0.1 Spazi Euclidei in generale

Lezione 6 Richiami di Geometria Analitica

Corso di Analisi Numerica

Corso di Calcolo Scientifico

Metodi iterativi per equazioni nonlineari.

non solo otteniamo il valore cercato per la validità della (1.4), ma anche che tale valore non dipende da

Prodotto scalare e ortogonalità

Interpolazione di Funzioni

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto

Quali condizionisi si possono richiedere sulla funzione interpolante?

Corso di Analisi Matematica. Polinomi e serie di Taylor

A.A Prof. R. Morandi

1 prof. Claudio Saccon, Dipartimento di Matematica Applicata, () December 30, / 26

Continuità di funzioni

INTERPOLAZIONE POLINOMIALE

I POLINOMI DI TAYLOR. c Paola Gervasio - Analisi Matematica 1 - A.A. 16/17 Sviluppi di Taylor cap7.pdf 1

1 Distanza di un punto da una retta (nel piano)

Le derivate parziali

LEZIONE 12. v = α 1 v α n v n =

ESERCIZIO SVOLTO N 1 ESERCIZIO SVOLTO N 2. Determinare e rappresentare graficamente il dominio della funzione

Riferimenti: R.Adams, Calcolo Differenziale 2. Capitoli 3.4, 3.9. Esercizi 3.4, 3.9.

Annamaria Mazzia. Corso di Metodi Numerici per l Ingegneria dispense e altro materiale su

Esercizio 1. Esercizio 2

Esercizi svolti. a 2 x + 3 se x 0; determinare a in modo che f risulti continua nel suo dominio.

Corso di Calcolo Numerico

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

Analisi Matematica II

Coseno, seno, e pi greco

Sviluppi e derivate delle funzioni elementari

Variabili aleatorie binomiali e di Poisson

I numeri complessi. Andrea Corli 31 agosto Motivazione 1. 2 Definizioni 1. 3 Forma trigonometrica di un numero complesso 3

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Cenni sulle coniche 1.

Precorso di Matematica

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Funzioni. iniettiva se x y = f (x) f (y) o, equivalentemente, f (x) = f (y) = x = y

LEZIONE 15. (15.1.2) p(x) = a 0 x n + a 1 x n a n 1 x + a n = a h x n h.

Laboratorio 3. Integrazione numerica

Didattica della Matematica per il triennio Geometria sintetica e geometria analitica

Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 2 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata, Matematica

Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia

0.1 Numeri complessi C

1 Successioni di funzioni

Costruzioni geometriche: perché gli origami battono la riga ed il compasso. Francesco Veneziano

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

Analisi Matematica 1 e Matematica 1 Geometria Analitica: Rette

Il metodo dei minimi quadrati e la retta di regressione

Algoritmi per l interpolazione polinomiale Implementazione MATLAB

Alessio Del Padrone Esercizi di Geometria: Numeri Complessi e Polinomi (Ingegneria A.A. 10/11)

Esercizi di Geometria Affine

Esistenza ed unicità per equazioni differenziali

AUTOVALORI, AUTOVETTORI, AUTOSPAZI

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

INTERPOLAZIONE DI FUNZIONI

Soluzione esercizi sulle funzioni - 5 a E Liceo Scientifico - 04/11/ 13

Vettori e geometria analitica in R 3 1 / 25

Teorema delle Funzioni Implicite

{ x + 2y = 3 αx + 2y = 1 αx + y = 0. f(x) = e x 2 +3x+4 x 5. f(x) = x 3 e 7x.

04 - Numeri Complessi

Raccolta di esercizi di Calcolo Numerico

Corso di Calcolo Numerico

Транскрипт:

Interpolazione polinomiale. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica Pura e Applicata 21 novembre 2011 Alvise Sommariva Interpolazione polinomiale. 1/ 27

Interpolazione polinomiale Sia P n lo sp. vett. dei polinomi di grado n in R. Date n + 1 coppie (x 0,y 0 ),..., (x n,y n ) con x j x k se j k, si calcoli p n P n t.c. p n (x k ) = y k, k = 0,...,n Tali polinomi p n si dicono interpolare {(x k,y k )} k=0,...,n oppure interpolare i valori y k nei nodi x k. 1 0.5 0 0.5 1 cos(x) interpolante(x) Coppie da interpolare 1.5 5 0 5 Figura: Grafico che illustra l interpolazione di cos(x) in [ 5, 5] su nodi equispaziati x k = 5 + 2 k (k = 0,..., 5). Alvise Sommariva Interpolazione polinomiale. 2/ 27

Questioni legate all interpolazione polinomiale Alcune questioni risultano di importanza fondamentale: Esiste tale polinomio? Se esiste è unico? Se esiste ed è unico, è possibile calcolarlo? Se f C([a,b]), esistono {x k } k=0,...,n [a,b] che rappresentano una scelta migliore di altre, nel senso che il polinomio interpolante (x k,f (x k )) (k = 0,...,n) approssima meglio la funzione? Alvise Sommariva Interpolazione polinomiale. 3/ 27

Qualche esempio n=1: dati due punti (x 0,y 0 ), (x 1,y 1 ) trovare un polinomio di grado 1 che passi per i due punti. Equivale a dire: calcolare retta che passa per due punti assegnati. n=2: dati tre punti (x 0,y 0 ), (x 1,y 1 ), (x 2,y 2 ) trovare un polinomio di grado 2 che passi per i tre punti. Equivale a dire: calcolare parabola y = a 1 x 2 + a 2 x + a 3 che passa per tre punti assegnati. Alvise Sommariva Interpolazione polinomiale. 4/ 27

Polinomi di Lagrange ed esistenza polinomio interpolatore Consideriamo i polinomi di Lagrange L k P n (rel. {x k } k=0,...,n ) L k (x) = (x x 0)... (x x k 1 ) (x x k+1 )... (x x n ) (x k x 0 )... (x k x k 1 ) (x k x k+1 )... (x k x n ) Detto δ k,j l operatore di Kronecker, L k (x s ) = δ k,s cioè L k (x k ) = 1 L k (x j ) = 0, se k j. Allora ha le proprietà desiderate il polinomio p n di grado n p n (x) = n y k L k (x) k=0 poichè p n (x s ) = n k=0 y kl k (x s ) = n k=0 y kδ k,s = y s per s = 0,...,n. Si noti che {L k } k=0,...,n è base di P n. Alvise Sommariva Interpolazione polinomiale. 5/ 27

Unicità polinomio interpolatore Supponiamo p n,q n P n siano tali che Allora s n = p n q n P n ed è per cui p n (x k ) = q n (x k ) = y k, k = 0,...,n. s n (x k ) = p n (x k ) q n (x k ) = 0, k = 0,...,n s n (x) = α(x x 0 )... (x x n ). Se α 0 allora s n P n+1, cosa assurda. Quindi α = 0, il che implica p n q n = s n = 0 cioè p n = q n. Deduciamo così che il polinomio p n P n interpolante {(x k,y k )} k=0,...,n (con x k x s se k s) non solo esiste ma è pure unico ed è p n (x) = n y k L k (x). k=0 Alvise Sommariva Interpolazione polinomiale. 6/ 27

Esempio Calcoliamo il polinomio di grado 2 che assume nei nodi x 0 = 2, x 1 = 1, x 2 = 3 rispettivamente i valori f 0 = 2, f 1 = 11, f 2 = 17. L 0 (x) = (x x 1)(x x 2 ) (x 1)(x 3) (x 1)(x 3) = = (x 0 x 1 )(x 0 x 2 ) ( 2 1)( 2 3) 15 L 1 (x) = (x x 0)(x x 2 ) (x ( 2))(x 3) (x + 2)(x 3) = = (x 1 x 0 )(x 1 x 2 ) (1 ( 2))(1 3) 6 L 2 (x) = (x x 0)(x x 1 ) (x ( 2))(x 1) (x + 2)(x 1) = = (x 2 x 0 )(x 2 x 1 ) (3 ( 2))(3 1) 10 Si vede subito che L 0, L 1, L 2 P 2 che L 0 (x 0 ) = L 0 ( 2) = 1,L 0 (x 1 ) = L 0 (1) = 0,L 0 (x 2 ) = L 0 (3) = 0 L 1 (x 1 ) = L 1 (1) = 1,L 1 (x 0 ) = L 1 ( 2) = 0,L 1 (x 2 ) = L 1 (3) = 0 L 2 (x 2 ) = L 2 (3) = 1,L 2 (x 0 ) = L 2 ( 2) = 0,L 2 (x 1 ) = L 2 (1) = 0 Alvise Sommariva Interpolazione polinomiale. 7/ 27

Esempio Posto p 2 (x) = 2L 0 (x) + 11L 1 (x) + 17L 2 (x) abbiamo p(x 0 ) = 2L 0 (x 0 )+11L 1 (x 0 )+17L 2 (x 0 ) = 2 1+11 0+17 0 = 2 = y 0, p(x 1 ) = 2L 0 (x 1 )+11L 1 (x 1 )+17L 2 (x 1 ) = 2 0+11 1+17 0 = 11 = y 1, p(x 2 ) = 2L 0 (x 2 )+11L 1 (x 2 )+17L 2 (x 2 ) = 2 0+11 0+17 1 = 17 = y 2. cioè p 2 interpola le coppie {(x k,y k )} k=0,1,2. Alvise Sommariva Interpolazione polinomiale. 8/ 27

Teorema del resto Usualmente i dati y k corrispondono alla valutazione di una funzione f C([a,b]) in nodi x k [a,b]. Si desidera che il polinomio interpolatore p n approssimi la funzione f. Risulta quindi importante stimare l errore compiuto. A tal proposito vale il seguente teorema detto del resto. Teorema. Sia f C (n+1) (a,b) e sia p n il polinomio che interpola le coppie {(x k,y k )} k=0,...,n con x k x s se k s. Allora n f (x) p n (x) = f (n+1) i=0 (ξ) (x x i) (n + 1)! (1) dove ξ I con I il più piccolo intervallo aperto contenente x 0,...,x n. Alvise Sommariva Interpolazione polinomiale. 9/ 27

Teorema del resto: esempio Supponiamo f (x) = log(x) in [1,2]. Si vede subito che f (n+1) (x) = 1/x n+1 e quindi f (n+1) = 1. Alvise Sommariva Interpolazione polinomiale. 10/ 27

Alcune scelte dei nodi Consideriamo l intervallo chiuso e limitato [a,b]. Vediamo alcuni sets di nodi. Equispaziati: x k = a + k (b a) n, k = 0,...,n. Gauss-Chebyshev (scalati): fissato n, i punti sono con x k = (a + b) 2 + (b a) 2 t k, k = 0,...,n (2) ( ) 2k + 1 t k = cos 2n + 2 π, k = 0,...,n; (3) Gauss-Chebyshev-Lobatto (scalati): fissato n, i punti sono con x k = (a + b) 2 t k = cos (b a) + t k, k = 0,...,n 2 (4) ( ) kπ, k = 0,...,n. n (5) Alvise Sommariva Interpolazione polinomiale. 11/ 27

Interpretazione geometrica Gauss-Legendre-Lobatto I punti di Gauss-Chebyshev-Lobatto si possono interpretare geometricamente. Si considerano gli n + 1 punti della circonferenza {(cos(θ k ),sin(θ k ))} k=0,...,n con θ k = (k π)/n Si proiettano {(cos(θ k ),sin(θ k ))} k=0,...,n sull asse delle ascisse. Le coordinate x di tali punti corrispondono ai punti di Gauss-Chebyshev-Lobatto. Alvise Sommariva Interpolazione polinomiale. 12/ 27

Interpretazione geometrica Gauss-Chebyshev-Lobatto 1.2 1 0.8 0.6 0.4 0.2 0 0.2 1 0.5 0 0.5 1 Figura: Interpretazione geometrica dei punti di Gauss-Chebyshev-Lobatto. Alvise Sommariva Interpolazione polinomiale. 13/ 27

Convergenza ed esempio di Runge L interpolante polinomiale in un set di nodi prefissati non converge sempre puntualmente alla funzione da approssimare. Infatti, per la funzione di Runge f (x) = 1 1 + x2, x [ 5,5] (6) si ha che il polinomio interpolatore p n in nodi equispaziati non converge (puntualmente) a f. Fortunatamente ciò non succede per i nodi di Gauss-Chebyshev(-Lobatto). Purtroppo, per un teorema dovuto a Faber, esistono comunque funzioni continue f (ma non C 1!!) tali che l interpolante p n nei nodi di Gauss-Chebyshev(-Lobatto) non converge puntualmente a f. Questo teorema è generalizzabile ad una famiglia arbitraria di nodi. Alvise Sommariva Interpolazione polinomiale. 14/ 27

Esempio di Runge 1 0.5 0 0.5 1 1.5 2 2.5 3 3.5 Runge Equisp. Gauss Cheb Lob. 4 5 0 5 Figura: Grafico della funzione di Runge 1/(1 + x 2 ) nell intervallo [ 5, 5] e delle sue interpolanti di grado 12 nei nodi equispaziati e di Gauss-Chebyshev-Lobatto. Alvise Sommariva Interpolazione polinomiale. 15/ 27

Esempio di Runge 4 3.5 Equisp. Gauss Cheb Lob. 3 2.5 2 1.5 1 0.5 0 5 0 5 Figura: Grafico errore della funzione di Runge 1/(1 + x 2 ) nell intervallo [ 5, 5] con le sue interpolanti di grado 12 nei nodi equispaziati e di Gauss-Chebyshev-Lobatto. Alvise Sommariva Interpolazione polinomiale. 16/ 27

Esempio di Runge Se p n P n è polinomio intp. nei nodi eqsp. o di G.-C.-L., vediamo al variare del grado quali sono gli errori 1/(1 + x 2 ) p n (x) : Deg Err. Eqs. Err. GCL 2 6.46e 001 9.62e 001 3 7.07e 001 6.46e 001 4 4.38e 001 8.29e 001 5 4.33e 001 4.58e 001 6 6.09e 001 6.39e 001 7 2.47e 001 3.11e 001 8 1.04e + 000 4.60e 001 9 2.99e 001 2.04e 001 10 1.92e + 000 3.19e 001 11 5.57e 001 1.32e 001 12 3.66e + 000 2.18e 001 13 1.07e + 000 8.41e 002 14 7.15e + 000 1.47e 001 Alvise Sommariva Interpolazione polinomiale. 17/ 27

Esempio di Runge Importante: l esempio di Runge mostra che esiste una funzione C ([ 5,5]) tale che al crescere del numero di nodi equispaziati n non sia garantita nemmeno la convergenza puntuale! D altra parte sussiste il seguente teorema dovuto a Bernstein: Teorema. Se f C 1 ([a,b]) con [a,b] intervallo limitato e chiuso della retta reale, il polinomio p n di grado n di interpolazione della funzione f nei nodi di Gauss-Chebyshev di grado n + 1 converge uniformemente a f su [a,b], per n. Se inoltre f C 2 ([a,b]) si ha la seguente stima dell errore f p n = O(n 1/2 ). Alvise Sommariva Interpolazione polinomiale. 18/ 27

Interpolazione di Newton Supponiamo note le coppie (x 0,f (x 0 )),..., (x n,f (x n )) con x k x j se k j. Allora posto w k (x) = (x x 0 )... (x x k 1 ), f [x j,x j+1,...,x s ] = f [x j+1,...,x s ] f [x j,...,x s 1 ] x s x j, f [x j ] = f (x j ) si dimostra che il polinomio p n P n interpolante le coppie citate è p n (x) = n w k (x)f [x 0,...,x k ]. k=0 Il vantaggio di questa scrittura è che se aggiungiamo un nuovo punto da interpolare, diciamo (x n+1,f (x n+1 )): p n+1 (x) = n+1 w k (x)f [x 0,...,x k ] = k=0 n w k (x)f [x 0,...,x k ] + k=0 + w n+1 f [x 0,...,x n+1 ] = p n (x) + w n+1 f [x 0,...,x n+1 ] Alvise Sommariva Interpolazione polinomiale. 19/ 27

Differenze divise Le quantità f [x j,...,x s ] si chiamano differenze divise. Di solito le quantità utili f [x 0,...,x k ] per il calcolo del polinomio interpolatore, si scrivono per via tabulare. Esempio: 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 n f [x n ] f [x n 1,x n ] f [x n 2,x n 1,x n ]... f [x 0,...,x n ] Alvise Sommariva Interpolazione polinomiale. 20/ 27

Differenze divise Se vogliamo intp. le coppie dell esempio precedente, cioè (x,y) ove x = [ 2;1;3],y = [ 2;11;17] otteniamo la tabella 2 2 1 11 4.3 3 17 3.0 0.26 e il polinomio intp. p 2 risulta p(x) = 2 + 4.3 (x + 2) 0.26 (x + 2)(x 1) In effetti p 2 ( 2) = 2, p 2 (1) = 2 + 4.3 3 0.26 0 = 11 e p 2 (3) = 2 + 4.3 5 0.26 10 = 2 + 21.6 2.6 = 17. Alvise Sommariva Interpolazione polinomiale. 21/ 27

Interpolazione in Matlab/Octave Supponiamo di dover interpolare le coppie {(x k,y k )} k=0,...,n e supponiamo sia x = [x 0,...,x n ], y = [y 0,...,y n ]. I coefficienti del polinomio interpolatore sono ottenibili dal comando polyfit. A tal proposito l help di Matlab suggerisce: >> help p o l y f i t POLYFIT Fit polynomial to data. POLYFIT (X,Y,N) finds the coefficients of a polynomial P(X) of degree N that fits the data, P(X(I) ) =Y(I), in a least squares sense.... See also POLY, POLYVAL, ROOTS. >> Alvise Sommariva Interpolazione polinomiale. 22/ 27

Interpolazione in Matlab/Octave Per capire qualcosa in più eseguiamo il seguente codice >> x=[ 2 1 3 ] ; >> y=[ 2 11 17]; >> a=p o l y f i t (x,y,2) a = 0.2667 4.0667 7.2000 >> In effetti, calcolando manualmente il polinomio interpolatore si ha, semplificando quando ottenuto coi polinomi di Lagrange che è p 2 (x) = ( 4/15) x 2 +(61/15) x +(36/5) 0.26x 2 +4.06x +7.2. Quindi, se a = (a k ) k=1,...,3, abbiamo p 2 (x) = a 1 x 2 + a 2 x + a 3 e più in generale, se p n è il polinomio interpolatore di grado n, e a = (a k ) è il vettore ottenuto utilizzando polyfit, allora p n (x) = a 1 x n + a 2 x n 1 +... + a n+1. Alvise Sommariva Interpolazione polinomiale. 23/ 27

Interpolazione in Matlab/Octave Per valutare in un vettore di ascisse X = [X k ] k=1,...,m un polinomio p n (x) = a 1 x n + a 2 x n 1 +... + a n+1 i cui coefficienti sono i coeff. di in un vettore P = [a k ] k=1,...,n+1 usiamo il comando polyval. Dall help: >> help p olyval To get started, select MATLAB Help from the Help menu. POLYVAL Evaluate polynomial. Y = POLYVAL (P,X), when P is a vector of length N+1 whose elements are the coefficients of a polynomial, is the value of the polynomial evaluated at X.... Y=P(1) XˆN+P (2) Xˆ(N 1)+...+P(N) X+P(N+1) >> Alvise Sommariva Interpolazione polinomiale. 24/ 27

Interpolazione in Matlab/Octave Dati i vettori x = [x k ] k=1,...,n, y = [y k ] k=1,...,n sia p n 1 (x k ) = y k, per k = 1,...,n. Sia s = [s k ] k=1,...,m e desideriamo calcolare t = [t k ] k=1,...,m per cui t k = p n 1 (s k ), per ogni k. A tal proposito introduciamo la funzione: function t=interpol (x,y,s) m=length (x) 1; coeff=p o l y f i t (x,y,m) ; t=polyval (coeff,s) ; Alvise Sommariva Interpolazione polinomiale. 25/ 27

Esempio di Runge Interpoliamo la funzione di Runge 1/(1 + x 2 ) in [ 5,5] sia su nodi equispaziati che di tipo Gauss-Chebyshev-Lobatto. A tal proposito definiamo la funzione di Runge function [fx]=runge (x) fx=1./(x.ˆ2+1) ; e una funzione che genera n nodi di Gauss-Chebyshev-Lobatto nell intervallo [a,b]: function xc=cheb (a,b,n) for m=1:1:n xc(m)=(a+b) /2 ((b a) /2) cos ( pi (m 1)/(n 1)) ; end Alvise Sommariva Interpolazione polinomiale. 26/ 27

Esempio di Runge Quindi scriviamo il file esperimento.m n=11; % GRADO. % NODI TEST. s= 5:10/(10 n) : 5 ; % NODI EQSP. : ASCISSE/ORDINATE + INTP.TEST. x= 5:10/n : 5 ; y=runge (x) ; t=interpol (x,y,s) ; % NODI GCL. : ASCISSE/ORDINATE+INTP.TEST. xgcl=cheb ( 5,5,n+1) ; ygcl=runge (xgcl ) ; tt =interpol (xgcl, ygcl,s) ; % PLOT INTP. VS RUNGE. plot (s,runge (s),s,t,s,tt) ; % ERRORI ASSOLUTI. ee=norm(runge(s) t,inf ) ;ec=norm(runge (s) tt,inf ) ; f p r i n t f ( \n\t [ERR. ] [ EQS]:%2.2 e [GCL]:%2.2 e,ee,ec) ; Alvise Sommariva Interpolazione polinomiale. 27/ 27

Esempio di Runge: risultati Al variare di n: Otteniamo la tabella degli errori vista in precedenza. Notiamo che la scelta di n non può essere eccessiva. Provare n = 30!! Risulta evidente che non sussiste la convergenza puntuale al crescere di n, di p n a 1/(1 + x 2 ), qualora si utilizzino nodi equispaziati. Risulta evidente che sussiste la convergenza puntuale al crescere di n, di p n a 1/(1 + x 2 ), qualora si utilizzino nodi di Gauss-Chebyshev-Lobatto. Alvise Sommariva Interpolazione polinomiale. 28/ 27