Sunteți pe pagina 1din 64

Analyse numrique :

Approximation de fonctions
Pagora 1A
Chapitre 3

29 janvier - 1er fvrier 2013

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

1 / 64

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

2 / 64

Introduction

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

3 / 64

Introduction

Description du problme

On cherche calculer les valeurs dune fonction f (x) pour toutes


valeurs de x mais on ne connat pas explicitement f . Par exemple,
f nest connue quen certains points x exprimentaux.
f est calcule par un code numrique trs coteux.

On remplace f par une fonction simple dont lvaluation est aise (ex :
utilisation de polynmes, fonctions rationnelles, ...)
2 grandes familles dapproches.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

4 / 64

Introduction

Mthode des moindres carrs

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

5 / 64

Introduction

Interpolation polynmiale

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

6 / 64

Mthode des moindres carrs

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

7 / 64

Mthode des moindres carrs

Description du problme
De quoi dispose t-on ?
Ensemble de donnes : n points (xi , yi ), i = 1, . . . , n
Fonction modle : f (x, ) avec vecteur contenant m paramtres

Objectif : ajuster les paramtres pour que f (x, ) approche au


mieux les donnes (xi , yi ).
Comment faire ? En trouvant les paramtres minimisant
S() =

n
X

(yi f (xi , ))2

i=1

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

8 / 64

Mthode des moindres carrs

Rappel
La drive permet de connatre les variations dune fonction (croissance,
dcroissance, ...). En particulier, si la drive est nulle en un point, la
tangente est horizontale en ce point et donc la fonction ne croit ni ne
dcroit (minimum ou maximum).

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

9 / 64

Mthode des moindres carrs

Exercice introductif

On dispose de n points (xi , yi ), i = 1, . . . , n et on suppose que la fonction


modle est de la forme
f (x, 0 ) = 0
Trouver 0 minimisant
S(0 ) =

n
X

(yi f (xi , 0 ))2

i=1

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

10 / 64

Mthode des moindres carrs

Exercice introductif (correction)


Trouver 0 minimisant
S(0 ) =

n
X

(yi 0 )2

i=1

Pour cela, on calcule la drive de S


0

S (0 ) = 2

n
X

(yi 0 )

i=1

et on rsout S 0 (0 ) = 0 do
n

1X
yi
0 =
n
i=1

cest dire la moyenne des yi .


Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

11 / 64

Mthode des moindres carrs

Mthode gnrale

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

12 / 64

Mthode des moindres carrs

Mthode gnrale

Rsoudre le problme gnral


La fonction modle f (x, ) se rgle par m paramtres 1 , . . . , m contenus
dans le vecteur .
Le minimum dune somme de carrs
S() =

n
X

(yi f (xi , ))2

i=1

se trouve en cherchant o le gradient de S vaut 0 soit


n

X
S()
f (xi , )
= 2
(yi f (xi , ))
=0
k
k

k = 1, . . . , m

i=1

= un systme m quations non-linaires rsoudre.


= rarement de solutions analytiques.
= mthodes numriques (ex : adaptation mthode du point fixe pour m
variables cherches).
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

13 / 64

Mthode des moindres carrs

Rgression linaire

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

14 / 64

Mthode des moindres carrs

Rgression linaire

Rgression linaire
La fonction modle est de la forme
f (x, a, b) = ax + b

On cherche le minimum de
S(a, b) =

n
X

(yi axi b)2

i=1
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

15 / 64

Mthode des moindres carrs

Rgression linaire

Recherche du minimum
Le minimum de S est atteint pour (a, b) solution du systme suivant :

n
X

=
2
xi (yi axi b) = 0

a
i=1

n
X

(yi axi b)

= 0

i=1

On note x et y les moyennes des valeurs xi et yi :


n

1X
x=
xi
n
i=1

Analyse numrique (Pagora 1A)

1X
y=
yi
n

Approximation de fonctions

i=1

29/01/13 - 1/02/13

16 / 64

Mthode des moindres carrs

Rgression linaire

Exercice
Exprimer b en fonction de a, x, y puis exprimer a.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

17 / 64

Mthode des moindres carrs

Rgression linaire

Exercice (correction)
b = y ax
Le systme est maintenant
Pn

i=1 xi [(yi y ) a(xi x)] = 0

Pn

