0% ont trouvé ce document utile (0 vote)
510 vues9 pages

Les Splines Cubiques

Transféré par

Nadiaa Adjovi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
510 vues9 pages

Les Splines Cubiques

Transféré par

Nadiaa Adjovi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les splines cubiques

Soit ( x i , yi ), i = 0,1,..., n , n+1 points de collocation. On veut déterminer la

spline cubique interpolant ces points de sorte qu’on impose des valeurs à la
dérivée seconde aux extrémités.

La spline est polynomiale de degré 3 sur tout intervalle  x i , x i +1  ,


i = 0,1,..., n − 1 et est de classe C2 sur  x 0, xn  . Alors, P ' et P '' sont
polynomiaux sur  x i , x i +1  , de degré respectif 2 et 1.

Posons Pi'' ( x i ) = M i pour i = 0,1,..., n − 1 et Pn''−1 ( x n ) = M n ,


On a, en utilisant le fait que P '' coïncide avec un polynôme de degré 1 sur
 x i , x i +1  , :
 
x − x i +1 x − xi
Pi'' ( x ) = M i + M i +1 , i = 0,1,..., n − 1
x i − x i +1 x i +1 − x i
Ainsi,
2 2
M ( x − x i +1 ) M ( x − xi )
Pi' ( x ) = i + i +1 + αi , i = 0,1,..., n − 1
2 x i − x i +1 2 x i +1 − x i
2 2
M ( x − x i +1 ) M ( x − xi )
=− i + i +1 + αi , i = 0,1,..., n − 1
2 hi 2 hi

Et
3 3
M ( x − x i +1 ) M ( x − xi )
Pi ( x ) = − i + i +1
6 hi 6 hi
+ αi ( x − x i ) + βi , i = 0,1,..., n − 1

Mais

hi2
Pi ( x i ) = yi ⇒ βi = yi − M i
6

hi2
Pi ( x i +1 ) = yi +1 ⇒ M i +1 + hi αi + βi = yi +1
6

1
1 hi2 
αi = y − M − β 
 i +1
hi i
6 i
 
1  hi2  hi2 
=  y i +1 − M i +1 −  y − M i  
hi  6  i 6  

h h
αi = f  x i , x i +1  + M i i − M i +1 i
6 6
Alors,
3 3
M ( x − x i +1 ) M ( x − xi )
Pi ( x ) = − i + i +1
6 hi 6 hi
 h h 
+  f  x i , x i +1  + M i i − M i +1 i  ( x − x i )
 6 6 
hi2
+ yi − M i
6

On voit bien que la détermination complète de P revient à la détermination


de M i , i = 1,..., n − 1

Jusque-là, nous avons exploité la continuité de P et P '' . Pour la


détermination des M i , i = 0,1,..., n , utilisons la continuité de P ' .

Pour i = 1,..., n − 1, Pi'−1 ( x i ) = Pi' ( x i )

C’est-à-dire, pour i = 1,..., n − 1 ,


2
M i ( x i − x i −1 ) h h
+ f  x i −1, x i  + M i −1 i −1 − M i i −1
2 hi −1 6 6
2
M ( x − x i +1 ) h h
=− i i + f  x i , xi +1  + M i i − M i +1 i
2 hi 6 6

hi −1 h h h h  h
M i −1 +  i −1 − i −1 + i − i  M i + i M i +1 = f  x i , x i +1  − f  x i −1, x i 
6  2 6 2 6  6

hi −1M i −1 + 2 ( hi −1 + hi ) M i + hiM i +1 = 6 ( f  x i , x i +1  − f  x i −1, x i  )

2
hi −1 hi
M i −1 + 2M i + M = 6 f  x i −1, x i , x i +1 
hi −1 + hi hi −1 + hi i +1

hi hi +1
M i + 2M i +1 + M = 6 f  x i , x i +1, x i +2  , i = 0,..., n − 2
hi + hi +1 hi + hi +1 i +2

Milieu : i = 1,..., n − 3 et extrémité : i = 0, i = n −2

Alors, au milieu, on a
hi hi +1
M i + 2M i +1 + M = 6 f  x i , x i +1, x i +2  , i = 1,..., n − 3
hi + hi +1 hi + hi +1 i +2

Aux extrémités ( i = 0, et i = n − 2 ) , on a

h0 h1
M 0 + 2M1 + M = 6 f  x 0, x1, x 2 
h0 + h1 h0 + h1 2

hn −2 hn −1
M n −2 + 2M n −1 + M = 6 f  x n −2, x n −1, x n 
hn −2 + hn −1 hn −2 + hn −1 n

Dans les deux expressions précédentes, M0 et Mn sont connus et les termes


les comportant peuvent passer au second membre :

h1 h0
2M1 + M 2 = 6 f  x 0, x 1, x 2  − M
h0 + h1 h0 + h1 0

