Esercitazione 7: Aggiornamento minimi quadrati.

Documenti analoghi
Lezione 6 e 7, /11/2014

Complementi di Matematica e Calcolo Numerico A.A

2. Costruire un M function file di Matlab che calcola il valore del

kπ cos, k = 0, 1, 2,, n (NB: sono n +1) n

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

Interpolazione polinomiale

Interpolazione e approssimazione di dati

Interpolazione e approssimazione di funzioni

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

Interpolazione polinomiale. Gabriella Puppo

Interpolazione e approssimazione di dati

Analisi Numerica I Approssimazione polinomiale

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

i = 0,...,N 1) siano polinomi di grado m = 3 e globalmente funzioni di classe C m 1 = C 2,

Lezione 5, 5/11/2014

Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 2 settembre 2013

Corso di Calcolo Scientifico

Calcolo Numerico A.A Lab. 6

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

Interpolazione polinomiale. Interpolazione polinomiale

Esercizi Elaborato (versione )

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

Interpolazione polinomiale. Interpolazione polinomiale

Approssimazione di dati e funzioni

Complementi di Matematica e Calcolo Numerico A.A

Approssimazione di dati e funzioni

Calcolo Numerico (A.A ) Lab n. 12 Approssimazione

Esercizi proposti di Analisi Numerica

Lezione 3 Interpolazione Polinomiale.

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

b vettore(termine noto) y* proiezione ortogonale di b

Anno accademico

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

Interpolazione composita di Lagrange

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

Calcolo Numerico - A.A Laboratorio 6

Foglio Esercizi A (interpolazione, approssimazione, integrazione)

Prova di recupero sui capitoli 4 6

Diario delle lezioni di Analisi Numerica laurea Magistrale in Statistica e Informatica A.A

Interpolazione di dati

Corso di Matematica per la Chimica

Approssimazione polinomiale 1

Complementi di Matematica e Calcolo Numerico A.A Polinomi e vettori

g(x) = arctan(1.5x 0.1)

Esercizio 1: Compressione utilizzando spline di grado il grafico dell errore tra funzione interpolante ed interpolata;

Calcolo Numerico. Esercitazioni (A.A ) Lezione n. 16 Approssimazione

Approssimazione di dati

Laboratorio di Calcolo Numerico Approssimazione ai minimi quadrati

Si chiamano n nodi di Chebyshev gli zeri del polinomio di) n T n (x) = cos(n arccos(x)). Dunque, x j+1 = cos, j = 0,...,n 1.

Approssimazione di dati

Approssimazione di dati

ISTITUTO DI ISTRUZIONE SUPERIORE A. EINSTEIN PROGETTO LAUREE SCIENTIFICHE

Diario delle lezioni di Analisi Numerica laurea Magistrale in Statistica e Informatica A.A

Approssimazione di dati

Minimi quadrati. Ángeles Martínez Calomardo e Alvise Sommariva. 4 dicembre Università degli Studi di Padova

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Il problema lineare dei minimi quadrati

INTERPOLAZIONI CON SPLINE

Interpolazione polinomiale

Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia

Polinomi. Poiché un polinomio di grado n ha n+1 coefficienti, ad un polinomio di grado n si associa un vettore di lunghezza n+1.

Metodi Numerici con elementi di Programmazione (A.A )

Interpolazione polinomiale.

Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011

Corso di Analisi Numerica

Interpolazione polinomiale a tratti

Integrazione numerica

Integrazione numerica

Esercizio 1. Esercizio 2

Sistemi sovradeterminati. b vettore(termine noto) V n. y* proiezione ortogonale di b. Carla Guerrini 1

Interpolazione ed approssimazione di funzioni

Interpolazione. Corso di Calcolo Numerico, a.a. 2008/2009. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

EQUAZIONI DIFFERENZIALI

Interpolazione polinomiale.

Corso di Calcolo Numerico

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

Laboratorio di Calcolo Numerico - Corso di Laurea in Matematica Appello d esame del 19/06/2012

Corso di Calcolo Numerico

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 31 agosto 2011 Testo e soluzioni

Approssimazione con le splines. Approssimazione con le splines

Corso di Matematica per la Chimica

Splines. Alvise Sommariva. Università degli Studi di Padova Dipartimento di Matematica Pura e Applicata. 21 novembre 2011

INTERPOLAZIONE. Introduzione

Laboratorio di Matematica Computazionale A.A Lab. 9

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Integrazione numerica

Interpolazione e Approssimazione

