Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Mondher FRIKHA
Maitre assistant ISECS
Chapitre 3:
Interpolation polynmiale et
approximation de fonction
Cours rserv aux tudiants de mastre pro. en Informatique Industriel
A.U. 2009-2010
Table de matire du chapitre
1. Introduction
2. Mthodes dinterpolation
Interpolation de Lagrange Interpolation de Lagrange
Interpolation de Newton
Interpolation spline cubique
2
Ce chapitre explique quelques formes dinterpolation
polynmiales usuelles permettant dapproximer des
fonctions partir dun ensemble de points
pralablement connu.
Introduction
But: Par un certain nombre n de points P
i
on veut faire
passer une courbe paramtre rgulire et lisse
Plusieurs choix possibles de familles de courbes
3
Le plus vident, se baser sur des polynmes
Mais il en existe d'autres:
Fonctions trigonomtriques (par dcomposition de
fourier par ex.)
Fonctions puissance, etc...
Introduction
Problmatique: Pouvons nous trouver et comment
dterminer une fonction polynme p de degrs au plus
gal n prenant les mmes valeurs que la fonction f .
Une fonction f est souvent dtermine
exprimentalement et donc par valeurs approches
finies ou par valeurs discrtes notes x
0
, x
1
,,x
n
.
gal n prenant les mmes valeurs que la fonction f .
Si telle fonction p existe, on dira que p interpole f aux
points (ou au nuds ) {x
0
, x
1
,,x
n
}.
4
Un tel outil est crucial puisquil permet de fournir des
valeurs approches de f en des points autres que les
nuds et ainsi de faire des prvisions. Cela permet de
traiter f comme fonction rgulire.
Introduction
Exemples :
Nous abordons dans ce chapitre un nouveau type de
problme, faisant intervenir la notion dapproximation
dune fonction.
1) Daprs la Formule de Taylor lordre 5 de la fonction
sin(x), on a :
Lerreur commise serait de lordre de .
5
3 5 6
6 ( )
(0), sin( ) sin ( )
3! 5! 6!
x x x
x Vois x x + +
6
6 ( )
sin ( )
6!
x
= =
Mthode de Lagrange: Interpolation linaire
Exemple:
Dterminer le polynme dinterpolation p
1
(x) de degr 1
tel que p
1
(x
i
) = f(x
i
), avec y
i
=f(x
i
), i=0, 1 et (x
0
, y
0
)=(0,1),
(x
1
, y
1
)=(2,5),
Daprs la mthode de Lagrange,
p
1
(x) = y
0
L
0
(x) + y
1
L
1
(x)
= y
0
[(x - x
1
)/(x
0
- x
1
)] + y
1
[(x x
0
)/(x
1
x
0
)]
= 1 [(x - 2)/(0 - 2)] + 5[(x 0)/(2 0)]
= 2 x + 1
10
Interpolation parabolique
On considre trois points (x
0
, y
0
), (x
1
, y
1
) et (x
2
, y
2
) avec:
x
0
x1 et x
0
x
2
et x
1
x
2
(x
i
distincts deux deux)
y
0
f(x
0
) et y
1
f(x
1
) et y
2
f(x
2
)
Pour dterminer le polynme p
2
(x) de degr 2, dquation
ax + bx + c qui passe par 3 points distincts, il suffit de
poser:
11
Interpolation parabolique
1 2
0
0 1 0 2
0 2
1
1 0 1 2
0 1
2
2 0 2 1
( ) ( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
x x
x x
x
L
x x x x
x x
x x
x
L
x x x x
x x
x x
x
L
x x x x
=
=
=
Ainsi, p
2
(x) = y
0
L
0
(x) + y
1
L
1
(x) + y
2
L
2
(x) est
le polynme dinterpolation associ.
12
2
2 0 2 1
( ) ( )
0
( )
1
k i
L
x x x x
s i i k
av e c
L x
s i i k
=
=
Interpolation parabolique: Exemple
Dterminer le polynme dinterpolation p
2
(x) de
degr 2 tel que p
2
(x
i
) = f(x
i
), avec y
i
=f(x
i
), i=0, 1 , 2
(x
0
, y
0
)=(0,1), (x
1
, y
1
)=(1,2) et (x
2
, y
2
)=(2,5)
Pour calculer p
2
(x), on na pas utiliser le polynme
p (x) calcul dans lexemple prcdent et pourtant on
13
p
1
(x) calcul dans lexemple prcdent et pourtant on
avait deux points communs.
L
0
(x) = [(x-1)(x-2)]/[(-1)(-2)] = 0.5x - 1.5 x + 1
L
1
(x) = [(x)(x-2)]/[(1)(-1)] = x + 2 x
L
2
(x) = [(x)(x-1)]/[(2)(1)] = 0.5x - 0.5
Do p
2
(x) = y
0
L
0
(x) + y
1
L
1
(x) + y
2
L
2
(x) = x + 1
Interpolation de Lagrange
On choisit n+1 points x
0
, x
1
,, x
n
.
On calcule y
0
= f(x
0
),, y
n
=f(x
n
).
On cherche un polynme de degr n tel que p
n
(x
i
) = y
i
avec i = 0,, n.
On introduit les polynmes lmentaires de Lagrange:
14
avec i = 0,, n.
0 1
0 1
0,
( )...( )...( )
( )
( )...( )...( )
( )
k n
k
k k k k n
n
j
k
j j k
k j
x x x
x x x
x
L
x x x x x x
x x
L x
x x
=
=
=
Interpolation de Lagrange
L
k
(x
i
)=
0 si ik
1 si i = k
Donc
15
est un polynme de degr n qui vrifie bien p
n
(x
i
)=y
i
0
( )
n
k
k
k
x
y
L
=
=
p
n
(x)= y
0
L
0
(x) + y
1
L
1
(x) + + y
n
L
n
(x)
Interpolation polynomiale : Newton
Polynmes de Newton :
base = {1, (x-x
0
), (x-x
0
)(x-x
1
), , (x-x
0
)(x-x
1
)(x-x
n-1
)}
on peut rcrire p
n
(x) : on peut rcrire p
n
(x) :
p
n
(x)=a
0
+ a
1
(x-x
0
) + a
2
(x-x
0
)(x-x
1
)++ a
n
(x-x
0
)(x-x
1
)(x-x
n-1
)
Dterminer les a
k
: mthode des diffrences divises
16
Newton : diffrences divises
Dfinition :
On appelle diffrence divise dordre:
zro la quantit: f[x
0
] = y
0
un la quantit f[x
0
, x
1
] = (f[x
0
] f[x
1
]) / (x
1
x
0
)
dordre k la quantit: dordre k la quantit:
f[x
0
, x
1
,, x
k
] = (f[x
1
,, x
k
] f[x
0
,, x
k-1
] ) / (x
k
x
0
)
On peut montrer que :
a
k
= f[x
0
, x
1
,, x
k
] , k=0, 1, , n, ce qui donne;
p
n
(x)= f[x
0
] + f[x
0
, x
1
] (x-x
0
) + f[x
0
, x
1
, x
2
] (x-x
0
)(x-x
1
) ++
f[x
0
, x
1
,, x
k
] (x-x
0
)(x-x
1
)(x-x
n-1
)
17
Newton : diffrences divises
Remarque
La formule de Newton est dune grande utilit
puisquelle peut se mettre sous une forme rcursive:
p
n+1
(x)= p
n
(x) + f[x , x ,, x ,x ](x-x
0
)(x-x
1
)(x-x
n-1
) (x-x
n
)
18
p
n+1
(x)= p
n
(x) + f[x
0
, x
1
,, x
n
,x
n+1
](x-x
0
)(x-x
1
)(x-x
n-1
) (x-x
n
)
ce ci signifie linterpolant p
n
(x) peut tre construit tape
par tape comme on construit une squence p
0
(x), p
1
(x),
p
2
(x), , avec p
k
(x) obtenu partir p
k-1
(x) par laddition
du terme suivant
Newton : diffrences divises
Thorme :
dtermination des coefficients de p(x) dans la base
de Newton :
f [x
0
, x
1
,, x
k
] = a
k
avec k = 0 n f [x
0
, x
1
,, x
k
] = a
k
avec k = 0 n
19
Newton : diffrences divises
Exemple1
tant donn 3 points {(0,1), (2,5), (4,17)}. Nous allons
dterminer le polynme dinterpolation de Newton de
degr 2 passant par ces points.
x
0
= 0 f[x
0
]= 1
20
x
0
= 0 f[x
0
]= 1
x
1
= 2 f[x
1
]= 5 f[x
0
, x
1
]= (5-1)/(2-0)= 2
x
2
= 4 f[x
2
]= 17 f[x
1
,x
2
]= (17-5)/(4-2)= 6 f[x
0,
x
1
,x
2
]= (6-2)/(4-0)= 1
Par suite P
2
(x) = f[x
0
] + f[x
0
, x
1
]x + f[x
0,
x
1
,x
2
] x(x-2)
= 1 + 2x + x(x-2) = 1 + x
Newton : exemple2
21
Interpolation par splines cubiques
Fonctions splines: Fonctions interpolantes
particulirement adaptes.
Interpolation locale avec des polynmes de bas degr, mais
produisant des interpolations locales rgulires. produisant des interpolations locales rgulires.
Principe: 2 paramtres:
des points x
0
< x
1
< . . . < x
n
.
un degr de rgularit l tel que la spline soit dans
C
l1
[a, b].
22
Interpolation par splines cubiques
En pratique, la spline cubique (qui est C
2
) est trs
utilise.
Problmes ouverts en thorie de linterpolation
spline en plusieurs dimensions
Quelques thmes classiques: proprits doptimalit
23
Quelques thmes classiques: proprits doptimalit
des splines,zros des splines.
Importance des splines en CAO/CAD. Travaux de Paul
de Casteljau (1910-1999) chez Citron et de Pierre
Bzier (1910-1999) chez Renault: design des pices
automobile.
Interpolation par splines cubiques
Principe :
on approche la courbe par morceaux
(localement)
on prend des polynmes de degr faible (3) pour
viter les oscillations: on parle de spline viter les oscillations: on parle de spline
cubique
24
Splines cubiques : dfinition
Dfinition :
On appelle spline cubique dinterpolation une
fonction note g, qui vrifie les proprits suivantes :
g C
2
[a;b] (g est deux fois continment drivable),
g concide sur chaque intervalle [x
i
; x
i+1
] avec un
polynme de degr infrieur ou gal 3, polynme de degr infrieur ou gal 3,
g(x
i
) = y
i
pour i = 0 n
Remarque :
Il faut des conditions supplmentaires pour dfinir la
spline dinterpolation de faon unique
Ex. de conditions supplmentaires :
g"(a) = g"(b) = 0 spline naturelle.
25
Splines cubiques : dtermination
Dtermination de la spline dinterpolation
g concide sur chaque intervalle [x
i
; x
i+1
] avec un
polynme de degr infrieur ou gal 3
g" est de degr 1 et est dtermin par 2 valeurs:
m
i
= g"(x
i
) et m
i+1
= g"(x
i+1
) (moment au noeud ni) m
i
= g"(x
i
) et m
i+1
= g"(x
i+1
) (moment au noeud ni)
Notations :
h
i
= x
i+1
- x
i
pour i = 0 n-1
i
= [x
i
; x
i+1
]
g
i
(x) le polynme de degr 3 qui concide avec g sur
lintervalle
i
26
Splines cubiques : dtermination
g"
i
(x) est linaire :
x
i
on intgre
(a constante)
( )
i
1 i
i
i
i
1 i i
h
x x
m
h
x x
m x g
+
=
+
+
( )
( ) ( )
i
i
2
1 i
i
i
2
i
1 i i
a
h 2
x x
m
h 2
x x
m x g +
+
+
(a
i
constante)
on continue
(b
i
constante)
g
i
(x
i
) = y
i
g
i
(x
i+1
) = y
i+1
( )
( ) ( )
( )
i i i
i
3
1 i
i
i
3
i
1 i i
b x x a
h 6
x x
m
h 6
x x
m x g + +
=
+
+
i
2
i i
i
b
6
h m
y + =
i i i
2
i 1 i
1 i
b h a
6
h m
y + + =
+
+
1
2
27
Splines cubiques : dtermination
g'(x) est continue :
et
on remplace les a dans :
( ) ( )
i 1 i 1 i
1 i
i i
i
i i i
x g a
2
h
m a
2
h
m x g
= + = + =
( ) ( )
i 1 i
i
i 1 i
i
i
m m
6
h
y y
h
1
a =
+ +
3
1 2
3 on remplace les a
i
dans :
Rappel : on cherche les m
i
(n+1 inconnues)
on a seulement n-1 quations grce
il faut rajouter 2 conditions, par exemple
m
0
= m
n
=0 (spline naturelle)
3
( ) ( ) ( )
|
|
\
|
= + + +
+ + 1 i i
1 i
i 1 i
i
1 i i i 1 i i 1 i 1 i
y y
h
1
y y
h
1
6 m h m h h 2 m h 4
4
28
Splines cubiques : dtermination
Ex de rsolution avec h
i
= x
i+1
- x
i
constant :
( ) ( ) ( )
|
|
\
|
= + + +
+ + 1 i i
1 i
i 1 i
i
1 i i i 1 i i 1 i 1 i
y y
h
1
y y
h
1
6 m h m h h 2 m h 4
( )
i 1 i i 1 i
2
1 i i 1 i
f y y 2 y
h
1
m m 4 m = + = + +
+ +
forme matricielle :
Tm=f
T inversible (diagonale strictement dominante)
h
|
|
|
|
|
|
\
|
=
|
|
|
|
|
|
\
|
|
|
|
|
|
|
\
|
1 n
1
1 n
1
f
f
m
m
4 1
1 4 1
1 4 1
0 1 4
29
Erreur dinterpolation polynmiale
Lerreur commise lors dune interpolation est une question
fondamentale en analyse numrique:
elle renseigne priori sur la nature de cette erreur elle renseigne priori sur la nature de cette erreur
elle fournit des informations sur les termes qui y participent
elle permet davoir un ordre de grandeur de lerreur
commise.
30
Erreur dinterpolation polynmiale
Exemple et motivations
Soit la fonction f (t) = 1/t et les trois abscisses x
0
= 1, x
1
= 2,
x
2
= 4. Considrons la fonction d'interpolation g qui passe par
les trois points (x
0
, f (x
0
)), (x
1
, f (x
1
)), (x
2
, f (x
2
));
g est un polynme de degr 2 (dans la figure, le trait continu
reprsente f et le traitill reprsente g) reprsente f et le traitill reprsente g)
31
g est une approximation de f par
un polynme de second ordre
Erreur dinterpolation polynmiale
L'erreur d'approximation est e(t) = g(t) - f (t) dont le
graphique est:
L'erreur d'approximation s'annule aux
abscisses d'interpolation e(x
0
)=0, e(x
1
)= 0,
e(x )= 0.
32
e(x
2
)= 0.
Approximation par interpolation est rserve l'intervalle
[1, 4]. En dehors de cet intervalle, on parle d'extrapolation.
l'extrapolation est dangereuse et doit gnralement tre
vite.
Thorme:
Soit f une fonction de classe C
n+1
dans I et, (x
i
)
i=0,n
(n+1)
points distincts dans I avec x
0
<x
1
<<x
n
. Alors pour tout
x [x
0
,x
n
], il existe = (x) tel que:
Erreur dinterpolation polynmiale
1 1
( ) ( )
( ) ( ) ( )
n n
f f
f x x x x L x
+ +
= =
33
0
( )
n
k
k
k
x
y
L
=
=
p
n
(x)= y
0
L
0
(x) + y
1
L
1
(x) + + y
n
L
n
(x)
0
( )
( )
( )
j n
j
k
j j k
k j
x
x
x x
x
L
=
=
=
1 1
0
( )...( )
( ) ( )
( ) ( ) ( )
( 1)! ( 1)!
n n
n
n
f f
f x x x x L x
p
x x
n n
+ +
= =
+ +
Remarque :
1) Cette formule montre que :
i) lerreur est nulle pour x = x
i
i.e. x est un point
dinterpolation.
Erreur dinterpolation polynmiale
dinterpolation.
ii) lerreur dpend de la fonction considre ( de f
(n+1)
)
et des points dinterpolations (x
i
)
i
.
2) Cette formule derreur permet de trouver des formules
derreur pour lintgration numrique et la
differentiabilit numrique.
Dans le cas de lerreur dinterpolation partir de la
forme de Newton, on a:
f(x) p
n
(x) = L(x). f[ x, x
0
,,x
n
]
Erreur dinterpolation polynmiale
35
Comme on a la mme fonction f selon les points xi pour
i=0,,n, il sagit de deux formes de mme polynme, et
lerreur dinterpolation est la mme, do:
1
0
,..., ]
,
( )
( ) ( ) ( ) ( ). [
( 1)!
n
n
n
x x
x
f
f x x L x L x f
p
n
+
= =
+
Exemple:
Erreur dinterpolation polynmiale
36