hn −2 hn −1
M n −2 + 2M n −1 = 6 f  x n −2, x n −1, x n  − M
hn −2 + hn −1 hn −2 + hn −1 n

De façon globale, on peut écrire sous forme matricielle, tout le système


d’inconnues M i , i = 1,..., n − 1

3
 h2  
 2 0 ⋯ 0   M1 
 h1 + h2   
   ⋮ 
 h    

  ⋮ 

 1
⋱ ⋱ ⋱ ⋮
 h1 + h2   
   
 0 ⋱ ⋱ ⋱ 0  ⋮ 
   
   
  
  ⋮ 

hn −1
 ⋮ ⋱ ⋱ ⋱  
 hn −2 + hn −1   
   ⋮ 
   
hn −2  
 0 ⋯ 0 2 
 hn −2 + hn −1  M n −1 

 h0 
 6 f  x 0 , x 1, x 2  −
  h + h M0 
 
 0 1 
 
 6 f  
 x1, x 2 , x 3  
 

= ⋮ 
 
 6 f  x n −3 , x n −2 , x n −1  
   
 
 hn 
6f  x n −2 , x n −1, x n  − M 
   h
n −1 + hn
n

Spline et courbes enveloppes

Soit Ai ( x i , yi ), i = 0,1,..., n , n+1 points de collocation. On veut déterminer

pour une épaisseur e donnée, les points Bi ( x i , yi ) et C i ( x i , yi ), i = 0,1,..., n

de sorte que pour k donné avec 0 ≤ k ≤ n , la tangente en Ak ( x k , yk ) à la


spline cubique interpolant les Ai ( x i , yi ), i = 0,1,..., n soit la médiatrice du

segment  BkC k  et que BkC k = 2e . Ainsi, les deux splines interpolant


respectivement les points Bk , k = 0,1,..., n et C k , k = 0,1,..., n sont deux

courbes enveloppes de la spline interpolant Ak , k = 0,1,..., n

4
Bk

Ak

Ck

Détermination des coordonnées de Bk , k = 0,1,..., n et C k , k = 0,1,..., n

On sait que


 A B = A C = A B = A C = e, k = 0,1,..., n − 1
 k k k k n n n n

 yBk − yAk yC − yA
k( k) × Pk' ( x k ) = −1, k = 0,1,..., n − 1
'
 × P x = k k

 x B − x A xC − x A
 k k k k

 y − y yC − yA
 Bn An
× Pn' −1 ( x n ) = n n
× Pn' −1 ( x n ) = −1
 x − x xC − x A
 Bn An n n

Donc

 2 2 2 2
( x B − x A ) + ( yB − yA ) = ( x B − x A ) + ( yB − yA ) = e 2
 k k k k n n n n

 y − y P ' ( x ) = − x − x
 Bk
( Ak ) k k ( Bk Ak )

( yBn − yAn ) Pn −1 ( x n ) = −( x Bn − x An )
'

5
 2 e2
( y − yA ) =
 Bk k
 P ' ( x ) 2 + 1
  k k 

 2
 2 e 2  Pk' ( x k ) 
 
( x Bk − xA
k
) = 2
  P ' ( x ) + 1
  k k 
 y
( Bk − yA ) Pk' ( x k ) = − ( x B − x A
k k k
)

 2 e2
( yB − yA ) =
 n n
 P ' ( x ) 2 + 1
  n −1 n 
 2
 2 e 2  Pn' −1 ( x n ) 
( x − xA ) =  
 Bn n
 P ' ( x ) + 1 2
  n −1 n 

( y − yA ) Pn' −1 ( x n ) = − ( x B − x A )
 Bn n n n

On peut adopter
 ePk' ( x k )
 x = xA +
 Bk
 P ' ( x )2 + 1
k

  k k 
 e
 yB = yA −
 k k
 P ' ( x ) 2 + 1
  k k 

 ePk' ( x k )
 x = xA −
 Ck
 P ' ( x )2 + 1
k
  k k 

 e
 yC k = yA +
 P ' ( x )2 + 1
k

  k k 

Et

6
 ePn' −1 ( x n )
 x = xA +
 Bn
 P ' ( x ) 2 + 1
n
  n −1 n 

 e
 yB = yA −
 n n
 P ' ( x ) 2 + 1
  n −1 n 

 ePn' −1 ( x n )
 x = xA −
 C n
 P ' ( x ) 2 + 1
n
  n −1 n 

 e
 yC n = yA +
 P ' ( x ) 2 + 1
n

  n −1 n 

M h
Pi' ( x i ) = f  x i , x i +1  − i hi − M i +1 i , i = 0,1,..., n − 1
3 6
h h
Pn' −1 ( x n ) = f  x n −1, x n  + n −1 M n + n −1 M n −1
3 6
h h
αn −1 = f  x n −1, x n  + M n −1 n −1 − M n n −1
6 6

7
8
9

Vous aimerez peut-être aussi