Interpolation Polynomiale

Vous aimerez peut-être aussi

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 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 0.2 0.4 0.6 0.8 1 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]
f(x)+ f (x) + P(x) P (x) f(x) f (x)

f(x)-

f (x)

plus , est petit, plus l' ordre du polynome est grand

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

ab

ab

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 n solution : 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

avec Li polynme de Lagrange Proprits de Li


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

(x x ) L (x)= (x x )
n j i j =0 j i i j

L est un polynme dordre n

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 x0 x1

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

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 : alors, il existe I tel que NB : dpend de x
I le plus petit intervalle ferm contenant x et les xi (x)=(x-x0)(x-x1)(x-xn) ( n +1 )

e( x ) =

( ) (x ) (n + 1)!

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

(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
1 1 2 2 k k

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

Dmonstration

xi x j

P( xi ) = f ( xi ); P( x j ) = f ( x j ) et P( xk ) = f ( xk )
Qi , j = Pi j ,i j +1,...,i 1,i

Application systmatique
x0 x1 x2 x3 P0 = Q0,0 P = Q1,0 1 P2 = Q2,0 P3 = Q3,0 P0,1 = Q1,1 P , 2 = Q2,1 1 P2,3 = Q3,1

P0,1, 2 = Q2, 2 P , 2,3 = Q3, 2 1

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 erreur d'interpolation : e(x) = f [x0, x1,, xn, x] (x) avec k = 0 n

20

Newton : diffrences divises


Calcul pratique des coefficients :
a0

x0

f [x0]

a1

x1 f [x1] x2 f [x2] xn f [xn]

f [x0, x1] f [x1, x2] f [xn-1, xn]

a2

f [x0, x1, x2] ... f [xn-3, xn-2, xn-1] f [xn-2, xn-1, xn]

an

f [x0, ..., xn]

21

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

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

0 2 4

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

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

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

(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 4

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

on intgre (ai constante) on continue (bi constante)

g i (x ) = mi +1

(x xi )3 + m (xi +1 x )3 + a (x x ) + b
6 hi
i

6 hi

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

mi hi 2 yi = + bi 6

1 yi +1

mi +1 hi 2 = + ai hi + bi 6

29

Splines cubiques : dtermination


g'(x) est continue : 1 et 2
ai =
g i (xi ) = mi hi hi 1 + ai = mi + ai 1 = g i1 (xi ) 3 2 2

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

on remplace les ai dans : 3


4

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

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

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

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

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


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

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

fi

Tm=f

4 1

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 y y y yi 1 (i 1) 6 i +1 i i f h hi 1 i 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 ) 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
6

avec 9 points

spline

-2

-4

polynme de degr 8
-4 -2 0 2 4 6

-6 -6

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