1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

34
1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

Transcript of 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

Page 1: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

1

ASI 3

Méthodes numériquespour l’ingénieur

Interpolation

f(x)

Page 2: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

20 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

-4

-3

-2

-1

0

1

2

Approximation de fonctions• Soit une fonction f (inconnue explicitement)

– connue seulement en certains points x0,x1…xn

– ou évaluable par un calcul coûteux.

• Principe :– représenter f par une fonction simple, facile à évaluer

• Problème : – il existe une infinité de solutions !

Page 3: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

3

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8-4

-3

-2

-1

0

1

2

Approximation de fonctions

• Il faut se restreindre à une famille de fonctions– polynômes,

– exponentielles,

– fonctions trigonométriques…

Page 4: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

4

Quelques méthodes d'approximation

• Interpolation polynomiale– polynômes de degré au plus n

• polynômes de Lagrange

• différences finies de Newton

• Interpolation par splines– polynômes par morceaux

• Interpolation d'Hermite– informations sur les dérivées de la fonction à approcher

• ...voir le groupe de TT…

Page 5: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

5

ab ab

f(x)

P(x)

f(x)+

f(x)-

f(x)

P(x)

f(x)+

f(x)-

Théorème d’approximation de Weierstrass

baxxPxf

baxPbaf

, )()(

: que tel,sur définit ,)( polynômeun existe il ,0 Alors,, intervallel'sur continueet définiefonction une soit

)(xf)(xP

)(xf

)(xf

grandest polynomedu ordrel' plus petit,est , plus

Interpolation :nnnnn ordre :inconnues 1 équations, 1 s,contrainte 1 points, 1

Page 6: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

6

Interpolation polynomiale• Le problème : les données, la solution recherchée

• mauvaise solution : résoudre le système linéaire

• la combinaison linéaire de polynômes est un polynôme

nixfxPxP

xfyxxfyxxfyx

ii

iiiiii

,0),()( que tel)(

)(,,...,)(,,...,)(, 000

0 1 0

)( )(...)()( ainsi

0)(et 1)( que tel

)( )(...)( )(

00

00

inniiiii

jiii

nnii

xPyxPyxPyxP

ijxPxP

xPyxPyxPyxP

eVandermond de matrice : )(0

VyVaxaxPn

i

ii

Page 7: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

7

Interpolation polynomiale : Lagrange

• Théorème– Soient n+1 points distincts xi réels et n+1 réels yi,

il existe un unique polynôme p Pn tel que p(xi) = yi pour i = 0 à n

– Construction de p :

avec Li polynôme de Lagrange

– Propriétés de Li

• Li(xi)=1

• Li(xj)=0 (j i)

n

0iii )x(Ly)x(p

n

ij0j ji

ji xx

xx)x(L

L est un polynôme d’ordre n

démonstration

Page 8: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

8

01

01

10

10

10

01

10

10

10

0110

10

10

xx

xxy

xx

xxy

xx

xxy

xx

xxyy

xx

yxyxx

xx

yyy

• Exemple avec n=1 – on connaît 2 points (x0,y0) et (x1,y1)

– on cherche la droite y=ax+b (polynôme de degré 1) qui passe par les 2 points :

• y0 = a x0 + b a = (y0 - y1) / (x0 - x1)

• y1 = a x1 + b b = (x0 y1 - x1 y0) / (x0 - x1)

Lagrange : exemple n°1

L0(x) L1(x)

x0x1

y1

y0

Page 9: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

9

Lagrange : exemple n°2

• Exemple avec n=2 – on connaît 3 points (0,1), (2,5) et (4,17)

– polynômes de Lagrange associés :

8

4x2x)x(L0

8

2xx)x(L2

4

4xx)x(L1

0 2 4

-

0 2 4 0 2 4

Page 10: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

10

-1 0 1 2 3 4 50

5

10

15

20

25

30

Lagrange : exemple n°2– calcul du polynôme d'interpolation

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

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

Page 11: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

11

Lagrange : l’algorithme

Complexité du calcul : n2

fait*

fait )()(

)(*

;, àjusqu' 1pour àjusqu' 1pour

lyyy

jxix

jxxll

ijnjni

i

ii

i

Fonction y = lagrange(x,xi,yi)

Page 12: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

12

-1 0 1 2 3 4 5-10

0

10

20

30

40

50

60

Lagrange : exemple n°3

• Exemple avec n=2 (fonction à approcher y=ex)

– on connaît 3 points (0,1), (2,7.3891) et (4,54.5982)

– Polynôme d'interpolation• p(x) =L0(x) + 7.3891 L1(x) + 54.5982 L2(x)

Page 13: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

13

Lagrange : exemple n°3

– Erreur d'interpolation e(x) = f(x) - p(x)

-1 0 1 2 3 4 5-20

-10

0

10

20

30

40

50

60

Page 14: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

14

Lagrange : erreur d'interpolation

• Théorème :– si f est n+1 dérivable 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

– NB : dépend de x

• Utilité = on contrôle l’erreur d’approximation donc . la qualité de l’approximation

x

!1n

fxe

)1n(

Page 15: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

15

Lagrange : choix de n

• Supposons que l'on possède un nb élevé de points pour approcher f … faut-il tous les utiliser ? – (calculs lourds)

• Méthode de Neville :– on augmente progressivement n

– on calcule des Li de manière récursive

– on arrête dès que l'erreur est inférieure à un seuil(d’ou l’utilité du calcul de l’erreur)

Page 16: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

16

La méthode de Neuville• Définition

• Théorème

• Démonstration

• Application systématique

kk

k

mmmmmm

mmm

yxyxyxk

xP

,,...,,,, points les

sur calculé Lagrange de polynôme )(

2211

21 ,...,,

ji

niiinjjj

xx

xPxxxPxxxP

)()()( ,...,1,1,...,1,0,...,1,1,...,1,0

)()(et )()();()( kkjjii xfxPxfxPxfxP

3,34,2,1,02,33,2,11,33,20,333

2,22,1,01,22,10,222

1,11,00,111

0,000

QPQPQPQPx

QPQPQPx

QPQPx

QPx

iijijiji PQ ,1,...,1,,

Page 17: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

17

L’algorithme de Neuville

Complexité du calcul : n2

fait),(

fait )()(

11)(1)(

àjusqu' 1pour àjusqu' 1pour

fait)()0,(

àjusqu' 1pour

nnQy

jixix

),jQ(iixx)Q(i,jjixxQ(i,j)

ijni

iyiQni

ii

ii

i

Fonction y = Neuville(x,xi,yi)

Page 18: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

18

Interpolation polynomiale : Newton• Polynômes 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 : méthode des différences divisées

Page 19: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

19

Newton : différences divisées

• Définition :– Soit une fonction f dont on connaît les valeurs en des points

distincts a, b, c, …

– On appelle différence divisée d’ordre 0, 1, 2,...,n les expressions définies par récurrence sur l’ordre 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 )a X , b X , a b