i=1 [(yi

y ) a(xi x)]

= 0

Si on multiplie la ligne 2 par x puis on la soustraie la premire, on obtient


n
X
(xi x) [(yi y ) a(xi x)] = 0
i=1
n
X

a=

(xi x) (yi y )

i=1
n
X
i=1

Analyse numrique (Pagora 1A)

n
X

=
2

(xi x)

xi yi x y

i=1
n
X

xi2 x 2

i=1
Approximation de fonctions

29/01/13 - 1/02/13

18 / 64

Mthode des moindres carrs

Moindres carrs linaires

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

19 / 64

Mthode des moindres carrs

Moindres carrs linaires

Moindres carrs linaires : gnralisation rgression linaire


On suppose maintenant que la fonction modle est de la forme :
m
X
f (x, ) =
k k (x)
k=1

On cherche pour obtenir le minimum de S atteint lorsque


n
X
S()
f (xi , )
= 2
(yi f (xi , ))
=0
k = 1, . . . , m
k
k
i=1

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

20 / 64

Mthode des moindres carrs

Moindres carrs linaires

Cration dun systme linaire rsoudre


On a pour i = 1, . . . , n et k = 1, . . . , m :
Xik =
Posons la matrice et

X11 X12
X21 X22

X= .
..
..
.

f (xi , )
= k (xi )
k

les vecteurs

Xn1 Xn2

. . . X1m
. . . X2m
..
..
.
.
. . . Xnm

1
2
..
.
m

y=

y1
y2
..
.

yn

On a minimum de S si solution du systme




Analyse numrique (Pagora 1A)


XT X = XT y

Approximation de fonctions

29/01/13 - 1/02/13

21 / 64

Mthode des moindres carrs

Moindres carrs linaires

Exercice

tablir le systme XT X = XT y.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

22 / 64

Mthode des moindres carrs

Moindres carrs linaires

Exercice (correction)

tablir le systme XT X = XT y.
Le minimum de S est atteint pour

n
m
X
X
Xik yi
j Xij = 0
i=1

k = 1, . . . , m

j=1

Do
n
X
i=1

Xik yi =

n
X

Xik

i=1

m
X

j Xij =

j=1

m
X
j=1

n
X

!
Xik Xij

k = 1, . . . , m

i=1

Et sous forme matricielle,




Analyse numrique (Pagora 1A)


XT X = XT y

Approximation de fonctions

29/01/13 - 1/02/13

23 / 64

Mthode des moindres carrs

Prise en compte des statistiques derreur

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

24 / 64

Mthode des moindres carrs

Prise en compte des statistiques derreur

Mesures exprimentales
En gnral, les mesures faites sur yi sont entches derreur. Notons i une
estimation de lcart-type du bruit qui affecte chaque mesure.
Exemple : On cherche dterminer la valeur de la rsistance R du
composant lectronique resistance.

Pour cela, on prescrit diffrentes intensits i (nos xi ) la rsistance et on


mesure la tension U par un voltmtre. La loi dOhm nous dit que U = Ri.
Les mesures de tension (nos yi ) sont entches derreur du fait de la
prcision du voltmtre (on a par exemple i = 0.05V ).
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

25 / 64

Mthode des moindres carrs

Prise en compte des statistiques derreur

Prise en compte des incertitudes

Au lieu de chercher minimiser la quantit


S() =

n
X

(yi f (xi , ))2

i=1

on va chercher minimiser

n 
n
X
yi f (xi , ) 2 X
=
wi (yi f (xi , ))2
2 () =
i
i=1

Analyse numrique (Pagora 1A)

i=1

Approximation de fonctions

29/01/13 - 1/02/13

26 / 64

Mthode des moindres carrs

Prise en compte des statistiques derreur

Exercice

On dispose de n points (xi , yi ), i = 1, . . . , n et on suppose que la fonction


modle est de la forme
f (x, 0 ) = 0
Chaque mesure yi est entche dune erreur dont lcart-type est estim
i = 1wi .
Trouver 0 minimisant
2 (0 ) =

n
X

wi (yi f (xi , 0 ))2

i=1

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

27 / 64

Mthode des moindres carrs

Prise en compte des statistiques derreur

Exercice (correction)
Trouver 0 minimisant
2

(0 ) =

n
X

wi (yi f (xi , 0 ))2

