Vous êtes sur la page 1sur 11

Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5

Département de Mathématique 1442/1443(2020/2021)


Faculté des Sciences Prof. Naji Yebari


CHAPITRE # 7 
Splines Cubiques
 
objectifs du chapitre: Après avoir étudié ce chapitre, vous devriez
- être capable d’ajuster les données en utilisant une spline cubique.
- pouvoir améliorer l’erreur d’interpolation.

Contents
1 Splines cubiques 1
1.1 Dérivation des splines cubiques . . . . . . . . . . . . . . . . . 2
1.2 Splines naturelles . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Condition du point final: spline complète . . . . . . . . . . . . 5
1.4 Condition du point final: Not-A-Knot . . . . . . . . . . . . . . 6
1.5 Algorithme de spline cubique . . . . . . . . . . . . . . . . . . 7

2 Interpolation du symbole Haram 9

3 Problèmes 10

4 References: 10

1 Splines cubiques
En général, le cas le plus important est les interpolées en splines cubiques .
Ici
[3]
dim S[x0 ,...,xn ] = n + 3
ainsi, deux conditions supplémentaires sont nécessaires pour garantir une
solution unique. Compte tenu de la liste des points ci dessous:
x = a = x0 < x 1 < . . . < x n = b
y = y0 y1 . . . y n

1
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Definition 1.

Une spline cubique S(x) est une fonction définie par morceaux qui
satisfait les conditions suivantes:

1. S(x) = Si (x) est un polynôme cubique sur chaque sous-


intervalle [xi , xi+1 ] pour i = 0, 1, . . . , n − 1.

2. S(xi ) = yi pour i = 0, 1, . . . , n (S interpoler tous les points).

3. S(x), S ′ (x), et S ′′ (x) sont continus sur [a, b] (S est lisse).

Nous écrivons donc les n morceaux polynomiaux cubiques comme