Page 20: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

20

Newton : différences divisées

• Théorèmes :– détermination 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)

Page 21: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

21

Newton : différences divisées

a0a1

a2

an

• Calcul pratique des coefficients :

x0 f [x0]

x1 f [x1] f [x0, x1]

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] … f [x0, ..., xn]

Page 22: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

22

Newton : exemple

a0

a2

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

a1

• (ex. n°2) : n=2 (0,1), (2,5) et (4,17)

0 f [x0]=1

2 f [x1]=5 f [x0, x1]

=(1-5)/(0-2)=2

4 f [x2]=17 f [x1, x2] f [x0, x1, x2]

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

Page 23: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

23

Newton : l’algorithme

Complexité du calcul : n2

fait),((i) àjusqu' 1pour

faitfait

)()(111

àjusqu' 1pour àjusqu' 1pour

fait)()0,(

àjusqu' 1pour

inFani

jixix),jF(i)F(i,j

F(i,j)

ijni

iyiFni

ii

i

Fonction a = Newton(xi,yi)

Page 24: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

24-6 -4 -2 0 2 4 6-6

-4

-2

0

2

4

6

A bas les polynômes• Ex : y=2(1+tanh(x)) - x/10 avec 9 points

– entre les points, le polynôme fait ce qu'il veut…et plus son degré est élevé plus il est apte à osciller !

Page 25: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

25

Interpolation par splines cubiques

• Principe :– on approche la courbe par morceaux (localement)

– on prend des polynômes de degré faible (3) pour éviter les oscillations

Page 26: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

26

Splines cubiques : définition

• Définition :– On appelle spline cubique d’interpolation une fonction notée

g, qui vérifie les propriétés suivantes :• g C2[a;b] (g est deux fois continûment dérivable),

• g coïncide sur chaque intervalle [xi; xi+1] avec un polynôme de degré inférieur ou égal à 3,

• g(xi) = yi pour i = 0 … n

• Remarque : – Il faut des conditions supplémentaires pour définir la spline

d’interpolation de façon unique

– Ex. de conditions supplémentaires :• g"(a) = g"(b) = 0 spline naturelle.

Page 27: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

27

Splines : illustration

P1(x)=1x3+1x2+1x+1

=a1 (x-x1)3+b1 (x-x1) 2+c1 (x-x1) +d1

P2(x)=a2 (x-x2) 3+b2 (x-x2)

2+c2 (x-x2) +d2

Page 28: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

28

Splines cubiques : détermination• Détermination de la spline d’interpolation

– g coïncide sur chaque intervalle [xi; xi+1] avec un polynôme de degré inférieur ou égal à 3

g" est de degré 1 et est déterminé par 2 valeurs:• mi = g"(xi) et mi+1 = g"(xi+1) (moment au noeud n°i)

– Notations :• hi = xi+1 - xi pour i = 0 … n-1

i= [xi; xi+1]

• gi(x) le polynôme de degré 3 qui coïncide avec g sur l’intervalle i

Page 29: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

29

Splines cubiques : détermination– g"i(x) est linéaire :

x i

• on intègre(ai constante)

• on continue(bi constante)

– gi(xi) = yi

– gi(xi+1) = yi+1

i

1ii

i

i1ii h

xxm

h

xxmxg

iiii

31i

ii

3i

1ii bxxah6

xxm

h6

xxmxg

i

i

21i

ii

2i

1ii ah2

xxm

h2

xxmxg

i

2ii

i b6

hmy

iii

2i1i

1i bha6

hmy

1

2

Page 30: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

30

Splines cubiques : détermination– g'(x) est continue :

– et

– on remplace les ai dans :

– Rappel : on cherche les mi (n+1 inconnues) on a seulement n-1 équations grâce à il faut rajouter 2 conditions, par exemple

m0 = mn =0 (spline naturelle)

i1i1i1i

iii

iii xga2

hma

2

hmxg

i1ii

i1ii

i mm6

hyy

h

1a

3

1 2

3

1ii

1ii1i

i1iii1ii1i1i yy

h

1yy

h

16mhmhh2mh4

4

Page 31: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

31

Splines cubiques : détermination

– Ex de résolution avec hi = xi+1 - xi constant :

• forme matricielle :

Tm=f

• T inversible (diagonale strictement dominante)

1ii

1ii1i

i1iii1ii1i1i yy

h

1yy

h

16mhmhh2mh4

i1ii1i21ii1i fyy2yh

1mm4m

1n

1

1n

1

f

f

m

m

41

141

141

014

Page 32: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

32

Splines cubiques : l’algorithme

Complexité du calcul : complexité du solveur

fait6

)()(

61

)(

1;1pour ]0,,0[

\1212

fait6)1(

2)1,( )1,(

2),( 1;2pour

11

1

11

1

1

ii

iii

iii

i

ii

i

ii

i

i

ii

hmiyib

mmh

yyh

ia

nimmfTm

:n-,:n-TT

h

yy

h

yyif

hiiThiiT

hhiiTni

Page 33: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

33

Splines cubiques : exemple

• Ex : y=2(1+tanh(x)) - x/10 avec 9 points

-6 -4 -2 0 2 4 6-6

-4

-2

0

2

4

6

spline

polynôme de degré 8

Page 34: 1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)

34

Conclusion

• Interpolation polynomiale– évaluer la fonction en un point : Polynôme de Lagrange ->

méthode de Neville

– compiler la fonction : Polynôme de Newton

• Interpolation polynomiale par morceau : splines– spline cubique d’interpolation

– spline cubique d’approximation (on régularise)

– b spline

– spline généralisée : splines gausiènnes (multidimensionelle)

• approximation - apprentissage