i=1

La drive vaut
0

2 (0 ) = 2

n
X

wi (yi 0 )

i=1

et on rsout

0
2 (

0)

= 0, do
n
X

0 =

wi yi

i=1
n
X

wi

i=1

moyenne pondre des yi .


Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

28 / 64

Interpolation polynmiale

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

29 / 64

Interpolation polynmiale

Introduction : interpolation linaire par morceaux


Exercice : on dispose de n + 1 points (xi , yi ), i = 0, . . . , n. On suppose
x0 < x1 < xn . On construit f fonction dinterpolation entre x0 et xn tel que
les points (xi , yi ) soient relis entre eux par des droites. Exprimer f

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

30 / 64

Interpolation polynmiale

Interpolation linaire par morceaux (correction)

Exercice : on dispose de n + 1 points (xi , yi ), i = 0, . . . , n. On suppose


x0 < x1 < xn . On construit f fonction dinterpolation entre x0 et xn tel que
les points (xi , yi ) soient relis entre eux par des droites. Exprimer f

f (x) =

yi+1 yi
(x xi ) + yi
xi+1 xi

Analyse numrique (Pagora 1A)

sur x [xi , xi+1 ]

Approximation de fonctions

29/01/13 - 1/02/13

31 / 64

Interpolation polynmiale

Thorie

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

32 / 64

Interpolation polynmiale

Thorie

Rgularit dune fonction

Dans la nature, la plupart des fonctions rencontres sont trs


rgulires.
On peut mesurer la rgularit dune fonction par le biais de ses
drives. Plus une fonction est diffrentiable, plus la courbe qui lui est
associe est lisse.
Le problme de linterpolation linaire par morceaux est que la
fonction dinterpolation est continue mais nest pas drivable.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

33 / 64

Interpolation polynmiale

Thorie

Interpolation polynmiale
Ide (simple) : Trouver un polynme P(x) passant par tous les points
donns (xi , yi ) donc tel que
P(xi ) = yi

i = 0, . . . , n

Degr dun polynme : P est un polynme de degr k si


P(x) = a0 + a1 x + . . . + ak x k

avec

ak 6= 0

Existence et unicit de P :
si k < n, en gnral pas de solution (moindres carrs)
si k > n, infinit de solutions
si k = n, solution unique (sous certaines conditions) => preuve ?

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

34 / 64

Interpolation polynmiale

Thorie

Rsolution dun systme linaire


On cherche un polynme P de la forme
P(x) = a0 + a1 x + . . . + an x n
tel que P(xi ) = yi pour i = 0, . . . , n.
Pour trouver les ak , il

1
1

..
.

faut rsoudre le systme linaire suivant

x0 . . . x0n
a0
y0

x1 . . . x1n
a1 y1
..
.. .. = ..
.
. . .

1 xn . . . xnn

Analyse numrique (Pagora 1A)

an

Approximation de fonctions

yn

29/01/13 - 1/02/13

35 / 64

Interpolation polynmiale

Thorie

Matrice de Vandermonde et unicit de la solution

M=

1 x0 . . . x0n
1 x1 . . . x1n
.. ..
..
. .
.
1 xn . . . xnn

Le systme admet une unique solution si et seulement si la matrice M est


inversible. Or M est une matrice de Vandermonde, elle est inversible si
Y
det(M) =
(xi xj ) 6= 0
0i<jn

Le systme admet une unique solution si et seulement si les xi ,


i = 0, . . . , n, sont deux deux disjoints.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

36 / 64

Interpolation polynmiale

Forme lagrangienne

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

37 / 64

Interpolation polynmiale

Forme lagrangienne

Comment calculer le polynme dinterpolation

La mthode consistant inverser la matrice de Vandermonde ou de


rsoudre le systme linaire est coteuse et instable numriquement
(risque dexplosions numriques artificielles).
Pour viter ces problmes, plusieurs mthodes explicites (sans
rsolution de systmes linaires) existent
elles vitent de calculer les coefficients ak du polynme P.
elles utilisent une autre reprsentation du polynme P.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

38 / 64

Interpolation polynmiale

Forme lagrangienne

Forme lagrangienne du polynme dinterpolation


