Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli
Approssimazione In molti problemi matematici nasce lesigenza di dover approssimare una funzione f(x), nota analiticamente oppure nota solo in un insieme discreto di punti, con una funzione più semplice, scelta in un insieme opportuno. La costruzione di tale funzione può avvenire secondo due approcci: 1. DATI AFFETTI DA ERRORE : i dati vengono approssimati nel loro insieme migliore approssimazione 2. DATI ESATTI: si cerca una funzione che passi per i valori assegnati interpolazione Classi di funzioni più usate per approssimare ed interpolare Polinomi Funzioni razionali Funzioni trigonometriche Funzioni polinomiali a tratti (funzioni splines)
Migliore approssimazione Dati (x i,f i ), i=1,…,n affetti da errore si cerca una funzione approssimante che si adatti allandamento dei dati Abbiamo bisogno di un criterio che permetta di quantificare la bontà dellapprossimazione Se si approssimano i dati con una retta: approssimazione lineare Se si approssimano i dati con un polinomio di grado m>1 : approssimazione polinomiale di grado m Per determinare il polinomio di grado m che meglio approssima i dati, si determina il polinomio che minimizza la distanza dellapprossimante dai dati (esistono varie distanze in corrispondenti a varie norme) La distanza è calcolata considerando il vettore errore
Criteri possibili per misurare lerrore 1 0 CRITERIO (errore in norma 1) 2 0 CRITERIO (errore in norma infinito) 3 0 CRITERIO (errore in norma 2) Il polinomio di migliore approssimazione (m.a.) ai minimi quadrati è quel polinomio che minimizza lerrore in norma 2.
Polinomio di m.a. ai minimi quadrati Si tratta di minimizzare Derivando rispetto ad a 0, a 1, …, a m ed uguagliando a zero (sistema di equazioni normali) Si ottiene un sistema lineare
Polinomio di m.a. ai minimi quadrati (2) In forma matriciale Ma=f La matrice M risulta Simmetrica per costruzione Invertibile e definita positiva Può essere malcondizionata
Osservazione Aumentando il grado del polinomio possono sorgere problemi dovuti alloscillazione dei polinomi Si ricorre alle funzioni polinomiali a tratti (spline)
Interpolazione Dati (x i,f i ), i=0,…,n con x i є[a,b], (x i sono chiamati punti fondamentali e sono assunti distinti x ix j per i j) ed un insieme φ j (x), j=0,…,n, definite in [a,b] e linearmente indipendenti, si tratta di determinare tali che condizioni di interpolazione La scelta della classe delle funzioni φ j (x) dipende dalle applicazioni ed è molto importante Se si sceglie di utilizzare polinomi allora φ j (x) =x j j=0,…,n,
Interpolazione polinomiale Le condizioni di interpolazione conducono alla risoluzione di un sistema lineare nelle incognite α 0, α 1, …, α n, La matrice M risulta essere non singolare se e solo sex j per i j, essendo TEOREMA: Esiste un unico polinomio di grado massimo n che assume valori f i, i=0,…,n in corrispondenza di (n+1) punti distinti x i, i=0,…,n. Problemi di M: Malcondizionamento Punti quasi coincidenti (aritmetica finita)
Polinomio interpolante nella forma di Lagrange Assegnati (x i,f i ), i=0,…,n, si definiscono le basi di Lagrange, tali che j (x) è un polinomio di grado n e Il polinomio di grado n definito dalle basi di Lagrange coincide con il polinomio interpolante Basi di Lagrange:
Esempio Assegnati i punti (-1,2), (1,1), (2,1), cerchiamo un polinomio del tipo Calcoliamo le funzioni fondamentali di Lagrange: In conclusione: Unicità polinomio interpolante
Errore Si tratta di stimare lerrore commesso nellapprossimazione con il polinomio interpolante fuori dai punti fondamentali
Esempio di Runge Costruiamo il polinomio interpolante su 6 10 e 15 punti equidistanti in [-1,1] Il comportamento del polinomio interpolante peggiora al crescere del grado infatti le derivate di f crescono rapidamente allaumentare di n Se i nodi vengono scelti opportunamente il risultato migliora
Polinomiali a tratti IDEA: usare interpolanti polinomiali di grado basso, spezzando lintervallo in considerazione in tanti sottointervalli ed interpolando in ciascun sottointervallo solo pochi punti. Non è necessario che gli estremi dei sottointervalli coincidano con punti di interpolazione. Se è cosi splines interpolanti nei nodi Caso più semplice lineare a tratti (polinomio di grado 1 in ciascun sottointervallo). A volte funziona meglio del polinomio interpolante!
Funzioni splines Assegnati lintervallo [a,b] ed i nodi a=y 0,…y n =b una funzione spline di grado m e nodi y è una funzione polinomiale a tratti tale che I parametri da determinare sono (m+1) n I vincoli da imporre per la regolarità (nei nodi interni) In totale abbiamo (m+1) n-m(n-1)=n+m (dimensione dello spazio delle splines di grado m, con continuità m-1 definite su n+1 nodi)
B-splines Base stabile per lo spazio delle splines (base usata in tutte le applicazioni industriali) Le funzioni di base possono essere definite per ricorrenza a partire dalla funzione Le B-spline sono funzioni tutte positive: Sono funzioni a supporto compatto: Formano una partizione dellunità
Splines interpolanti nei nodi In generale i nodi della spline possono non coincidere con i punti di interpolazione, se invece coincidono sottoinsieme delle splines interpolanti nei nodi (i.n.). In questo caso le n+1 condizioni di interpolazione riducono il numero dei parametri liberi : n+m-(n+1)=m-1 Tra le splines i.n. le più usate sono quelle cubiche per le quali restano da determinare due condizioni ulteriori. Le scelte più comuni: 1. Spline naturali :s(a)=s(b)=0. 2. Spline periodiche: s(a)=s(b), s(a)=s(b). 3. Spline not a knot (default Matlab): s(t 1 ),s(t n-1 ) є C 3.