Théorème
L'ensemble des fonctions splines de degré l sur est un
-espace vectoriel de dimension n + l.
En effet :
Sur [a, x1], s est un polynôme A de degré inférieur ou égal à
l, donc sur [a, x1],
s = A(x) = a0 + a1x + ...alxl et A est une combinaison
linéaire de
1, x,...xl.
Sur [x1, x2], s est un polynôme B de degré inférieur ou égal à
l, donc sur [x1, x2],
s = B(x) = b0 + b1x + ...blxl.
Puisque s admet des dérivées continues jusqu'à l'ordre l - 1 on doit
avoir :
Sur [x2, x3], s est un polynôme C de degré inférieur ou égal à
l, donc sur [x2, x3],
s = C(x) = c0 + c1x + ...clxl.
Puisque s admet des dérivées continues jusqu'à l'ordre l - 1 on doit
avoir :
Interpolation avec des fonctions splines
On peut demander d'interpoler une fonction f sur par une fonction
spline s de degré l,
ce qui va imposer à s de vérifier
s(xk) = yk = f (xk) pour tout
0
k
n. On a donc n + 1 conditions, il reste donc l - 1 degrés de
liberté. On peut donc encore imposer l - 1 conditions supplémentaires qui
seront des conditions sur les derivées de s en a et b.
Il existe alors
trois types d'interpolation (interpolation d'Hermite, interpolation naturelle,
interpolation périodique) qui sont obtenues en rajoutant trois types de
contraintes. On peut montrer que pour chacun de ces types d'interpolation la
solution au problème d'interpolation est unique.
Supposons l impair, l = 2m - 1, il y a donc 2m - 2 degrés de liberté. On rajoute les contraintes suivantes :
Supposons l pair, l = 2m, il y a donc 2m - 1 degrés de liberté. On rajoute les contraintes suivantes :
L'instruction spline calcule une spline naturelle de degré donné passant par des points dont les listes des abscisses par ordre croissant et des ordonnées sont passées en argument. Elle renvoie la fonction spline sous forme d'une liste de polynômes, chaque polynôme étant valide dans un intervalle. On donne dans l'ordre croissant la liste des abscisses, la liste des ordonnées, le nom de variables souhaité pour les polynômes et le degré.
Par exemple, on veut une spline naturelle de degré 3, passant par les points x0 = 0, y0 = 1, x1 = 1, y1 = 3 et x2 = 2, y2 = 0, on tape :
Par exemple, on veut une spline naturelle de degré 4, passant par les points x0 = 0, y0 = 1, x1 = 1, y1 = 3, x2 = 2, y2 = 0 et x3 = 3, y3 = - 1, on tape :
Par exemple, pour avoir l'interpolation naturelle de cos sur
[0,/2, 3
/2], on tape :