Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia...

16
Metodi numerici per l’approssimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli

Transcript of Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia...

Page 1: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Metodi numerici per l’approssimazione

Laboratorio di Metodi Numericia.a. 2009/2010

Prof. Maria Lucia Sampoli

Page 2: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Approssimazione

In molti problemi matematici nasce l’esigenza 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)

Page 3: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Criteri possibili per misurare l’errore

• 10 CRITERIO (errore in norma 1)

• 20 CRITERIO (errore in norma infinito)

• 30 CRITERIO (errore in norma 2)

Il polinomio di migliore approssimazione (m.a.) ai minimi quadrati è quel polinomio che minimizza l’errore in norma 2.

0 1

11

, , ,min

m

n

i ia a ai

E E

0 1, , ,min max

mi ia a aE E

0 1

2 2

21

, , ,min

m

n

i ia a ai

E E

Page 4: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Polinomio di m.a. ai minimi quadrati

Si tratta di minimizzare

Derivando rispetto ad a0, a1, …, am ed uguagliando a zero (sistema di equazioni normali)

Si ottiene un sistema lineare

0 1 0 1

2 20 1 2 0 1

1, , , , , ,min ( ) min ( , , , )

m m

nm

i i i m i ma a a a a ai

f a a x a x a x F a a a

20 1 2

10

20 1 2

11

20 1 2

1

0 2 0

0 2 0

0 2 0

( )

( )

( )

nm

i i i m ii

nm

i i i m i ii

nm m

i i i m i iim

Ff a a x a x a x

a

Ff a a x a x a x x

a

Ff a a x a x a x x

a

Page 5: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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

20 1 2

2 30 1 2

1 2 20 1 2

i

i

i i i

mi i m i

mi i i m i i

m m m m mi i m i

na a x a x a x f

a x a x a x a x f x

a x a x a x a x f x

Page 6: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Osservazione Aumentando il grado del polinomio possono sorgere

problemi dovuti all’oscillazione dei polinomi

Si ricorre alle funzioni polinomiali a tratti (spline)

Page 7: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Interpolazione Dati (xi,fi), i=0,…,n con xi є[a,b], (xi sono chiamati punti

fondamentali e sono assunti distinti xi≠xj 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) =xj j=0,…,n,

0

( ) ( )n

j jj

g x x

0

0( ) ( ) , , ,n

i j j i ij

g x x f i n

0

( ) ( )n

jj n

j

g x x P x

Page 8: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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 se ≠xj per i ≠j, essendo

TEOREMA: Esiste un unico polinomio di grado massimo n che assume valori fi, i=0,…,n in corrispondenza di (n+1) punti distinti xi, i=0,…,n .

Problemi di M:• Malcondizionamento• Punti “quasi coincidenti” (aritmetica finita)

2 20 1 0 2 0 0 0 0 0 0

2 20 1 1 2 1 1 1 1 1 1

2 20 1 2 1

1

1

1

matrice di Vandermonde

n nnn n

n

n nn n n n n n n

x x x f x x x

x x x f x x x

x x x f x x x

M = f M

Page 9: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Polinomio interpolante nella forma di Lagrange

Assegnati (xi,fi), 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:

0 1( ), ( ), , ( )nx x x 1

0( )j i

i jx

i j

0 0 1 10

( ) ( ) ( ) ( ) ( ) ( )n

n i j i j i i i i i n i n ij

P x x f x f x f x f x f f

0 1 1 1

0 1 1 1

1

1

cioe' ,

,

( )( ) ( )( ) ( )( )

( )( ) ( )( ) ( )

( )

( )( )

j j nj

j j j j j j j n

n

ii i j

j n

j ii i j

x x x x x x x x x xx

x x x x x x x x x x

x x

xx x

Page 10: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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

20

( ) ( )n

j jj

P x x f

1 20

0 1 0 2

0 21

1 0 1 2

0 12

2 0 2 1

1 2 11 2

1 1 1 2 6

1 1 11 2

1 1 1 2 2

1 1 11 1

2 1 2 1 3

( )( ) ( )( )( ) ( )( )

( )( ) ( )( )

( )( ) ( )( )( ) ( )( )

( )( ) ( )( )

( )( ) ( )( )( ) ( )(

( )( ) ( )( )

x x x x x xx x x

x x x x

x x x x x xx x x

x x x x

x x x x x xx x x

x x x x

)

22

1 1 1 1 1 41 2 2 1 2 1 1 2 1

6 2 3 6 2 3( ) ( )( ) ( )( ) ( )( )P x x x x x x x x x

Page 11: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Errore Si tratta di stimare l’errore commesso

nell’approssimazione con il polinomio interpolante fuori dai punti fondamentali

10 1

11

1 0 1

11

1

1

1

Se

( )

( )

[ , ]

( , ) ( , ( )) , , ,

( ) ( ) ( ) ,

[ , ]

( ) ( )( ) ] , [

( )!

( ) ( )( ) ( )

( )( ) max ( )

( )!

i i i i

n n i

nn

nn

n

n n

nn

nx a b

x f x f x i n

E x f x P x x x i

f C a b a x x x b

x fE x a b

n

x x x x x x x

b a ME x M f x

n

Page 12: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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 all’aumentare di n

Se i nodi vengono scelti opportunamente il risultato migliora

2

1

1 25( )f x

x

Page 13: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Polinomiali a tratti IDEA: usare interpolanti polinomiali di grado basso, spezzando

l’intervallo 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!

Page 14: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

Funzioni splines Assegnati l’intervallo [a,b] ed i nodi a=y0,…yn=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)

1

1

,

,

( ) [ , ]

( ) [ , ]

m y m i i

mm y

S x P x y y

S x C a b

, ,

( ) ( )( ) ( ) 0, , 1, 1, , 1lim limm y m y

i i

j j

x y x y

S x S x j m i n

Page 15: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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 dell’unità

1,0

1

1, , 1 1, 1

1 1

1 [ , )

0 ,

( ) ( ) ( )

se

sei i

ii i

i i mi m i m i m

i m i i m i

x y yB

x y x y

x y y xB x B x B x

y y y y

, 1( ) 0, ( , )i m i i mB x x y y

, ( ) [ , ]supp i m i i mB x y y

, ( ) 1i mi

B x

Page 16: Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2009/2010 Prof. Maria Lucia Sampoli.

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(t1),s(tn-1) є C3.