Esercitazione di Calcolo Numerico 1 27 Maggio Calcolare la fattorizzazione P A = LU della matrice A =

Interpolazione e Approssimazione

Calcolo Numerico Informatica Manolo Venturin A.A Guida all esame

BOZZA BOZZA BOZZA. Funzioni per effettuare delle interpolazioni su dati tabellati: interp1, interp2, interp3.

METODI DI COLLOCAZIONE POLINOMIALE (Metodi di Runge-Kutta continui) November 30, 2004

f(x) dx = F (b) F (a) Formula di quadratura o di integrazione numerica c i f(x i ) + R n (f)

Analisi Numerica: interpolazione

INTERPOLAZIONE POLINOMIALE

Interpolazione. Davide Manca Calcoli di Processo dell Ingegneria Chimica Politecnico di Milano

Transcript:

Esercitazione 7: Aggiornamento minimi quadrati. Esercizio 1 Per calcolare il piano di equazione p(x) = a+b xc y che minimizza gli scarti quadratici relativi alle misure (x i, y i, z i ) è necessario risolvere il seguente problema di minimo min x=[a,b,c] Ax z 2 2 dove A è la seguente matrice di Vandermonde 1 x 1 y 1 1 x 2 y 2 A =... 1 x n y n Risolvere il problema sul seguente insieme di punti x i 1 2 3 1 2 3 1 2 3 y i 1 1 1 2 2 2 3 3 3 z i 1 0 1 2 3 2 3 0 4 1

Risultati Figura 1: Andamento del piano dei minimi quadrati Esercizio 2 Siano dati le seguenti coppie di valori. x i -5-3 1 3 4 6 8 y i = f(x i ) 18 7 0 7 16 50 67 Si vuole calcolare il polinomio della forma p(x) = a + b x 3 che meglio approssima (nel senso dei minimi quadrati) l insieme dei dati del problema. In questo caso la matrice di Vandermonde assume la forma 1 x 3 1 1 x 3 2 A =.. 1 x 3 n 2 / 21

Risultati Figura 2: Andamento del polinomio p(x) = a + b x 3 che meglio approssima l insieme dei dati. 3 / 21

Esercitazione 8: Interpolazione polinomiale. Richiami di Teoria: forma di Lagrange Interpolazione polinomiale mediante Sia data una funzione reale f(x) definita in I = [a, b] e si supponga nota in n + 1 punti (detti anche nodi) distinti di I, x 0, x 1,..., x n, con x i x j per i j. Il problema dell interpolazione polinomiale consiste nel trovare il polinomio P n (x) = a 0 + a 1 x + a 2 x 2 +... + a n x n tale che P n (x i ) = f(x i ), 0 i n. Esistono vari metodi per costruire il polinomio di interpolazione (unico). considereremo la forma di Lagrange. Si chiama i esimo polinomio di Lagrange L n i (x) di grado n n L n k=0,k i i (x) = (x x k) n k=0,k i (x i x k ). Pertanto la forma di Lagrange diventa In questa sezione P n (x) = n L n i (x)f(x i ) i=0 Esercizio 1 Premessa 1: In questo esercizio vogliamo verificare numericamente la seguente proprietà dei polinomi di Lagrange L n i (x j ) = δ ij dove δ ij è la delta di Kronecker che vale 1 se i = j e 0 altrimenti. Premessa 2: Si vuole inoltre verificare che n L n i (x j ) = 1 i=0 4

cioè formano una partizione dell unità. Rappresentare graficamente i polinomi di Lagrange per n = 1,..., 4 e la relativa somma. Come punti di interpolazione si utilizzi l intervallo [0, 1] equispaziato. Il seguente codice mostra il caso n = 2. Si può utilizzare il comando MatLab subplot per suddividere una finestra di disegno in altre sottofinestre. % Esempio polinomi di Lagrange di ordine 2. ngrad = 2; % Grado del polinomio di interpolazione xi = linspace(0,1,ngrad+1)'; % Punti definizione polinomio interpolazione np = 60; % Numero di punti di valutazione dei polinomi xval = linspace(0,1,np)'; % Coordinate su cui valutare i polinomi L = zeros(np,ngrad+1); % La colonna i esima contiene L i(xval) for i=1:ngrad+1 for p=1:np, x = xval(p); Lval = 1; for j=1:ngrad+1 if(j i) Lval = Lval*(x xi(j))/(xi(i) xi(j)); end end L(p,i) = Lval; end end figure(1); h = plot(xval,l); set(h,'linewidth',2); figure(2); plot(xval,sum(l,2)) 5 / 21

