100
3 Approximation de fonctions et de données
0
0.5
1
1.5
2
2.5
3
3.5
4
−0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
Figure 3.13. Trajectoire du robot dans le plan xy (Problème 3.4). Les cercles
représentent les points de contrôle par lesquels le robot doit passer au cours
de son déplacement
et
max
x∈I\{x0,...,xn}
|f
(3) (x) − s
(3)
3 (x)| ≤ C 3 Hmax
x∈I
|f
(4) (x)|,
où I = [x 0 , x n ], H = max i=0,...,n−1 (x i+1 − x i ), et C r (pour r = 0, . . . , 3)
est une constante dépendant de r mais pas de H. Il est alors clair que
non seulement f, mais aussi ses dérivées première, seconde et troisième
sont bien approchées par s 3 quand H tend vers 0.
Remarque 3.1 En général, les splines cubiques ne préservent pas la monotonie entre des noeuds voisins. Par exemple, en approchant le premier quart du
cercle unité avec les points (xk = sin(kπ/6), yk = cos(kπ/6)), k = 0, . . . , 3,
on obtient une spline oscillante (voir Figure 3.14). Dans ces cas, d’autres
techniques d’approximation sont mieux adaptées. Par exemple, la commande
pchip de MATLAB calcule l’interpolation d’Hermite cubique par morceaux
pchip
([Atk89]) qui est localement monotone et interpole la fonction ainsi que sa
dérivée aux noeuds {xi, i = 1, . . . , n − 1} (voir Figure 3.14). L’interpolation
d’Hermite est obtenue avec les instructions suivantes :
t = linspace (0 , pi /2 ,4);
x = sin (t );
y = cos (t );
xx = linspace (0 ,1 ,40);
plot (x ,y , ’o ’,xx ,[ pchip (x ,y , xx ); spline (x ,y , xx )])
Voir les Exercices 3.5–3.8.
3.6 La méthode des moindres carrés
Nous avons déjà indiqué qu’augmenter le degré d’un polynôme d’interpolation de Lagrange n’améliore pas toujours l’approximation d’une fonction donnée. Ce problème peut être résolu avec l’interpolation composite
3 Approximation de fonctions et de données
0
0.5
1
1.5
2
2.5
3
3.5
4
−0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
Figure 3.13. Trajectoire du robot dans le plan xy (Problème 3.4). Les cercles
représentent les points de contrôle par lesquels le robot doit passer au cours
de son déplacement
et
max
x∈I\{x0,...,xn}
|f
(3) (x) − s
(3)
3 (x)| ≤ C 3 Hmax
x∈I
|f
(4) (x)|,
où I = [x 0 , x n ], H = max i=0,...,n−1 (x i+1 − x i ), et C r (pour r = 0, . . . , 3)
est une constante dépendant de r mais pas de H. Il est alors clair que
non seulement f, mais aussi ses dérivées première, seconde et troisième
sont bien approchées par s 3 quand H tend vers 0.
Remarque 3.1 En général, les splines cubiques ne préservent pas la monotonie entre des noeuds voisins. Par exemple, en approchant le premier quart du
cercle unité avec les points (xk = sin(kπ/6), yk = cos(kπ/6)), k = 0, . . . , 3,
on obtient une spline oscillante (voir Figure 3.14). Dans ces cas, d’autres
techniques d’approximation sont mieux adaptées. Par exemple, la commande
pchip de MATLAB calcule l’interpolation d’Hermite cubique par morceaux
pchip
([Atk89]) qui est localement monotone et interpole la fonction ainsi que sa
dérivée aux noeuds {xi, i = 1, . . . , n − 1} (voir Figure 3.14). L’interpolation
d’Hermite est obtenue avec les instructions suivantes :
t = linspace (0 , pi /2 ,4);
x = sin (t );
y = cos (t );
xx = linspace (0 ,1 ,40);
plot (x ,y , ’o ’,xx ,[ pchip (x ,y , xx ); spline (x ,y , xx )])
Voir les Exercices 3.5–3.8.
3.6 La méthode des moindres carrés
Nous avons déjà indiqué qu’augmenter le degré d’un polynôme d’interpolation de Lagrange n’améliore pas toujours l’approximation d’une fonction donnée. Ce problème peut être résolu avec l’interpolation composite