Si (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 ,

pour i = 0, 1, . . . , n − 1, où ai , bi , ci , et di représentent 4n coefficients


inconnus.

1.1 Dérivation des splines cubiques


À l’aide de la définition, déterminons les équations reliant les coefficients et
en tenant compte du nombre d’équations:

• Interpolation et continuité:

Si (xi ) = yi pour i = 0, 1, . . . , n − 1 ⇒ n eqs


Si (xi+1 ) = yi+1 pour i = 0, 1, . . . , n − 1 ⇒ n eqs

(basé sur ces deux, S(x) est continu)


• Continuité de la dérivée:

Si′ (xi+1 ) = Si+1



(xi+1 ) i = 0, 1, . . . , n − 2 ⇒ n − 1 eqs
′′ ′′
Si (xi+1 ) = Si+1 (xi+1 ) i = 0, 1, . . . , n − 2 ⇒ n − 1 eqs

2
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Le nombre total d’équations est de 4n−2, il reste donc encore deux équations
nécessaires. Les expressions des dérivés de Si :

Si (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3
Si′ (x) = bi + 2ci (x − xi ) + 3di (x − xi )2
Si′′ (x) = 2ci + 6di (x − xi )

Pour simplifier, nous introduisons le paramètre hi = xi+1 − xi . Puis les


conditions sur spline peuvent être écrites comme suit:

Si (xi ) = yi pour i = 0, 1, . . . , n − 1
⇒ ai = yi
Si (xi+1 ) = yi+1 for i = 0, 1, . . . , n − 1
⇒ ai + hi bi + hi2 ci + hi3 di = yi+1
′ ′
Si (xi+1 ) = Si+1 (xi+1 ) pour i = 0, 1, . . . , n − 2
⇒ bi + 2hi ci + 3hi2 di − bi+1 = 0
′′ ′′
Si (xi+1 ) = Si+1 (xi+1 ) pour i = 0, 1, . . . , n − 2
⇒ 2ci + 6hi di − 2ci+1 = 0

Les équations en gras ci-dessus peuvent être écrites comme un grand système
linéaire à 4n inconnues
( )T
a0 , b0 , c0 , d0 , a1 , b1 , c1 , d1 , . . . , an−1 , bn−1 , cn−1 , dn−1

Ce système linéaire peut être considérablement simplifié en définissant:


mi
mi = Si′′ (xi ) = 2ci orci =
2
et en considérant les mi comme des inconnues . Alors:

Si′′ (xi+1 ) = Si+1


′′
(xi+1 ) pour i = 0, 1, . . . , n − 2
⇒ 2ci + 6hi di − 2ci+1 = 0
⇒ mi + 6hi di − mi+1 = 0
mi+1 − mi
⇒ di = .
6hi

3
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Si (xi ) = yi and Si (xi+1 ) = yi+1 for i = 0, 1, . . . , n − 2


⇒ yi + hi bi + hi ci + h3i di = yi+2
2

Remplacez ci et di ci-dessus, nous obtenons


hi
bi = yi+1 − yi hi − h2i mi − (mi+1 − mi )
6


Si′ (xi ) = Si+1 (xi+1 ) pour i = 0, 1, . . . , n − 2
⇒ bi + 2hi ci + 3hi di = bi+1
2

Remplacez bi , ci et di ci-dessus et simplifiez:


( )
yi+2 − yi+1 yi+1 − yi
hi mi + 2(hi + hi+1 )mi+1 + hi+1 mi+2 = 6 −
hi+1 hi
Remarque: ce sont des équations linéaires n − 1 pour n + 1 inconnues

(m0 , m1 , m2 , . . . , mn )T

1.2 Splines naturelles


Maintenant, nous allons traiter les deux équations manquantes. Notez que
les conditions sur les dérivées ne sont appliquées qu’à l’intérieur des points,
ce qui suggère d’appliquer des contraintes sur la (les) dérivée (s) à x0 et xn .
Il n’y a pas de choix unique, mais nous adoptons le choix suivant:

• Spline naturelle ou libre (courbure nulle): m0 = 0 and mn = 0. car


pris ensemble donne un (n + 1) × (n + 1) système: AM = 6Y , où
 
1 0 0 ··· ··· 0
 ..
 h0 2(h0 + h1 ) h1 0 .
 
 .. 
 
 0 h1 2(h1 + h2 ) h2 0 . 
 
A=  0 h2 2(h2 + h3 ) h3 
 
 .. .. .. .. 
 . . . . 0 
 
 
 0 hn−2 2(hn−2 + hn−1 ) hn−1 
0 ... 0 0 1

4
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari
 
m0
 
 m1 
 
 m2 
 
M=  .. 
 . 
 
 .. 
 
 . 
mn
 
0
 y2 −y1 y1 −y0 
 − 
 h1
y3 −y2
h0
y2 −y1 
 − 
 h2 h1 
 y4 −y3 y3 −y2 
Y =  − 
 h3 h2 
 .. 
 . 
 
 yn −yn−1 yn−1 −yn−2 
 hn−1 − hn−2 
0

1.3 Condition du point final: spline complète


Pour inclure cette condition supplémentaire, nous devons définir

S0′ (x0 ) = α ⇒ b0 = α
y1 − y0 h0 h0
⇒ α= − m0 − (m1 − m0 )
h0 2 6
( )
y1 − y0
⇒ 2h0 m0 + h0 m1 = 6 −α
h0
and

Sn−1 (xn ) = β ⇒ bn−1 = β
( )
yn − yn−1
⇒ hn−1 mn−1 + 2hn−1 mn = 6 β −
hn−1

5
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Ces deux équations sont placées dans la première / dernière ligne:


 
2h0 h0 0 ··· ··· 0
 ..
 h0 2(h0 + h1 ) h1 0 .
 
 
..
 
 0 h1 2(h1 + h2 ) h2 0 
.
 
A=  0 h2 2(h2 + h3 ) h3 
 
 .. .. .. .. 
 . . . . 0 
 
 
 0 hn−2 2(hn−2 + hn−1 ) hn−1 
0 ... 0 hn−1 2hn−1

1.4 Condition du point final: Not-A-Knot


La spline Not-A-Knot (ou troisième correspondance dérivée):

S0′′′ (x1 ) = S1′′′ (x1 ) and ′′′


Sn−2 ′′′
(xn−1 ) = Sn−1 (xn−1 )

En utilisant
mi+1 − mi
Si′′′ (x) = 6di and di = ,
6hi
ces conditions deviennent

h1 (m1 − m0 ) = h0 (m2 − m1 )

et
hn−1 (mn−1 − mn−2 ) = hn−2 (mn − mn−1 ),
La matrice dans ce cas est
 
−h1 h0 + h1 −h0 ··· ··· 0
 .. 
 h0 2(h0 + h1 ) h1 0 . 
 
 .. 
 
 0 h1 2(h1 + h2 ) h2 0 . 
 
A=  0 h2 2(h2 + h3 ) h3 
 
 .. ... ... ... 
 . 0 
 
 
 0 hn−2 2(hn−2 + hn−1 ) hn−1 
0 ... 0 −hn−1 hn−2 + hn−1 −hn−2

et les premièrs / dernièrs coefficients du second membre (RHS) sont nuls.

6
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

1.5 Algorithme de spline cubique


Dans ce qui suit, nous résumons le calcul ci-dessus. En commençant par un
ensemble de n + 1 points de données

(x0 , y0 ), (x1 , y1 ), (x2 , y2 ), . . . , (xn , yn )

1. Calculer les valeurs hi = xi+1 − xi pour i = 0, 1, 2, . . . , n − 1.

2. Configurer la matrice A et le vecteur de droite Y comme pour la spline


naturelle. Si les conditions complètes ou sans nuds sont utilisées, puis
modifier A et Y de manière appropriée.

3. Résoudre le système linéaire d’ordre (n + 1) × (n + 1) AM = Y pour


les valeurs des dérivées secondes mi .

4. Calculer les coefficients de spline pour i = 0, 1, 2, . . . , n − 1 en utilisant:

ai = y i
yi+1 − yi hi hi
bi = − mi − (mi+1 − mi )
hi 2 6
mi
ci =
2
mi+1 − mi
di =
6hi

5. Sur chaque sous-intervalle xi leqx leqxi+1 , construiser la fonction

gi (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3

7
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

0.8

0.6

0.4

0.2

0
y

−0.2

−0.4

−0.6

−0.8

−1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1


x

Figure 1: Interpolation de spline linéaire


1

0.8

0.6

0.4

0.2

0
y

−0.2

−0.4

−0.6

−0.8

−1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1


x

Figure 2: Interpolation de spline quadratique


1

0.8

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

Figure 3: Interpolation de spline cubique

8
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

2 Interpolation du symbole Haram


Comme application intéressante de l’utilisation des splines, nous interpolons
le cube vert (Dome) en utilisant la spline cubique. Le résultat sont les images
suivantes. (Discussion et démonstration Matlab en classe)!

30

25

20

15

10

−5
−20 0 20 40 60 80 100 120 140

Figure 4: Fonction de symbole de Médine


30

25

20

15

10

−5
−20 0 20 40 60 80 100 120 140

Figure 5: Interpolation spline du symbole de Médine

9
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

3 Problèmes
Problem 1. Compte tenu des données suivantes

x 1 2 3 4 5
y 1 6 3 8 2

Définisser tous les types de conditions de spline cubique associés aux données
ci-dessus.

Problem 2. Compte tenu des données suivantes

x 1 2 3 4 5
y 1 6 3 8 2

Interpoler la courbe (x, y) en utilisant la spline cubique Not-A-Knot.

Problem 3. Étant donné la fonction f (x) = sin(x),

i 1 2 3 4 5
xi 2.8 2.9 3.0 3.1 3.2

1. Interpoler la courbe (xi , f (xi )) en utilisant la spline cubique naturelle .

2. Déterminer une borne de l’erreur.

Problem 4. Étant donné la fonction f (x) = x2 − x,

i 1 2 3 4 5
xi 0.1 0.2 0.4 0.5 0.9

1. Interpoler la courbe (xi , f (xi )) en utilisant la spline cubique (vous devez


remplir les conditions du point final)

2. Déterminer une borne de l’erreur.

4 References:
1. Burden and Faires, 2005,
Numerical Analysis, Eighth Edition, Brooks/Cole Publishing Com-
pany.

10
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Département de Mathématique 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

2. James F. Epperson, 2002,


an Introduction to Numerical Methods and Analysis, John Wiley
N.Y.

3. K. Atkinson, 1989,
An Introduction to Numerical Analysis, John Wiley and Sons, Inc.,
Second Edition.

4. Buchanan and Turner, 1992,


Numerical Methods and Analysis, McGraw-Hill, N.Y.

5. Isaacson and Keller, 1994,


Analysis of Numerical Methods, John Wiley N.Y.

6. L. F. Shampine, R. C. Allen, Jr. and S. Pruess, 1997,


Fundamentals of Numerical Computing, John Wiley and Sons, Inc.,
First Edition.

7. Ralston Anthony, 1996,


A First course in Numerical Analysis, McGraw-Hill, Inc.

11

Vous aimerez peut-être aussi