# Spline quadratica

In analisi numerica una spline è una funzione costituita da un insieme di polinomi ed interpolante un insieme di punti, i nodi della spline. Scopo della spline interpolante è raccordare tali punti in modo continuo fino a un dato ordine di derivate. Ossia, in altre parole, approssimare la funzione continua passante per i suddetti punti. Ad esempio, per raggiungere maggior precisione, l'insieme di punti viene suddiviso in intervalli, e ogni intervallo viene approssimato da un polinomio: maggiore sarà il numero degli intervalli, più "precisa" sarà la curva interpolante. La spline quadratica interpola intervalli di punti con polinomi di secondo grado (per questo è detta quadratica).
Per le suddette ragioni può essere chiamata spline di grado due.

## Interpolazione con spline quadratica

Dato un insieme di punti, lo stesso può essere interpolato in modi diversi: in modo lineare, con l'interpolazione di Lagrange, via spline o con funzione a tratti (quadratica, cubica, e così via...). Fra le opzioni per le spline, c'è quella con spline quadratica che come detto mira a costruire polinomi di secondo grado negli intervalli fra i punti. Un esempio di insieme di punti potrebbe essere il seguente:
| x$_i$ | 0 | 1/6 | 1/2 | 5/6 | 1 |
| y$_i$ | 1 | 3 | 1 | 2 | 1 |
Se lo scopo è approssimare la funzione continua che li unisce facendolo con una spline quadratica, allora vorrò costruire su ciascun tratto (intervallo) una funzione di secondo grado che sia in qualche modo raccordata, con quella successiva, nel punto che separa i due intervalli. Il raccordo potrò imporlo tramite derivate e sarà l'ultimo passo, mentre la spline la si definirà generalmente in questo modo:
$S_{2}(x){\begin{cases}S_{2}^{1}(x)=a_{0}^{(1)}+a_{1}^{(1)}(x-x_{0})+a_{2}^{(1)}(x-x_{0})^{2}\qquad x_{0}\leq x\leq x_{1}\\S_{2}^{2}(x)=a_{0}^{(2)}+a_{1}^{(2)}(x-x_{1})+a_{2}^{(2)}(x-x_{1})^{2}\qquad x_{1}\leq x\leq x_{2}\\\cdots \\S_{2}^{n}(x)=a_{0}^{(n)}+a_{1}^{(n)}(x-x_{n})+a_{2}^{(n)}(x-x_{n})^{2}\qquad x_{n-1}\leq x\leq x_{n}\end{cases}}$
Dove $S_{2}(x)$ sta proprio per spline di secondo grado. Ad esempio per i dati di cui sopra si ha x$_0$=0 e x$_n$=1. È sufficiente inserire i dati e fare i calcoli per ottenere le n funzioni $S_{2}^{\,i}$ per ognuno degli $i=1,2\ldots n$ intervalli (n è 4 nell'esempio).
Per imporre che siano interpolanti, dovrò poi porre le ovvie condizioni sulle $y_{i}$ per ognuna delle funzioni facenti parte la spline:
${\begin{cases}S_{2}^{1}(x_{0})=y_{0}\ ,\ S_{2}^{1}(x_{1})=y_{1}\\S_{2}^{2}(x_{1})=y_{1}\ ,\ S_{2}^{2}(x_{2})=y_{2}\\\cdots \\S_{2}^{n}(x_{n-1})=y_{n-1}\ ,\ S_{2}^{n}(x_{n})=y_{n}\end{cases}}$
E infine come promesso il raccordo in modo continuo, sfruttando le derivate:
$S_{2}^{\ '(1)}(x_{1})=S_{2}^{\ '(2)}(x_{1})\,;\quad S_{2}^{\ '(2)}(x_{2})=S_{2}^{\ '(3)}(x_{2});\quad \ldots \quad S_{2}^{\ '({n-1})}(x_{n-1})=S_{2}^{\ '(n)}(x_{n-1});$
Ove $S_{2}^{\ '(i)}$ è la derivata prima di $S_{2}^{\ i}$ . Questo ultimo passaggio è svolto nei soli punti di raccordo fra i vari intervalli così da avere una funzione interpolante "liscia" per l'intuitivo significato di derivata.

## Ulteriori vincoli

Al posto del passaggio per date $y_{i}$ possono essere assegnati vincoli diversi, come la condizione di un dato valore della derivata in un certo $y_{i}$, ma il procedimento non cambia.