Qui linterpolazione
con il polinomio
sovrastima la
funzione. La spline
invece offre una
transizione piu
smussata e piu
attendibile
nodo
Spline lineare
Ogni intervallo e connesso con una linea retta
Per ogni intervallo
f ( x ) = f ( x i ) + mi ( x x i )
dove
f ( x i+1 ) f ( x i )
mi =
( x i+1 x i )
Spline quadratica
Nella spline quadratica, ogni intervallo e
rappresentato da un diverso polinomio del secondo
ordine
f ( x ) = ai x + bi x + c i
3 x n incognite da trovare .
Condizioni
1. Le due funzioni adiacenti devono passare per i punti
interni: 2(n-1) equazioni per i=2,n
2
ai1 x i1
+ bi1 x i1 + c i1 = f ( x i1 )
2
ai x i1
+ bi x i1 + c i = f ( x i1 )
a1 x 02 + b1 x 0 + c1 = f ( x 0 )
an x n2 + bn x n + c n = f ( x n )
Condizioni
3. Le derivate prime nei punti interni devono essere
uguali: (n-1) equazioni, per i=2,n
f ( x ) = 2ax + b
4. Il
vincolo mancante e scelto in modo arbitrario: 1
equazione
Condizioni: ricapitolando
1. Le due funzioni adiacenti devono passare per i punti
interni: 2(n-1) equazioni
2. La prima e lultima funzione devono passare per i
punti finali: 2 equazioni
3. Le derivate prime nei punti interni devono essere
uguali: (n-1) equazioni
4. Il vincolo mancante e scelto in modo arbitrario: 1
equazione
Queste 3n equazioni lineari devono essere risolte
simultaneamente (sistema lineare algebrico) per
trovare i 3n coefficienti.
Nota: la continuita della derivata seconda sui nodi non e
garantita!
Spline cubica
Nella spline cubica, ogni intervallo e rappresentato
da un diverso polinomio del terzo ordine
f ( x ) = ai x 3 + bi x 2 + c i x + di
Condizioni
1. Le due funzioni adiacenti devono passare per i punti
interni: 2(n-1) equazioni
2. La prima e lultima funzione devono passare per i
punti finali: 2 equazioni
3. Le derivate prime nei punti interni devono essere
uguali: (n-1) equazioni
4. Le derivate seconde nei punti interni devono essere
uguali: (n-1) equazioni
5. Le derivate seconde nei nodi finali sono assunte nulle
2 equazioni (condizioni arbitrarie dette di spline
naturale)
Queste 4n equazioni lineari devono essere risolte
simultaneamente (sistema lineare algebrico) per
trovare i 4n coefficienti.
Nota: la continuita della derivata terza sui nodi non e
garantita!
Spline cubica
Lalgoritmo della spline cubica deve:
- Controllare che gli (n+1) dati siano in ordine crescente
- Costruire la matrice rappresentativa del sistema lineare
algebrico le cui incognite sono le derivate seconde nei
(n-1) punti interni:
f ( x 0 ) = f ( x n ) = 0
x i1 < x < x i
Dopo di che il valore interpolato in x e ottenuto dalla formula
fi ( x) =
f ( x i1 )
6( x i x i1 )
( xi x)
f ( xi )
6( x i x i1 )
f (x )
f ( x i1 )( x i x i1 )
i1
( x i x ) +
6
( x i x i1 )
f (x )
f
x
x
x
(
)
(
)
i
i
i
i1
( x x i1 )
6
( x i x i1 )
( x x i1)
x xi
x x i1
f i ( x ) = f ( x i1 )
+ f ( xi )
x i1 x i
x i x i1
Integrando due volte, servono due costanti di integrazione: vengono
fissate in modo che f(x) assuma gli opportuni valori a xi-1 e xi. Cosi si
ottiene una relazione complicata, ma con solo 2 incognite!
fi ( x) =
f ( x i1 )
6( x i x i1 )
( xi x)
f ( xi )
6( x i x i1 )
f (x )
f ( x i1 )( x i x i1 )
i1
( x i x ) +
6
( x i x i1 )
f (x )
f
x
x
x
(
)
(
)
i
i
i
i1
( x x i1 )
6
( x i x i1 )
( x x i1)
Matrice tri-diagonale
f1
e2
0
.
.
.
.
g1
f2
e3
.
.
.
.
0
g2
f3
.
.
.
.
.
.
0
.
g3
0
.
.
.
.
0 en2
.
0
.
.
.
.
.
f n2
en1
. f1
c1
. f 2 c 2
. f c 3
3
. . = .
. . .
gn2 f c n2
n2
f n1 f c n1
n1