Sunteți pe pagina 1din 36

Analyse Numrique

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

Rappels sur les polynmes


Solution au problme dinterpolation est la construction
dun polynme de degr suffisamment lev dont la courbe
passe par les points dinterpolation (nuds).
Il convient de rappeler certains rsultats relatifs aux
polynmes.
Thorme : Un polynme de degr n dont la forme
gnrale est: p
n
(x)= a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
,(a
n
0),
possde trs exactement n racines qui peuvent tre
relles ou complexes conjugues.
6
polynmes.
Corollaire: Par (n+1) nuds (x
i
,f(x
i
)) avec i [0, n], on
ne peut faire correspondre quun et un seul polynme
de degr n.
Schma de HRNER: Principe
Les polynmes sont souvent utiliss cause de leur
rgularit dune part et aussi pour la simplicit relative
du calcule de leur valeur dautre part:
Considrons un polynme dfini par ( )
k
n
p x
a x
=

7
On peut aussi lcrire comme suit:
p(x) = a
0
+ x(a
1
+ x(a
2
+ x(a
3
+ x(+ x(a
n-1
+ x(a
n
))))
Les calculs seront effectus partir de a
n
.
0
Considrons un polynme dfini par ( )
k
k
k
p x
a x
=
=

Schma de HRNER: Algorithme
Lalgorithme sera le suivant
Poser :
A
0
= a
n
A
1
= a
n-1
+ x A
0
A
2
= a
n-2
+ x A
1
.
ou encore:
A = a + x A ,1 k n
8
Poser :
.
.
.
A
n
= a
0
+ x A
n-1
A
k
= a
n-k
+ x A
k-1
avec A
0
= a
n
,1 k n
On obtient la fin A
n
= p(x)
Mthode de Lagrange: Interpolation linaire
Pour dterminer le polynme P
1
(x) = ax + b qui passe par
deux points distincts (x , y ), (x , y ) (x x ). On peut:
On considre deux points (x
0
, y
0
), (x
1
, y
1
) avec :
- x
0
x
1
- y
0
= f(x
0
) et y
1
= f(x
1
)
Rsoudre le systme dquations linaires:
deux points distincts (x
0
, y
0
), (x
1
, y
1
) (x
0
x
1
). On peut:
9
a x
0
+ b = y
0
a x
1
+ b = y
1
, do
1 0
1 0
0 1
1 0
1
1 1 0
y y
a
x x
y y
x x
b a
y
x
x 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

S-ar putea să vă placă și