On dispose dun ensemble de n + 1 points (xi , yi ), i = 0, . . . , n tel que si
i 6= j, xi 6= xj .
Linterpolation polynmiale sous forme lagrangienne not L est une
combinaison linaire
n
X
L(x) =
yj `j (x)
j=0

de polynmes de Lagrange
`j (x) =

n
Y
k=0,k6=j

x xj1 x xj+1
x xk
x x0
x xn
=
...
...
xj xk
xj x0
xj xj1 xj xj+1
xj xn

Les polynmes de Lagrange sont de degr n donc L est au maximum de


degr n.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

39 / 64

Interpolation polynmiale

Forme lagrangienne

Exemple
On dispose des points (0, 3), (2, 1), (4, 2), (9, 5).

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

40 / 64

Interpolation polynmiale

Forme lagrangienne

Exercice
Vrifier que L(xi ) = yi pour i = 0, . . . , n.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

41 / 64

Interpolation polynmiale

Forme lagrangienne

Exercice (correction)
Vrifier que L(xi ) = yi pour i = 0, . . . , n.
Pour i 6= j
`j (xi ) =

n
Y
k=0,k6=j

xi xk
xi x0
xi xi
xi xn
=
...
...
=0
xj xk
xj x0
xj xi
xj xn

et

n
Y

`j (xj ) =

k=0,k6=j

donc
L(xi ) =

n
X

xj xk
=1
xj xk

yj `j (xi ) = yi

j=0

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

42 / 64

Interpolation polynmiale

Phnomne de Runge

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

43 / 64

Interpolation polynmiale

Phnomne de Runge

Exercice introductif
On considre lensemble de points suivants




1
1
1,
, (0, 1) , 1,
26
26
Que vaut L ?

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

44 / 64

Interpolation polynmiale

Phnomne de Runge

Exercice introductif (correction)


On considre lensemble de points suivants




1
1
, (0, 1) , 1,
1,
26
26
Que vaut L ?

`0 (x) =

x(x 1)
1
1
= x2 x
2
2
2

`1 (x) = (x + 1)(x 1) = x 2 + 1
`2 (x) =

x(x + 1)
1
1
= x2 + x
2
2
2

