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 Vandermonde
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 x0 + b
y1 = a x1 + b

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


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

y1
y0

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

x0

x1

x x0
x x0
x x1
x x1
y1
= y0
+ y1
y = y0
x0 x1
x 0 x1
x0 x1
x1 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( x 2 )
x( x 4 )
x 2 )(x 4 )
L2 ( x ) =
L1 ( x ) =
L0 ( 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

-10
-1

12

Lagrange : exemple n3
Erreur d'interpolation e(x) = f(x) - p(x)
60

50

40

30

20

10

-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)
( n +1 )

alors, il existe I tel que

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 )


Thorme
(x x j )P0,1,..., j 1, j +1,...,n ( x) ( x xi )P0,1,...,i1,i+1,...,n ( x)
P( x) =
les k points

xi x j

Dmonstration

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

Application systmatique
x0
x1
x2
x3

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

P0,1 = Q1,1
P1, 2 = Q2,1
P2,3 = Q3,1

Qi , j = Pi j ,i j +1,...,i 1,i

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]

x1 f [x1]
x2 f [x2]


xn

f [xn]

a1

f [x0, x1]
f [x1, x2]

f [x0, x1, x2]


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

f [xn-1, xn]

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

a2

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 [x2]=17

a1
f [x0, x1]
=(1-5)/(0-2)=2
f [x1, x2]
=(5-17)/(2-4)=6

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

f [x0, x1, x2]


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

(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
xi + 1 x
+ mi
hi
hi
(
(
xi +1 x )2
x xi )2
g i (x ) = mi +1
mi
+ ai
2hi
2hi

g i(x ) = mi +1

g i (x ) = mi +1

(x xi )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

g i (xi ) = mi

hi
hi 1
+ ai = mi
+ ai 1 = g i1 (xi ) 3
2
2

hi
1
ai = ( yi +1 yi ) (mi +1 mi )
hi
6

on remplace les ai dans : 3


4

hi 1mi 1 + 2(hi + hi 1 )mi + hi mi +1

( yi yi 1 )
= 6 ( y i +1 yi )
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 1mi 1 + 2(hi + hi 1 )mi + hi mi +1

( yi yi 1 )
= 6 ( y i +1 yi )
hi 1
hi

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


mi 1 + 4 mi + mi +1 =
forme matricielle :

Tm=f

( y i 1 2 y i + y i + 1 ) =

fi

1
0 m1 f 1

4 1

l = l
p p p


1 4 1

1 4 mn 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
h
1
a(i ) ( yi +1 yi ) i (mi +1 mi )
6
hi
mi hi
b(i ) y (i )
6
fait
Complexit du calcul : complexit du solveur

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

Vous aimerez peut-être aussi