3.5 Approximation par fonctions splines
97
1. sur chaque I i = [x i , x i+1 ], i = 0, . . . , n − 1, la fonction s 3 est un
polynôme de degré 3 qui interpole les quantités (x j , f(x j )) pour j =
i, i + 1 (s 3 est donc une fonction continue) ;
2. s 3 a des dérivées première et seconde continues aux noeuds intérieurs
x i , i = 1, . . . , n − 1.
Pour déterminer complètement s 3 , il y a 4 conditions par intervalle,
donc un total de 4n équations réparties en :
- n + 1 relations venant de la propriété d’interpolation aux noeuds x i ,
i = 0, . . . , n ;
- n − 1 relations traduisant la continuité du polynôme aux noeuds internes x 1 , . . ., x n−1 ;
- 2(n − 1) relations traduisant la continuité des dérivées première et
seconde aux noeuds internes.
Il manque encore deux relations. On peut par exemple choisir
s
3 (x 0 ) = 0, s
3 (x n ) = 0.
(3.24)
La fonction s 3 ainsi obtenue est appelée spline naturelle d’interpolation
cubique.
En choisissant convenablement les inconnues (voir [QSS07, Section
8.7], pour représenter s 3 , on aboutit à un système (n + 1) × (n + 1)
tridiagonal qu’on peut résoudre en un nombre d’opérations proportionnel
à n (voir Section 5.6) et dont les solutions sont les valeurs s
(x i ), i =
0, . . . , n.
Avec le Programme 3.1, on obtient cette solution en un nombre d’opérations égal à la dimension du système (voir Section 5.6). Les paramètres
d’entrée sont les vecteurs x et y contenant les noeuds et les données à
interpoler, et le vecteur zi contenant les abscisses où on souhaite évaluer
la spline s 3 .
D’autres conditions que (3.24) peuvent être choisies pour fermer le
système ; par exemple, on peut imposer la valeur de la dérivée première
de s 3 aux extrémités x 0 et x n .
Par défaut, le Programme 3.1 calcule la spline d’interpolation cubique naturelle. Les paramètres optionnels type et der (un vecteur à
deux composantes) permettent de choisir d’autres types de splines. Avec
type=0, le Programme 3.1 calcule la spline d’interpolation cubique dont
la dérivée première vaut der(1) en x 0 et der(2) en x n . Avec type=1,
on calcule la spline d’interpolation cubique dont la dérivée seconde vaut
der(1) en x 0 et der(2) en x n .
Précédent

- 109/374

Suivant