Do
L(x) = y0 `0 (x) + y1 `1 (x) + y2 `2 (x) =
Analyse numrique (Pagora 1A)

Approximation de fonctions

25 2
x +1
26
29/01/13 - 1/02/13

45 / 64

Interpolation polynmiale

Phnomne de Runge

Phnomne de Runge
Considrons la fonction
f (x) =

1
1 + 25x 2

x [1, 1]

Runge (1856 1927) a montr que si cette fonction est interpole aux
points quidistants xi entre 1 et 1
xi = 1 + (i 1)

2
n

i = 0, . . . , n

par un polynme Pn de degr n alors




lim
max |f (x) Pn (x)| =
n+

1x1

Lorsquon augmente le nombre de points, on constate que le polynme se


met osciller fortement entre les points xi avec une amplitude de plus en
plus grande.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

46 / 64

Interpolation polynmiale

Phnomne de Runge

Phnomne de Runge : illustration

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

47 / 64

Interpolation polynmiale

Splines

Plan
1

Introduction

Mthode des moindres carrs


Mthode gnrale
Rgression linaire
Moindres carrs linaires
Prise en compte des statistiques derreur

Interpolation polynmiale
Thorie
Forme lagrangienne
Phnomne de Runge
Splines

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

48 / 64

Interpolation polynmiale

Splines

Contourner le phnomne de Runge ?

Linterpolation polynmiale (sous la forme dcrite juste avant) nest pas


toujours bien adapte lapproximation de fonctions.
Solutions :
Choisir les points xi dinterpolation afin de minimiser les oscillations
du polynme dinterpolation.
Utiliser la mthode des moindres carrs avec k < n.
Segmenter : approcher la fonction par des polynmes par morceaux
(splines).

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

49 / 64

Interpolation polynmiale

Splines

Interpolation linaire par morceaux

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

50 / 64

Interpolation polynmiale

Splines

Spline cubique

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

51 / 64

Interpolation polynmiale

Splines

Spline cubique
On dispose dun ensemble de n + 1 points (xi , yi ), i = 0, . . . , n tel que
x0 < x1 < . . . xn .
La spline cubique S interpolant ces points concide sur chaque intervalle
[xi , xi+1 ] avec un polynme pi de degr 3 de la forme :
S(x) = pi (x) = fi + fi 0 (x xi ) +

f 000
fi 00
(x xi )2 + i (x xi )3
2!
3!

Les coefficients dterminer sont les fi , fi 0 , fi 00 et fi 000 .


On a n + 1 points dinterpolations donc n intervalles [xi , xi+1 ] et 4n
inconnues dterminer.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

52 / 64

Interpolation polynmiale

Splines

Conditions naturelles imposes

On veut naturellement que


S(xi ) = pi (xi ) = yi
S(xi+1 ) = pi (xi+1 ) = yi

i = 0, . . . , n 1
i = 0, . . . , n 1

ce qui permet dassurer la continuit de la spline cubique S.


On a donc 4n inconnues et 2n relations utilises pour les conditions
usuelles. On se sert des 2n degrs de liberts restant pour imposer que la
spline S soit C 2 .

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

53 / 64

Interpolation polynmiale

Splines

Conditions C 2

Pour que S soit C 2 sur [x0 , xn ], il faut que


0
S 0 (xi+1 ) = pi0 (xi+1 ) = pi+1
(xi+1 )

i = 0, . . . , n 2

00
S 00 (xi+1 ) = pi00 (xi+1 ) = pi+1
(xi+1 )

i = 0, . . . , n 2

On vient dimposer 2 (n 1) conditions, il reste encore 2 degrs de


libert.
En gnral, pour terminer on prend S 00 (x0 ) = p000 (x0 ) = 0 et
00 (x ) = 0 (splines naturelles) mais de nombreux autres choix
S 00 (xn ) = pn1
n
sont possibles.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

54 / 64

Interpolation polynmiale

Splines

Illustration

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

55 / 64

Interpolation polynmiale

Splines

Exercice : comment valuer les coefficients fi , fi 0 , fi 00 et fi 000

Exprimer pi (x), pi0 (x) et pi00 (x) en fonction des fi , fi 0 , fi 00 et fi 000 .

Montrer partir de la condition pi (xi ) = yi que


fi = yi

i = 0, . . . , n 1

Notons hi = xi+1 xi pour i = 0, . . . , n 1 et f [xi , xi+1 ] =


Montrer partir de la condition pi (xi+1 ) = yi+1 que
fi 0 = f [xi , xi+1 ]

Analyse numrique (Pagora 1A)

fi 00
f 000
hi i hi2
2
6

Approximation de fonctions

yi +1 yi
.
hi

i = 0, . . . , n 1

29/01/13 - 1/02/13

56 / 64

Interpolation polynmiale

Splines

Exercice : comment valuer les coefficients fi , fi 0 , fi 00 et fi 000


4

00 (x
Montrer partir de la condition pi00 (xi+1 ) = pi+1
i+1 ) que

fi 000 =

00 f 00
fi+1
i
hi

i = 0, . . . , n 2

00 (x ). On a donc f 000 =
On pose fn00 = pn1
n
n1

1
1 00
fi 0 = f [xi , xi+1 ] hi fi 00 hi fi+1
3
6
6

00
fn00 fn1
hn1 .

Montrer que

i = 0, . . . , n 1

0 (x
Montrer partir de la condition pi0 (xi+1 ) = pi+1
i+1 ) que
00
00
hi fi 00 + 2(hi + hi+1 )fi+1
+ hi+1 fi+2
= 6(f [xi+1 , xi+2 ] f [xi , xi+1 ])

pour i = 0, . . . , n 2.
Il ne reste plus qu imposer f000 et fn00 pour obtenir tous les coefficients.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

57 / 64

Interpolation polynmiale

Splines

Rsum construction spline cubique (cas splines naturelles)


But : dterminer les 4n coefficients : fi , fi 0 , fi 00 et fi 000 , i = 0, . . . , n 1.

Cas splines naturelles, f000 = fn00 = 0. Pour obtenir les fi 00 il faut


rsoudre le systme suivant :
f 00
2(h0 + h1 )
h1
0
...
1
f200

h1
2(h1 + h2 )
h2
0

.
..
0
hn3
2(hn3 + hn2 )
hn2
00
...
0
hn2
2(hn2 + hn1 )
fn1

3(f [x1 , x2 ] f [x0 , x1 ])


3(f [x2 , x3 ] f [x1 , x2 ])
..
.

3(f [xn1 , xn ] f [xn2 , xn1 ])


La matrice est creuse, le systme est facile rsoudre numriquement.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

58 / 64

Interpolation polynmiale

Splines

Rsum construction spline cubique (cas splines naturelles)

On a automatiquement fi = yi pour i = 0, . . . , n 1.
On calcule les fi 0 et fi 000 partir des formules
1 00
1
fi 0 = f [xi , xi+1 ] hi fi 00 hi fi+1
3
6
fi 000 =

00 f 00
fi+1
i
hi

i = 0, . . . , n 1

i = 0, . . . , n 1

et on obtient la fonction C 2 spline cubique S tel que S(xi ) = yi

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

59 / 64

Interpolation polynmiale

Splines

Exercice : correction
1

Exprimer pi (x), pi0 (x) et pi00 (x) en fonction des fi , fi 0 , fi 00 et fi 000 .


pi (x) = fi + fi 0 (x xi ) +

fi 00
f 000
(x xi )2 + i (x xi )3
2
6

pi0 (x) = fi 0 + fi 00 (x xi ) +

fi 000
(x xi )2
2

pi00 (x) = fi 00 + fi 000 (x xi )


2

Montrer partir de la condition pi (xi ) = yi que


fi = yi

i = 0, . . . , n 1

fi 00
f 000
(xi xi )2 + i (xi xi )3 = fi
2
6
pi (xi ) = yi = fi = yi

pi (xi ) = fi + fi 0 (xi xi ) +

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

60 / 64

Interpolation polynmiale

Splines

Exercice : correction

Notons hi = xi+1 xi pour i = 0, . . . , n 1 et f [xi , xi+1 ] =


Montrer partir de la condition pi (xi+1 ) = yi+1 que
fi 0 = f [xi , xi+1 ]

f 000
fi 00
hi i hi2
2
6

yi +1 yi
.
hi

i = 0, . . . , n 1

f 00
f 000
pi (xi+1 ) = fi +fi 0 hi + i hi2 + i hi3 = yi+1
|{z}
2
6
=yi

fi 0 hi = yi+1 yi

fi 00 2 fi 000 3
h
h
2 i
6 i

En divisant par hi , on trouve le rsultat.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

61 / 64

Interpolation polynmiale

Splines

Exercice : correction

00 (x
Montrer partir de la condition pi00 (xi+1 ) = pi+1
i+1 ) que

fi 000 =

00 f 00
fi+1
i
hi

i = 0, . . . , n 2

00
00
pi00 (xi+1 ) = fi 00 + fi 000 hi = fi+1
= pi+1
(xi+1 )

En divisant par hi , on trouve le rsultat.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

62 / 64

Interpolation polynmiale

Splines

Exercice : correction

00 (x ). On a donc f 000 =
On pose fn00 = pn1
n
n1

1 00
1
fi 0 = f [xi , xi+1 ] hi fi 00 hi fi+1
3
6
fi 0 = f [xi , xi+1 ]

00
fn00 fn1
hn1 .

Montrer que

i = 0, . . . , n 1

f 00 fi 00
fi 00
f 000
f 00
hi i hi2 = f [xi , xi+1 ] i hi i+1
hi
2
6
2
6

Do le rsultat.

Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

63 / 64

Interpolation polynmiale

Splines

Exercice : correction
6

0 (x
Montrer partir de la condition pi0 (xi+1 ) = pi+1
i+1 ) que
00
00
hi fi 00 + 2(hi + hi+1 )fi+1
+ hi+1 fi+2
= 6(f [xi+1 , xi+2 ] f [xi , xi+1 ])

pour i = 0, . . . , n 2.
pi0 (xi+1 ) = fi 0 + fi 00 hi +

fi 000 2
0
= pi+1 (xi+1 )
h = fi+1
2 i

f 00 fi 00
1
1 00
f [xi , xi+1 ] hi fi 00 hi fi+1
+ fi 00 hi + i+1
hi
3
6
2
1
1
00
00
= f [xi+1 , xi+2 ] hi+1 fi+1
hi+1 fi+2
3
6
En simplifiant, on vrifie le rsultat.
Analyse numrique (Pagora 1A)

Approximation de fonctions

29/01/13 - 1/02/13

64 / 64