Академический Документы
Профессиональный Документы
Культура Документы
Hasnaoui
Interpolation polynomiale
I- Introduction
Le problme pos est le suivant:
A partir d'une fonction f(x) connue en (n + 1) points de la forme [(xi, f(xi) avec i = 0, 1, , n],
peut-on construire une approximation de f(x) pour tout x ?
Les points [(xi, f(xi)) avec i = 0, 1, , n] sont appels points de collocation ou points
d'interpolation. Ils peuvent provenir essentiellement de donnes exprimentales ou numriques.
Thorme
Un polynme de degr n de forme gnrale
pn(x) = a0 + a1x + + anxn (an 0)
possde exactement n racines qui peuvent tre relles ou complexes conjugues.
Corollaire
Par (n + 1) points de collocations [(xi, f(xi)) avec i = 0, 1, , n], on ne peut faire passer qu'un
et un seul polynme de degr n.
Dmonstration
Admettons l'existence de deux polynmes de degrs n chacun, nots pn(x) et gn(x), passant par
les (n + 1) points de collocation.
Considrons alors le polynme q(x) = pn(x) - gn(x) qui est au plus de degr n.
On notera que le polynme q(x) vrifie q(xi) = pn(xi) - gn(xi) = f(xi) f(xi) = 0 ; i = 0, 1, ,
n.
=
1 x n x n x n a n f ( x n )
2 n
Li (x i ) 1 i
Li ( x j ) 0 j i
Dans ce cas, le polynme dfini par
n
L ( x ) f ( x i )Li ( x )
i 0
est un polynme de degr n car chacun des polynmes Li ( x ) est de degr n. De plus, le
polynme L ( x ) passe par les (n + 1) points de collocation.
Preuve :
n
L ( x j ) f ( x j )L j ( x j )
i 0 ,i j
f ( x i )Li ( x j ) f ( x j ) j Cest le polynme recherch daprs le
0
thorme de lunicit.
Il reste donc dterminer les polynmes Li ( x ) .
1- Polynme de degr 1
Si lon dispose uniquement de deux points de collocation, ( x 0 , f ( x 0 )) et (x 1 , f (x 1 )) , on doit
construire deux polynmes L0 ( x ) et L1 ( x ) . On montre quils sont dfinis par :
(x x1 ) (x x 0 )
L0 (x) et L1 ( x )
(x 0 x1 ) (x1 x 0 )
2- Polynme de degr 2
La recherche du polynme de degr 2 passant par les 3 points ( x 0 , f ( x 0 )) , (x 1 , f (x 1 )) et
(x 2 , f (x 2 )) , ncessite la construction de 3 fonctions Li ( x ) de degr 2 chacune.
En se basant sur le cas prcdent, on peut dduire facilement que :
( x x 1 )(x x 2 ) ( x x 0 )( x x 2 )
L0 (x) , L1 ( x )
( x 0 x 1 )(x 0 x 2 ) ( x 1 x 0 )( x 1 x 2 )
( x x 0 )( x x 1 )
et L2 (x)
( x 2 x 0 )( x 2 x 1 )
3- Polynme de degr n
On dispose dans ce cas de (n 1) points de collocations et le mme raisonnement peut tre
gnralis pour conduire au rsultat suivant :
( x x 1 )(x x 2 )(x x 3 )...(x x n )
L0 (x) qui est un polynme de degr n.
( x 0 x 1 )(x 0 x 2 )(x 0 x 2 )...(x 0 x n )
Pour L1 ( x ) on aura :
( x x 0 )(x x 2 )(x x 3 )...(x x n )
L1 ( x )
( x 1 x 0 )(x 1 x 2 )(x 1 x 2 )...(x 1 x n )
Thorme
Etant donn (n 1) points dinterpolation [(x i , f (x i )), i 0, 1, ... , n] , lunique polynme
dinterpolation de degr n passant par tous ces points peut scrire :
n
L ( x ) p n ( x ) f ( x i )Li ( x )
i 0
p n (x) a 0 a 1 x ... a n x n (a n 0)
Cependant, dautres critures existent et elles sont plus appropries pour traiter des problmes
dinterpolation. Examinons lcriture suivante :
p n (x) a 0
a 1 (x x 0 )
a 2 (x x 0 )(x x 1 )
a n 1 (x x 0 )(x x1 )...(x x n 2 )
a n (x x 0 )(x x1 )...(x x n 1 )
Le coefficient de an comporte n monmes de la forme ( x x i ) et, par consquent, le polynme
pn(x) est de degr n.
Pour x = x0 :
p n (x 0 ) a 0 f (x 0 )
On doit sassurer ensuite que p n (x 1 ) f (x 1 ) , cest--dire :
p n (x1 ) a 0 a 1 (x1 x 0 ) f (x 0 ) a 1 (x1 x 0 ) f (x1 )
f (x1 ) f (x 0 )
a1
x1 x 0
Dfinition 1
On dfinit les premires diffrences divises de la fonction f(x) par :
f ( x i 1 ) f ( x i )
f [ x i , x i 1 ]
x i 1 x i
Ainsi, suivant cette dfinition, le coefficient a1 peut scrire a 1 f [x 0 , x 1 ] .
Remarque
On peut montrer facilement que le polynme
p1 (x) f (x 0 ) f [x 0 , x1 ](x x 0 )
1
Donc a 2 [f ( x 2 ) f ( x 0 ) f [ x 0 , x 1 ](x 2 x 0 )]
( x 2 x 0 )(x 2 x 1 )
1 f (x 2 ) f (x1 ) f (x1 ) f (x 0 ) (x1 x 0 ) (x x 0 )
a2 [ f [x 0 , x1 ] 2 ]
(x 2 x 0 ) (x 2 x1 ) (x1 x 0 ) (x 2 x1 ) (x 2 x1 )
1
a2 [f [ x 1 , x 2 ] f [ x 0 , x 1 ]]
(x 2 x 0 )
Dfinition 2
Les deuximes diffrences divises de la fonction f(x) sont dfinies partir des premires
diffrences divises par la relation :
f [ x i 1 , x i 2 ] f [ x i , x i 1 ]
f [ x i , x i 1 , x i 2 ]
(x i2 x i )
De mme, les nimes diffrences divises de la fonction f(x) sont dfinies partir des (n-1)
imes diffrences divises de la faon suivante :
f [ x 1 , x 2 ,..., x n ] f [ x 0 , x 1 ,..., x n 1 ]
f [ x 0 , x 1 ,..., x n ]
(x n x 0 )
- Suivant cette notation, on aura a 2 f [x 0 , x1 , x 2 ] qui est une deuxime diffrence divise de f(x).
- Le polynme p 2 (x) f (x 0 ) f [x 0 , x1 ](x x 0 ) f [x 0 , x1 , x 2 ](x x 0 )(x x1 )
p1 (x) f [x 0 , x1 , x 2 ](x x 0 )(x x1 )
passe par les 3 premiers points de collocation. On peut lobtenir simplement par lajout dun
terme de degr 2 au polynme p1(x) dj calcul.
Thorme
Lunique polynme de degr n passant par les (n 1) points de collocation
[(x i , f (x i )), i 0, 1, ... , n] peut scrire selon la formule dinterpolation de Newton :
p n (x) p n 1 (x) a n (x x 0 )(x x1 )...(x x n 1 )
a i f [x 0 , x1 , x 2 ,..., x i ] pour 0 i n
Dmonstration
On raisonne par rcurrence en admettant le rsultat vrai pour les polynmes de degr (n 1)
et montrons quil est vrai pour le polynme de degr n.
Et
Mthodes Numriques - Anne Universitaire 2011-2012 5
Parcours Energtique - Interpolation polynomiale M. Hasnaoui
Lemme
Lunique polynme pn(x) passant par les points [(xi , f(xi )), i = 0,1, , n] scrit :
( x x )p n 1 ( x ) ( x x 0 )q n 1 ( x )
p n (x) n
(x n x 0 )
Preuve du Lemme
( x x )p n 1 ( x ) ( x x 0 )q n 1 ( x )
Il suffit de sassurer que le polynme p n ( x ) n passe par les
(x n x 0 )
points [(x i , f (x i )), i 0, 1, ... , n] et garder en mmoire lunicit du polynme dinterpolation.
On a :
p n (x 0 ) p n 1 (x 0 ) f (x 0 )
p n (x n ) q n 1 (x n ) f (x n )
Cest--dire :
(x n x 0 )
p n ( x ) p n 1 ( x ) [q n 1 ( x ) p n 1 ( x )] (4)
(x n x 0 )
La formule (4) permet aussi de trouver les racines du polynme p n (x) p n 1 (x) qui sont x0,
x1, , xn-1. Ce polynme scrit donc :
p n (x) p n 1 (x) a n (x x 0 )(x x1 )...(x x n 1 )
ce qui achve la dmonstration du Lemme.
Remarque
La manire la plus simple pour dterminer le polynme de Newton consiste construire une
table dite table de diffrences divises.
Construction de la table :
xi f (x i ) f [ x i , x i 1 ] f [ x i , x i 1 , x i 2 ] f [ x i , x i 1 , x i 2 , x i 3 ]
x0 f (x 0 )
f [x 0 , x 1 ]
x1 f (x 1 ) f [x 0 , x 1 , x 2 ]
f [x 1 , x 2 ] f [x 0 , x 1 , x 2 , x 3 ]
x2 f (x 2 ) f [x 1 , x 2 , x 3 ]
f [x 2 , x 3 ]
x3 f (x 3 )
Pour la lecture, on a :
f [x1 , x 2 ] f [x 0 , x1 ]
f [x 0 , x1 , x 2 ]
(x 2 x 0 )
f [x 2 , x 3 ] f [x1 , x 2 ]
f [x1 , x 2 , x 3 ]
(x 3 x1 )
f [x1 , x 2 , x 3 ] f [x 0 , x1 , x 2 ]
f [x 0 , x1 , x 2 , x 3 ]
(x 3 x 0 )
Exercice
Construire la table des diffrences divises pour les points suivants (0, 1), (1, 2), (2, 9) et
(3, 28).
xi f ( xi ) f [ x i , x i 1 ] f [ x i ,..., x i 2 ] f [ x i ,..., x i 3 ]
0 1
1
1 2 3
7 1
2 9 6
19
3 28
Do le polynme de Newton :
p 3 (x) 1 1(x 0) 3(x 1)(x 0) 1(x 2)(x 1)(x 0) 1 x 3
0 1
1
1 2 3
7 1
2 9 6 3/ 5
19 2
3 28 2
13
5 54
Le polynme de degr 4 recherch est :
p 4 ( x ) p 3 ( x ) 3 / 5( x 3)(x 2)(x 1)(x 0)
correction d 'ordre 4
Exercice
Calculer le polynme p3(x) passant par les points de collocation (0, 1), (1, 0), (2, 7) et (3, -26)
en utilisant :
- La matrice de vandermonde.
- Linterpolation de Largrange.
- Le polynme de Newton.
- Conclure.
V- Splines cubiques
Les techniques d'interpolation bases sur les polynmes de Lagrange ou de Newton conduisent
au mme polynme crit diffremment et obtenu par des dmarches diffrentes. Dans la
dmarche de Lagrange, il y a absence de relation simple entre le polynme de Lagrange de
degr n relatif la partition (xi, i = 0, 1, .., n) et celui de degr (n+1) relatif la subdivision (xi,
i = 0, 1, , n, n+1). Numriquement parlant, ceci est un inconvnient auquel l'interpolation de
Newton remdie.
L'utilisation de polynmes de faibles degrs ncessite plusieurs polynmes pour relier tous les
points de collocation. C'est le cas d'interpolation linaire par morceau qui consiste relier
chaque paire de points par un segment de droite; elle porte l'appellation de splines linaires ou
interpolation linaire. Seulement, cette technique d'interpolation ne rpond pas aux souhaits des
designers, des exprimentateurs et des numriciens qui cherchent des profils lisses. La mthode
des splines cubiques n'utilise pas des polynmes de degrs levs et constitue une alternative qui
rpond largement au besoin d'interpolation. Cette technique dinterpolation est trs
recommande et prsente de rels avantages par rapport aux mthodes prcdemment dcrites.
La mthode d'interpolation par splines cubiques consiste utiliser, dans chaque intervalle
[xi-1, xi], un polynme de degr 3 de la forme:
p i (x) ai (x x i1 ) 3 b i (x x i1 ) 2 c i (x x i1 ) d i (i = 1, , n) (1)
La drive premire de p i ( x ) :
p i' (x) 3ai (x x i1 ) 2 2b i (x x i1 ) c i (2)
La drive seconde de p i ( x ) :
p i' ' (x) 6ai (x x i1 ) 2b i (3)
Le problme d'interpolation par splines cubiques revient ainsi dterminer, dans chaque sous
intervalle, des coefficients ai, bi, ci et di et relier les diffrents polynmes de faon que la
courbe soit deux fois diffrentiables.
p i ( x i ) f ( x i ) pour i 1, ... , (n 1)
(2n 2) quations
p i1 ( x i ) f ( x i ) pour i 1, ... , (n 1)
Pour assurer la rgularit de la courbe, on impose l'galit des drives premires et secondes
des polynmes p i ( x ) et p i1 ( x ) aux nuds intrieurs:
p i ( x i ) p i1 ( x i )
' '
pour i 1, ... , (n 1)
'' (2n 2) quations
p i ( x i ) p i1 ( x i ) f i ( x i ) f i
'' '' ''
pour i 1, ... , (n 1)
Pour x = xi-1:
(1) p i (x i1 ) d i p i pour i = 1, 2, , n (5)
(4) M i (x i1 ) M i b i pour i = 1, 2, , n (6)
Pour x = xi:
(4) Mi1 (x i ) M i (x i ) 3ai (x i x i1 ) Mi Mi1
M i 1 M i M Mi
ai i 1 pour i = 1, 2, , n (7)
3( x i x i 1 ) 3h i
avec h i x i x i1
(1) p i1 (x i ) p i1 ai h 3i b i h i2 c i h i d i
M i 1 M i
p i 1 h 3i M i h i2 c i h i p i
3h i
M i 1 M i
p i (x) ( x x i 1 ) 3 M i ( x x i 1 ) 2
3h i
(i = 1, 2, , n) (9)
p p (M i 1 2M i )
[ i 1 i h i ]( x x i 1 ) p i
hi 3
M i 1 M i
p' i ( x ) ( x x i 1 ) 2 2M i ( x x i 1 )
hi
(i = 1, 2, , n) (10)
p p (M i 1 2M i )
[ i 1 i h i ]
hi 3
M i 1 M i
p' ' i ( x ) 2 ( x x i1 ) 2M i (i = 1, 2, , n) (11)
hi
Remarque
Les deux nuds extrmes sont exclus.
Dans l'quation (13), les inconnus sont les Mi. On arrangera l'criture de cette quation sous la
forme:
p Pi 1 p i 1 p i
M i h i 2M i 1 (h i h i 1 ) h i 1M i 2 3[ i 2 ] i 1 (14)
h i 1 hi
[i = 1, 2, , (n 1)]
Pour chaque indice i, l'quation (14) contient trois inconnus. L'expression de i1 peut tre
dduite en comparant les quations (13) et (14).
L'quation (14), est une criture condense d'un systme de (n 1) quations, elle peut tre
rcrite sous la forme matricielle suivante:
M1
2(h 1 h 2 ) M
h 1 h2 0 0 0 0
0 2 2
0 h2 2(h 2 h 3 ) h 3 0 0 0
0 3
0 0 0 0
0 =
0 0
0 0 0
0 0 0 0 0
M
0 2(h n 1 h n ) h n
n n
0 0 0 0 h n 1
M n 1
- Splines naturelles
Ce choix consiste imposer M1 = Mn+1 = 0. On se ramne dans ce cas la rsolution d'un
systme tridiagonal.
2(h 1 h 2 ) h2 0 0 0 0 M 2 2
h2 2(h 2 h 3 ) h 3 0 0 0 M
3 3
0 0 0
=
0 0 0
0 0 0
0 0 0 0 h n 1 2(h n 1 h n ) M n n
- Autre choix
M1 M 2
Choix imposant une courbure constante dans le premier et le dernier intervalles.
M n 1 M n
D'autres choix sont aussi possibles; ils permettent galement de ramener le problme un systme
tridiagonal dont les avantages ne sont plus dmontrer.
But
A partir de donnes exprimentales, numriques ou tabulaires restreintes (nombre rduit de donnes),
on dsire laborer un code numrique qui permet de gnrer un plus grand nombre de points (pour avoir
des courbes rgulires) en utilisant la mthode d'interpolation par splines cubiques.
Formulation
On dispose du tableau suivant montrant des valeurs exprimentales obtenues en mesurant la vitesse (en
km/h) d'un vhicule toutes les 5 secondes:
t (s) 0 5 10 15 20 25 30 35 40 45
v(km/h) 70 75 73 69 70 75 69 72 67 64
1- Montrer que, sur la base des donnes du tableau prcdent, l'interpolation base sur l'utilisation du
polynme Lagrange (ou de Newton) conduirait des erreurs importantes aux temps t = 2.5s et 42.5s.
Justifier votre rponse en dduisant les valeurs de la vitesse partir du polynme de Lagrange de degr
9 (polynme construit partir de 10 points de collocation).
Rappel
La forme gnrale du polynme de Lagrange de degr n est
in
p n (x) f (x i )Li (x)
i 0
o f(xi) est une fonction connue par ses valeurs aux nuds de collocation et nulle part ailleurs et les
polynmes Li(x) sont donns par:
( x x 0 )(x x1 )...(x x i 1 )(x x i 1 )...(x x n )
Li ( x ) (i = 0, 1, , n)
( x i x 0 )(x i x1 )...(x i x i 1 )(x i x i 1 )...(x i x n )
2-Dvelopper un code numrique adquat utilisant la mthode des splines cubiques et gnrer, partir
du tableau prcdent, 100 points ((xj, f(xj), avec j variant de 0 50).
3- Tracer la courbe de la vitesse en fonction du temps.
4- Dduire les valeurs de la vitesse aux temps t = 2.5s et 42.5s.
5- Conclure.