Interpolation par B-spline
Les B-splines sont un ensemble pondéré de fonctions basiques pour les splines de polynômes.
• bspline(vx, vy, u, n) : fournit un vecteur
vs, utilisé par
interp, des tableaux imbriqués suivants : un marqueur pour
interp, un tableau dont les colonnes contiennent les coefficients d'une B-spline de degré
n pour les données dans
vx et
vy avec les valeurs de noeud dans
u, et un tableau dont les colonnes contiennent les extrémités des intervalles indiqués par les noeuds.
La fonction
bspline peut créer une spline linéaire, quadratique ou cubique. La spline obtenue est différente de
lspline,
pspline ou
cspline car
bspline joint les segments de polynôme à des noeuds qui peuvent être différents des emplacements des points de données eux-mêmes.
Les fonctions suivantes acceptent les pondérations sur les valeurs réelles, ce qui reflète le niveau d'erreur relatif. L'algorithme du logiciel calcule une chaîne de noeuds en utilisant la méthode statistique de Durbin-Watson afin de décider si les ajustements de spline doivent être acceptés ou rejetés. Ainsi, les B-splines statistiques fournissent un nombre minimum de noeuds afin de refléter l'ensemble des caractéristiques de données.
• Spline2(vx, vy, n, [vw], [u], [level]) : fournit l'ensemble optimal de noeuds de B-spline d'ordre n à interpoler sur les données vx et vy, avec des pondérations facultatives vw, des noeuds voulus facultatifs u et un niveau de rejet facultatif. Le vecteur obtenu devient le second argument de Binterp.
• Binterp(x, b) : fournit une valeur de B-spline interpolée y correspondant à x utilisant le vecteur de sortie, b, de la fonction Spline2, avec les dérivées première, deuxième et troisième.
• DWS(b) : fournit la statistique de Durbin-Watson pour le vecteur de sortie, b, de la fonction Spline2.
L'interpolation par B-spline permet de faire passer une courbe par un ensemble de points en prenant trois points adjacents et en construisant un polynôme de degré n passant par ces points. Les polynômes ainsi formés sont alors assemblés aux noeuds pour former la courbe. Si le nombre de noeuds est inférieur à celui des points de données, mais que vous pouvez établir une approximation raisonnable de y, les B-splines constituent une bonne méthode de compression des données.
Les fonctions de B-spline ci-dessus sont basées sur le logiciel Spline2, développé par B. J. Thijsse et M. A. Hollanders (ce logiciel est référencé sur le site http://dutsm183.stm.tudelft.nl/software/software.dita, et son utilisation est soumise à autorisation).
Arguments
• vx, vy sont des vecteurs réels de valeurs de données de même longueur.
• u est un vecteur réel de noeuds classés par ordre croissant, avec n − 1 moins d'éléments que vx. Les noeuds sont des valeurs dans lesquelles tous les polynômes de B-spline correspondent les uns aux autres, contrairement à d'autres splines dans lesquelles les noeuds doivent valoir x. Le premier élément dans u doit être inférieur ou égal au premier élément dans vx. Le dernier élément dans u doit être supérieur ou égal au dernier élément dans vx.
• n est un entier égal à 1, 2 ou 3, indiquant le degré de chaque correspondance polynomiale linéaire (n = 1), quadratique (n = 2) ou cubique (n = 3) (par morceaux) utilisée dans la B-spline.
• vw est un vecteur facultatif des pondérations de la spline de même longueur que vx et vy.
• level correspond au niveau de rejet, exprimé sous forme de pourcentage entre 0 et 1 (inclus).
• b est un vecteur généré par Spline2.
• x est la valeur de la variable indépendante pour laquelle vous souhaitez évaluer la courbe d'interpolation. Pour obtenir de meilleurs résultats, x doit appartenir à l'intervalle délimité par les valeurs de vx.