12
due parole sull’interpolazione Daniele Marini

Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Embed Size (px)

Citation preview

Page 1: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

due parole sull’interpolazione

Daniele Marini

Page 2: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Due problemi

• trovare una funzione incognita a partire da dati campione– che assuma nei punti campione il valore dato:

interpolazione– che assuma nei punti campione un valore “vicino”:

approssimazione• in questo caso si richiedono anche proprietà di smoothing o

smussatura/lisciatura

Page 3: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Interpolazione di dati

• dati n punti distinti (xi,yi) determinare una funzione f(x) tale che f(xi)=yi

• si possono imporre ulteriori vincoli, ad esempio sulla derivabilità della funzione ai vari ordini e sul valore delle derivate in tutti i punti o nei punti estremi

• se la funzione f è un polinomio di grado k si parla di interpolazione polinomiale; se k=1 si parla di interpolazione lineare

Page 4: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Interpolazione polinomiale

• se il numero di punti è elevato per garantire l’interpolazione bisogna ricorrere a un polinomio di grado elevato (>3) e la funzione interpolante può avere oscillazioni indesiderate

• in questo caso si ricorre a interpolazione a tratti ad esempio con spline cubiche o di terzo grado

Page 5: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Interpolazione a spline cubiche

• dati N punti si scelgono k funzioni Sj polinomiali di terzo grado

• imponendo:– la funzione S0 passa per i punti p0,p1,p2,p3

– la funzione S1 passa per i punti p4,p5,p6,p7

– ...– si impongono condizioni di continuità in p3=p4, p7=p8, ...– si impongono condizioni di continuità sulle derivate prime

e seconde nei punti comuni – si impongono condizioni agli estremi (es. S’0=S’k=0)

Page 6: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Spline cubiche

• Si supponga di avere N punti {xk , yk} k=1..N le cui ascisse siano ordinate in modo crescente, ovvero: x1 < x2 < · · · < xN

• Si voglia quindi costruire la funzione S(x), detta Spline cubica, formata da N − 1 polinomi cubici Sk(x), dove

Sk(x) = ck,0 +ck,1(x − xk) +ck,2(x − xk)2 +ck,3 (x − xk)3

per xk ≤ xk+1 e k = 1, 2, . . . , N − 1.

Page 7: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Spline cubiche• Allora la S(x) avrà la forma:

• Dovranno quindi essere soddisfatte le condizioni:

1. S (xk) = yk k = 1, 2, . . . , N

2. Sk −1 (xk) = Sk (xk) k = 2, 3, . . . , N − 1

3. S′ k −1 (xk) = S′ k (xk) k = 2, 3, . . . , N − 1

4. S′′ k-1(xk) = S ′′k (xk) k = 2, 3, . . . , N − 1

Page 8: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Spline cubiche

• Infine per determinare le funzioni occorre trovare i valori dei coefficienti ck,i, k=1..,N, i=0..3

Page 9: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Interpolazione lineare

• dati due punti (x1,y1) (x2,y2) si ricava l’equazione della retta passante per essi:

• dati n punti si ricorre all’interpolazione lineare a tratti: ogni coppia di punti è interpolata da un segmento di retta, la funzione interpolante non è continua alle derivate (è una spezzata)

y =y2 − y1

x2 − x1

x

Page 10: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Approssimazione

• si richiede che la funzione incognita passi vicino ai punti campione

• occorre rendere minima una qualche distanza (norma)– si definisce un residuo: ri=(yi-f(xi))

– si definisce una norma, ad esempio quadratica:2/1

2⎟⎠

⎞⎜⎝

⎛= ∑

iirr

Page 11: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Approssimazione -minimi quadrati

• supponendo che la funzione approssimante sia un polinomio di grado n-1:

• occorre rendere minima la norma:

f (x) = c1 + c2x + ...+ cn−1xn−1

( )21121 )...(∑ −

−+++−i

ninii xcxccy

Page 12: Due parole sullinterpolazione Daniele Marini. Due problemi trovare una funzione incognita a partire da dati campione –che assuma nei punti campione il

Approssimazione - spline

• curve di Bezier costruite con funzioni di Bernstein cubiche

• altri metodi: B-spline, interpolazione di Hermite, ...