Figura 3: Polinomi di interpolazione di grado 1. Figura 4: Polinomi di interpolazione di grado 2. 6 / 21

Figura 5: Polinomi di interpolazione di grado 3. 7 / 21

Esercizio 2 Dati i seguenti nodi ed i relativi valori di una certa funzione f(x) valutare (graficamente) il polinomio di interpolazione di Lagrange di P 3 (x) nell intervallo [ 7, 5]. Per far questo bisogna utilizzare la formula x 5-7 -6 0 f(x) 1-23 -54-954 P n (x) = n L n i (x)f(x i ) i=0 che può essere vista come il prodotto matrice/vettore tra la matrice L delle base polinomiali e il vettore dei nodi di inerpolazione y = f(x i ). Risultati Figura 6: Base polinomiale del problema. 8 / 21

Figura 7: Polinomio di interpolazione. Richiami di Teoria: Interpolazione polinomiale mediante funciton MatLab polyfit La function MatLab che implementa l interpolazione polinomiale è polyfit mediante la sintassi p=polyfit(x,y,n) dove n è il grado del polinomio con cui vogliamo interpolare i dati e restituisce in uscita un vettore dei coefficienti del polinomio. Nel nostro caso sarà n=length(x)-1. I coefficienti del polinomio p sono da interpretarsi in ordine descrescente il cui primo coefficiente è relativo al monomio di grado massimo, mentre l ultimo è relativo al termine costante. Per valutare un polinomio su un insieme di dati si utilizza la routine polyval. La function polyfit risolve il problema del calcolo del polimonio di interpolazione mediante fattorizzione QR applicata alla minimizzazione di Ax b 2 2 con A matrice di Vandermonde che in questo caso risulta quadrata e di rango massimo e b il vettore dei punti di interpolazione. Esercizio 3 Ripetere l esercizio 2 utilizzando le funciton MatLab polyfit. 9 / 21

Richiami di Teoria: Fenomeno di Runge Se si ha una funzione f(x) continua in un intervallo [a, b] ed in tale intervallo si calcolano i poliniomi di interpolazione di grado via via maggiore sembrerebbe naturale aspettarsi che la successione di tali polinomi converga uniformemente ad f(x) in [a, b], ovvero lim n f P n = 0. Nella realtà, per la maggior parte delle funzioni continue, ciò non è vero. Un esempio è fornito dalla funzione di Runge. f(x) = 1 1 + x 2 nell intervallo [ 5, 5]. Come si può verificare (Esercizio 4) il polinomio di interpolazione ha un minimo nel punto medio dell intervallo e delle ampie oscillazioni attorno gli estermi. Pertanto non è consigliabile usare punti equidistanti per interpolare la f(x) in tutto I con polinomi di grado elevato. Altre, scelte di punti, per esempio i nodi di Chebyshev, sono quasi ottimali nel senso che si ha convergenza uniforme per tutte le funzioni di classe C 1 (I) se la successione {P n (x)} di polinomi è costruita su questi nodi. I nodi di Chebyshev-Gauss-Lobatto (scalati) sono definiti nel seguente modo: fissato N, i punti x k (N + 1) sono dati da x k = a + b 2 con a e b estremi dell intervallo. b a 2 cos ( ) kπ N per k = 0,..., N Esercizio 4 1. Si implementi una function che calcola i nodi di Chebyshev per un intervallo qualsiasi. 2. Si implementi poi una function che interpoli polinomialmente una funzione che assume valori y su un vettore di nodi x che vengono forniti in input (utilizzare polyfit). 3. Si testi il codice, producendo dei grafici relativo alla funzionei di Runge nell intervallo [ 5, 5], nel caso di n punti equispaziati (n varia da 6 punti equispaziati a 11 punti equispaziati) e n nodi di Chebyshev; 4. si calcoli gli errori in norma infinito tra la funzione e le interpolanti. 10 / 21

Risultati Figura 8: Punti di Chebichev e punti equispaziati (21 punti). 11 / 21

Figura 9: Interpolazione con 7 punti. Figura 10: Interpolazione con 11 punti. 12 / 21

Figura 11: Interpolazione con 21 punti. 13 / 21

Esercizio 5 Ripetere l esercizio 4 nel caso della funzione di Runge nell intervallo [ 1, 1]. Figura 12: Interpolazione con 21 punti. 14 / 21

