L'interpolation par les splines nécessite l'utilisation de deux fonctions:splin et interp.
La fonction splin s'utilise de la manière suivante:
d=splin(x,f) PARAMETRES: x : vecteur réel f : vecteur réel de meme taille que x
On connaît des points et les points . La fonction splin calcule une fonctions de splines S d'ordre 3 qui interpole f. S est définie par:
La fonction d doit être utilisée en conjonction avec interp. La fonction interp permat en effet d'évaluer la fonction s pour des points donnés. Elle s'utilise de la manière suivante:
[f0 [,f1 [,f2 [,f3]]]]=interp(xd,x,f,d) PARAMETRES xd : vecteur réel x,f,d : vecteurs réels des splines fi : vecteurs (dérivées) DESCRIPTION En donnant trois vecteurs (x,f,d) définissant une fonction spline (voir splin) with fi=S(xi), di = S'(xi), cette fonction évalue S (resp. S', S'', S''') aux points xd(i). x : vecteur de xi (x(1) < x(2) < ...) f : vecteur de S(xi) d : vecteur de S'(xi) f0 : vecteur [S(xd(1),S(xd(2)),S(xd(3)),...] f(1 2 3) : vecteur de la première, deuxièmre, troisième dérivée de S aux points xd=[xd(1),xd(2),...] c'est-à-dire: f1 = [S'(xd(1)),S'(xd(2)),...] f2 = [S''(xd(1)),S''(xd(2)),...]
Considérons l'exemple suivant:
--> x=0:0.5:10;f=sin(x); \\points d'interpolation --> d=splin(x,f); \\définition de S' --> S=interp(0:0.1:10,x,f,d); \\calcul de la fonction d'interpolation S --> plot2d(x',f',-1); \\tracé des points d'interpolation (croix sur le graphe) --> plot2d((0:0.1:10)',S',2,'000') \\tracé de S
On obtient alors le graphe suivant: