• Non ci sono risultati.

Approssimazione con le splines

N/A
N/A
Protected

Academic year: 2021

Condividi "Approssimazione con le splines"

Copied!
14
0
0

Testo completo

(1)

Approssimazione con le splines

(2)

splines

Dato l’intervallo [a, b], si consideri una successione finita di numeri reali (nodi) appartenenti all’intervallo, tali che

a = x 0 < x 1 < x 2 < · · · < x m+1 = b

Si individua in tal modo una partizione dell’intervallo [a, b] in

m + 1 sottointervalli I i = [x i , x i+1 ], i = 0, . . . , m.

(3)

Polinomi a pezzi

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4

−1

−0.5 0 0.5 1 1.5 2 2.5 3

Figure: Polinomi a pezzi di grado 2

(4)

Splines

Definizione

Si dice funzione spline di grado n o di ordine n + 1 relativa alla partizione {x i } m+1 i=0 di [a, b], una funzione s(x ) che soddisfa le seguenti due propriet `a:

1

s(x ) `e un polinomio s i (x ) di grado non superiore a n in ciascun sottointervallo I i della partizione, (i = 0, . . . , m)

2

s(x ) ∈ C n−1 ([a, b]), ossia la funzione e le sue derivate fino all’ordine n − 1 sono continue sull’intervallo [a, b]; ci `o significa che per ogni nodo interno alla partizione valgono le seguenti condizioni

s i (k ) (x i+1 ) = s i+1 (k ) (x i+1 ), i = 0, . . . , m − 1, k = 0, 1, .., n − 1

(5)

Splines

In altre parole, una spline s(x ) entro ciascun intervallo I i `e un polinomio di grado al pi `u n che in ogni punto interno

all’intervallo `e C e agli estremi coincide con il polinomio

relativo all’intervallo precedente (se esiste) e con quello

dell’intervallo successivo (se esiste) fino alla derivata

(n − 1)−esima.

(6)

Splines

0 0.5 1 1.5 2 2.5 3 3.5 4

0.5 1 1.5 2 2.5 3

Figure: Spline di grado 1

(7)

Splines

0 0.5 1 1.5 2 2.5 3 3.5 4

0 0.5 1 1.5 2 2.5 3 3.5

Figure: Spline di grado 3

(8)

Spline interpolante

Dati i punti

(x i , y i ), i = 0, . . . , m + 1 Vogliamo trovare una spline di grado n tale che

s(x i ) = y i (1)

La partizione con cui definisco la spline coincide

con le ascisse x i .

(9)

Spline interpolante

Generalmente si usano le spline di grado 3.

Esse hanno la seguente propriet `a:

Tra tutte le funzioni f (x ) ∈ C 2 [a, b] che soddisfano le condizioni di interpolazione (1) e le condizioni agli estremi scelte, le spline cubiche corrispondenti sono le sole funzioni che minimizzano l’integrale

E (f ) = Z b

a

[f

00

(x )] 2 dx

E (f ) rappresenta una misura approssimata della curvatura totale di f in [a, b].

Quindi la spline cubica `e tra tutte le funzioni che passano

per i dati assegnati quella che ha la curvatura media

inferiore ed `e la pi `u liscia.

(10)

Spline interpolante

0 0.5 1 1.5 2 2.5 3 3.5 4

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Figure: Spline interpolante di grado 3 (blu) e polinomio interpolante

(verde)

(11)

Comandi di Matlab

x=ascisse dei punti da interpolare y=ordinate dei punti da interpolare

xx=vettore di ascisse in cui valutare la spline interpolante

yy=spline(x,y,xx)

restituisce i valori della spline cubica interpolante (x,y) in xx

calcolata con le condizioni agli estremi not a knot (nel secondo

e penultimo nodo si impone la continuita‘ della derivata terza)

(12)

Alcuni comandi del Toolbox splines

csapi spline cubica interpolante con condizioni not-a-knot PP = csapi(x,y)

restituisce la spline cubica interpolante nella ppform

Per ottenere i valori della spline nei punti del vettore xx si usa il comando fnval

yy=fnval(PP,xx)

Perche’ usare csapi al posto di spline? Perch `e mi fornisce in PP i vari pezzi di polinomi che formano la spline...utile perche’

posso manipolarli calcolando derivate, integrali:

dpp=fnder(PP)

(13)

Alcuni comandi del Toolbox splines

csape fornisce la spline cubica s(x ) interpolante nella ppform con condizioni agli estremi dell’intervallo [a, b] specificate dall’utente

pp=csape(x,y,’v’)

restituisce la spline naturale s 00 (a) = s 00 (b) = 0 pp=csape(x,y,’p’)

restituisce la spline periodica s 0 (a) = s 0 (b), s 00 (a) = s 00 (b)

pp=csape(x,[y’(a) y y’(b)],’clamped’)

restituisce la spline completa s 0 (a) = y 0 (a), s 0 (b) = y 0 (b).

(14)

Spline ai minimi quadrati

spap2 costruisce la spline di ordine k (espressa in termini della base B-spline associata a una data partizione) secondo il criterio dei minimi quadrati

x , y dati, k = ordine (grado+1) knots=nodi della partizione che definiscono lo spazio delle spline che si vuole usare.

sp = spap2(knots,k,x,y)

Esiste un’unica soluzione se la partizione e’ tale da soddisfare la condizione di Whitney-Schomberg

Si pu `o anche usare sp = spap2(n,k,x,y)

dove n indica il numero di pezzi da cui deve essere costituita la spline ai minimi quadrati.

Problema: scelta dei nodi della partizione

Per valutare la spline in xx si usa sempre fnval

Riferimenti

Documenti correlati

[r]

Una scatola contiene un numero di palline rosse, nere e blu pari rispettivamente a :..  Giorno

Tutte le risposte vanno opportunamente motivate, pena la loro esclusione dalla valutazione.. Risolvi le seguenti equazioni esponenziali

Calcolare quindi l'errore relativo nel punto x = 1/2 e determinare il valore di a anchè questo sia

[r]

Per verificarlo, basta ad esempio applicare ad f l’operatore di Reynolds e constatare che si

Utilizzando le due function precedenti, costruire una function che cal- coli il valori che la spline cubica naturale S 3 (x) interpolante assume in un insieme di punti.. Stampare

1) Individuare dominio e insieme immagine delle funzioni elementari viste ad esercitazione e dire se sono monotone (crescenti o decrescenti) sul loro dominio, se sono