1 ASI 3 Méthodes numériques pour l’ingénieur Interpolation f(x)
-
Upload
herluin-bouillon -
Category
Documents
-
view
111 -
download
0
Transcript of 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)
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 !
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…
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…
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
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
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
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
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
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
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)
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)
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
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(
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)
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,,
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)
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
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
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)
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]
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
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)
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 !
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
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.
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
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
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
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
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
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
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
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