Vous êtes sur la page 1sur 34

ASI 3

Mthodes numriques
pour lingnieur
Interpolation
f(x)

Approximation de fonctions
Soit une fonction f (inconnue explicitement)
connue seulement en certains points x0,x1xn
ou valuable par un calcul coteux.

Principe :
reprsenter f par une fonction simple, facile valuer

Problme :
il existe une infinit de solutions !
2
1
0
-1
-2
-3
-4
0

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Approximation de fonctions
Il faut se restreindre une famille de fonctions
polynmes,
exponentielles,
fonctions trigonomtriques

2
1
0
-1
-2
-3
-4

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Quelques mthodes d'approximation


Interpolation polynomiale
polynmes de degr au plus n
polynmes de Lagrange
diffrences finies de Newton

Interpolation par splines


polynmes par morceaux

Interpolation d'Hermite
informations sur les drives de la fonction approcher

...voir le groupe de TT
4

Thorme dapproximation de Weierstrass


soit f une fonction dfinie et continue sur l' intervalle a, b
Alors, 0, il existe un polynme P ( x), dfinit sur a, b tel que :
f ( x) P( x)

x a, b

)
ff(x)+(x
P(x)
P (x)
f(x)
f (x)

f (x)

f(x)-

plus , est petit,


plus l' ordre du polynome est grand
ab

ab

Interpolation :
n 1 points, n 1 contraintes, n 1 quations, n 1 inconnues : ordre n5

Interpolation polynomiale
Le problme : les donnes, la solution recherche

x0 , y0 f ( x0 ) ,..., xi , yi f ( xi ) ,..., xi , yi f ( xi )
P ( x) tel que P ( xi ) f ( xi ), i 0, n

mauvaise nsolution : rsoudre le systme linaire


P ( x) ai x i Va y
V : matrice de Vandermond e
i 0

la combinaison linaire de polynmes est un polynme


P ( x) y0 P0 ( x) ... yi Pi ( x) yn Pn ( x)

tel que Pi ( xi ) 1 et Pi ( x j ) 0

ji

ainsi P ( xi ) y0 P0 ( xi ) ... yi Pi ( xi ) yn Pn ( xi )

0
1
0

Interpolation polynomiale : Lagrange


Thorme
Soient n+1 points distincts xi rels et n+1 rels yi,
il existe un unique polynme p Pn tel que
p(xi) = yi pour i = 0 n
dmonstration

Construction de p :

p( x ) y i Li ( x )
i 0

x x
L (x)
x x
n

avec Li polynme de Lagrange


Proprits de Li

j 0
j i

L est un polynme dordre n

Li(xi)=1
Li(xj)=0 (j i)
7

Lagrange : exemple n1
Exemple avec n=1
on connat 2 points (x0,y0) et (x1,y1)
on cherche la droite y=ax+b (polynme de degr 1)
qui passe par les 2 points :
y0 = a x 0 + b
y1 = a x 1 + b

a = (y0 - y1) / (x0 - x1)


b = (x0 y1 - x1 y0) / (x0 - x1)

y0 y1
x0 y 1 x1 y 0
y
x
x0 x1
x0 x1

y1
y0
x0

x1

x x0
x x0
x x1
x x1
y y0
y1
y0
y1
x 0 x1
x0 x1
x0 x1
x 1 x0
L0(x)

L1(x)
8

Lagrange : exemple n2
Exemple avec n=2
on connat 3 points (0,1), (2,5) et (4,17)
polynmes de Lagrange associs :

x 2 x 4
x x 4
x x 2
L0 ( x )
L1 ( x )
L2 ( x )
8
8
4

Lagrange : exemple n2
calcul du polynme d'interpolation
30

25

p(x)=L0(x) + 5 L1(x) + 17 L2(x)

20

15

10

0
-1

en simplifiant, on trouve p(x)=x2+1

10

Lagrange : lalgorithme
Fonction y = lagrange(x,xi,yi)
pour i 1 jusqu' n
pour j 1 jusqu' n, j i;
x xi ( j )
l l*
xi (i ) xi ( j )
fait
y y yi * l
fait

Complexit du calcul : n2
11

Lagrange : exemple n3
Exemple avec n=2

(fonction approcher y=ex)


on connat 3 points (0,1), (2,7.3891) et (4,54.5982)
Polynme d'interpolation
p(x) =L0(x) + 7.3891 L1(x) + 54.5982 L2(x)
60
50
40
30
20

10
0
-10

-1

12

Lagrange : exemple n3
Erreur d'interpolation e(x) = f(x) - p(x)
60
50
40
30
20
10
0
-10
-20
-1

13

Lagrange : erreur d'interpolation


Thorme :
si f est n+1 drivable sur [a,b], x [a,b], notons :
I le plus petit intervalle ferm contenant x et les xi
(x)=(x-x0)(x-x1)(x-xn)

alors, il existe I tel que

f ( n 1 )
e x
x
n 1!

NB : dpend de x

Utilit = on contrle lerreur dapproximation donc


la qualit de lapproximation

.
14

Lagrange : choix de n
Supposons que l'on possde un nb lev de points pour
approcher f faut-il tous les utiliser ?
(calculs lourds)

Mthode de Neville :
on augmente progressivement n
on calcule des Li de manire rcursive
on arrte ds que l'erreur est infrieure un seuil
(dou lutilit du calcul de lerreur)
15

La mthode de Neuville
Dfinition

Pm1 ,m2 ,...,mk ( x) polynme de Lagrange calcul sur

xm , ym , xm , ym ,..., xm , ym
Dmonstration
x x j P0,1,..., j 1, j 1,...,n ( x) x xi P0,1,...,i1,i1,...,n ( x)
P( x)

Thorme
les k

points

xi x j

Application systmatique

P( xi ) f ( xi ); P ( x j ) f ( x j ) et P ( xk ) f ( xk )

x0
x1
x2
x3

P0 Q0,0
P1 Q1,0
P2 Q2,0
P3 Q3,0

Qi , j Pi j ,i j 1,...,i 1,i
P0,1 Q1,1
P1, 2 Q2,1
P2,3 Q3,1

P0,1, 2 Q2, 2
P1, 2,3 Q3, 2

P0,1, 2, 4 Q3,3

16

Lalgorithme de Neuville
Fonction y = Neuville(x,xi,yi)
pour i 1 jusqu' n
Q(i,0) yi (i )
fait
pour i 1 jusqu' n
pour j 1 jusqu' i
x xi (i j ) Q(i,j 1 ) x xi (i) Q(i 1,j 1 )
Q(i,j)
xi (i ) xi (i j )
fait
y Q(n, n)
fait
Complexit du calcul : n2

17

Interpolation polynomiale : Newton


Polynmes de Newton :
base = {1, (x-x0), (x-x0)(x-x1), , (x-x0)(x-x1)(x-xn-1)}
on peut r-crire p(x) :
p(x)=a0 + a1(x-x0) + a2(x-x0)(x-x1)++ an(x-x0)(x-x1)(x-xn-1)
calcul des ak : mthode des diffrences divises

18

Newton : diffrences divises


Dfinition :
Soit une fonction f dont on connat les valeurs en des points
distincts a, b, c,
On appelle diffrence divise dordre 0, 1, 2,...,n
les expressions dfinies par rcurrence sur lordre k :
k=0
f [a] = f (a)
k=1
f [a,b] = ( f [b] - f [a] ) / ( b - a )
k=2
f [a,b,c] = ( f [a,c] - f [a,b] ) / ( c - b )

f [X,a,b] = ( f [X,b] - f [X,a] ) / ( b - a )
aX, bX, ab
19

Newton : diffrences divises


Thormes :
dtermination des coefficients de p(x) dans la base de
Newton :
f [x0, x1,, xk] = ak

avec k = 0 n

erreur d'interpolation :
e(x) = f [x0, x1,, xn, x] (x)

20

Newton : diffrences divises


Calcul pratique des coefficients :
a0

x0 f [x0]

a1

x1 f [x1]

f [x0, x1]

a2

x2 f [x2]

f [x1, x2]

f [x0, x1, x2]

...
f [xn-3, xn-2, xn-1]

xn f [xn]

f [xn-1, xn]

f [xn-2, xn-1, xn]

an

f [x0, ..., xn]

21

Newton : exemple
(ex. n2) : n=2

(0,1), (2,5) et (4,17)

a0

f [x0]=1

f [x1]=5

f [x0, x1]

f [x2]=17

=(1-5)/(0-2)=2
f [x1, x2]

f [x0, x1, x2]

=(5-17)/(2-4)=6

= (2-6)/(0-4)=1

p(x)=1 + 2x + x(x-2)

a1

a2

(et on retombe sur p(x) = 1 + x2)


22

Newton : lalgorithme
Fonction a = Newton(xi,yi)
pour i 1 jusqu' n
F (i,0) yi (i )
fait
pour i 1 jusqu' n
pour j 1 jusqu' i
F(i,j 1 ) F(i 1,j 1 )
F(i,j)
xi (i ) xi (i j )
fait
fait
pour i 1 jusqu' n
a (i) F (n, i )
fait
Complexit du calcul : n2

23

A bas les polynmes


Ex : y=2(1+tanh(x)) - x/10

avec 9 points

entre les points, le polynme fait ce qu'il veut


et plus son degr est lev plus il est apte osciller !
6

-2

-4

-6
-6

-4

-2

24

Interpolation par splines cubiques


Principe :
on approche la courbe par morceaux (localement)
on prend des polynmes de degr faible (3) pour viter les
oscillations

25

Splines cubiques : dfinition


Dfinition :
On appelle spline cubique dinterpolation une fonction note
g, qui vrifie les proprits suivantes :
g C2[a;b] (g est deux fois continment drivable),
g concide sur chaque intervalle [xi; xi+1] avec un polynme de degr
infrieur ou gal 3,
g(xi) = yi 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.
26

Splines : illustration
P2(x)=a2 (x-x2) 3+b2 (x-x2) 2+c2 (x-x2) +d2

P1(x)=1x3+1x2+1x+1
=a1 (x-x1)3+b1 (x-x1) 2+c1 (x-x1) +d1

27

Splines cubiques : dtermination


Dtermination de la spline dinterpolation
g concide sur chaque intervalle [xi; xi+1] avec un polynme de
degr infrieur ou gal 3
g" est de degr 1 et est dtermin par 2 valeurs:
mi = g"(xi) et mi+1 = g"(xi+1)

(moment au noeud ni)

Notations :
hi = xi+1 - xi

pour i = 0 n-1

i= [xi; xi+1]
gi(x) le polynme de degr 3 qui concide avec g sur lintervalle i

28

Splines cubiques : dtermination


g"i(x) est linaire :
x i
on intgre
(ai constante)
on continue
(bi constante)

gi(xi) = yi
gi(xi+1) = yi+1

x xi
x x
mi i 1
hi
hi

x xi 2
xi 1 x 2
g i x mi 1
mi
ai
2 hi
2 hi

g i x mi 1

g i x mi 1

x x i 3 m xi 1 x 3 a x x b
i

6 hi

mi hi 2
yi
bi
6

1
yi 1

6 hi

mi 1 hi 2

ai hi bi
6

29

Splines cubiques : dtermination


g'(x) est continue :
1 et 2

ai

g i xi mi

1
yi 1 yi hi mi 1 mi
hi
6

on remplace les ai dans


4

hi
h
ai mi i 1 ai 1 g i1 xi 3
2
2

:3

hi 1 mi 1 2 hi hi 1 mi hi mi 1

1
6
yi 1 yi yi yi 1
hi 1
hi

Rappel : on cherche les mi (n+1 inconnues)


on a seulement n-1 quations grce
il faut rajouter 2 conditions, par exemple
m0 = mn =0

(spline naturelle)
30

Splines cubiques : dtermination


4

hi 1 mi 1 2 hi hi 1 mi hi mi 1

1
6
yi 1 yi yi yi 1
hi 1
hi

Ex de rsolution avec hi = xi+1 - xi constant :

mi 1 4 mi mi 1

y i 1 2 y i y i 1

1
4 1

forme matricielle :
Tm=f

4
1

fi

0 m1 f 1

4 m n 1 f n 1

T inversible (diagonale strictement dominante)

31

Splines cubiques : lalgorithme


pour i 2; n 1
T (i, i ) 2 hi hi 1
T (i, i 1) hi 1
T (i, i 1) 2hi
yi 1 yi yi yi 1

f (i 1) 6

hi
hi 1

fait
T T 2:n-1,2:n-1
m T \ f
m [0, m,0]
pour i 1; n 1
hi
1
a (i ) yi 1 yi mi 1 mi
hi
6
mi hi
b(i ) y (i )
6
fait

Complexit du calcul : complexit du solve


32

Splines cubiques : exemple


Ex : y=2(1+tanh(x)) - x/10

avec 9 points

spline

-2

-4

-6
-6

polynme de degr 8
-4

-2

33

Conclusion
Interpolation polynomiale
valuer la fonction en un point : Polynme de Lagrange ->
mthode de Neville
compiler la fonction : Polynme de Newton

Interpolation polynomiale par morceau : splines

spline cubique dinterpolation


spline cubique dapproximation (on rgularise)
b spline
spline gnralise : splines gausinnes (multidimensionelle)

approximation - apprentissage
34