Richiami di Teoria: Spline Si è visto che nel caso dell interpolazione polinomiale, dati N +1 punti a = x 0 <... < x N = b, e i valori y 0,..., y N assunti da una funzione y = f(x), esiste uno ed un solo polinomio p N di grado N tale che p N (x i ) = f i, i = 0,..., N. (1) Nel caso di nodi equispaziati x k = a + k (b a), k = 0,..., N; (2) N al crescere di N, non si può garantire (in generale) che f(x) p n (x) tenda a 0 (si ricordi il fenomeno di Runge!). Sorge spontaneo chiedersi se qualora si possegga un gran numero di punti, anche equispaziati, sia possibile calcolare un approssimante di tipo polinomiale per cui al crescere di N si abbia p N f. Una risposta è stata data nel 1946 da Schoenberg, lo scopritore delle splines. Il primo caso è quello delle splines di grado 1, cioè funzioni che in ogni intervallo [x i, x i+1 ] (per i = 0,..., N 1) sono polinomi di grado m = 1 e globalmente funzioni di classe C m 1 = C 0, cioè continue. Il caso generale di splines di grado m risulta più complicato. Un esempio notevole è quello delle splines cubiche s 3, cioè funzioni che in ogni intervallo [x i, x i+1 ] (per i = 0,..., N 1) siano polinomi di grado m = 3 e globalmente funzioni di classe C m 1 = C 2. Osserviamo infatti che in ogni intervallo [x i, x i+1 ] le spline si possano rappresentare come s 3 (x) = c 1,i + c 2,i (x x i ) + c 3,i (x x i ) 2 + c 4,i (x x i ) 3, i = 0,..., N 1 e quindi per determinare s 3 in {x i } i=0,...,n servano 4N valori c i,j. Da ragionamenti sulle proprietà della regolarità della spline interpolante si vede che sono disponibili solo 4N 2 condizioni (di cui N + 1 dal fatto che s 3 (x i ) = f i ). Si procede richiedendo quindi una delle seguenti proprietà aggiuntive a s 3 : ˆ Spline naturale: s (2) 3 (a) = s (2) 3 (b) = 0. ˆ Spline periodica: s (1) 3 (a) = s (1) 3 (b), s (2) 3 (a) = s (2) 3 (b). ˆ Spline vincolata: s (1) 3 (a) = f (1) (a), s (1) 3 (b) = f (1) (b). Per altri tipi di splines come le not a knot o le Hermite si veda la dispensa Appunti di Calcolo Numerico di S. De Marchi, pagg. 142 e seguenti. Esercizio 6 Fissato N = {11, 101} si calcoli l interpolante spline lineare s 1 e cubica s 3 della funzione di Runge nei N nodi equispaziati dell intervallo [ 5, 5]. 15 / 21

Confrontare il valore dell interpolante spline (calcolo dell errore assoluto) con quello della funzione di Runge utilizzando un maggior numero di nodi diciamo 401, questo perchè ricordiamo che l errore di interpolazione è nullo nei nodi di interpolazione. Utilizzare i seguenti comandi MatLab interpr1 e spline rispettivamente per l interpolazione linare e cubica. Risultati 16 / 21

Figura 13: Interpolazione lineare con 11 punti equispaziati e relativo errore. 17 / 21

Figura 14: Interpolazione lineare con 101 punti equispaziati e relativo errore. 18 / 21

Figura 15: Interpolazione cubica con 11 punti equispaziati e relativo errore. 19 / 21

Figura 16: Interpolazione cubica con 101 punti equispaziati e relativo errore. 20 / 21

Esercizio 7 1 Al sito http://antoine.frostburg.edu/chem/senese/javascript/water-density.html viene proposto una pagina web con il calcolo della densità dell acqua. Se si va a vedere i sorgenti della pagina si vede che viene utilizzata l interpolazione polinomia su un insieme di 5 punti centrati nella temperatura in cui si vuole calcolare il valore. Dopo alcune prove si vede che la tabella delle densità varia da 10 [C] a 109 [C] e pertanto il range di validità dell interpolazione, utilizzando la tecnica precedente, va da 8 [C] a 107 [C]. Si vuole confrontare l interpolazione polinomiale basata su 5 punti e spline sul valore 1.4142 [C]. Risultati Figura 17: Andamento della densità Inserisci temperatura da calcolare: 1.4142 rho 0.99992075 [g/cm^3] in T 1.41 [C] (interp. 5 punti) rho 0.99992074 [g/cm^3] in T 1.41 [C] (spline) 1 Facoltativo. 21 / 21