Upload
simona-locatelli
View
212
Download
0
Embed Size (px)
Citation preview
due parole sull’interpolazione
Daniele Marini
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
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
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
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)
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.
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
Spline cubiche
• Infine per determinare le funzioni occorre trovare i valori dei coefficienti ck,i, k=1..,N, i=0..3
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
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
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
Approssimazione - spline
• curve di Bezier costruite con funzioni di Bernstein cubiche
• altri metodi: B-spline, interpolazione di Hermite, ...