méthodes numériques pour l'ingénieur interpolation f(x)
Post on 08-Jun-2015
4.956 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
ASI 3
Méthodes numériquespour l’ingénieur
Interpolationf(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[ ][ ]
[ ]baxxPxfbaxPbaf
, )()( : 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' pluspetit,est , plus ε
Interpolation :nnnnn ordre :inconnues1équations,1s,contrainte1 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
xPyxPyxPyxPijxPxP
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
xxxxy
xxxxy
xxxxy
xxxxyy
xxyxyxx
xxyyy
−−
+−−
=−−
−−−
=
−−
+−−
=
• 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)
x0 x1
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−−= ( )
82xx)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
jxixjxxll
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
!1nfxe
)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éLagrangedepolynôme )(
2211
21 ,...,,
( ) ( )ji
niiinjjj
xxxPxxxPxx
xP−
−−−= +−+− )()(
)( ,...,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
QPQPQPQPxQPQPQPx
QPQPxQPx
=======
===
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
a0
a1
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,jF(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
xxmh
xxmxg −+
−=′′ +
+
( ) ( ) ( ) ( ) iiii
31i
ii
3i
1ii bxxah6
xxmh6xxmxg +−+
−+
−= +
+
( ) ( ) ( )i
i
21i
ii
2i
1ii ah2
xxmh2xxmxg +
−−
−=′ +
+
i
2ii
i b6hmy +=
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
hma2hmxg −−
− ′=+=+−=′
( ) ( )i1ii
i1ii
i mm6hyy
h1a −−−= ++
3
1 2
3
( ) ( ) ( )
−−−=+++ −
−++−−− 1ii
1ii1i
i1iii1ii1i1i yy
h1yy
h16mhmhh2mh4
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
h1yy
h16mhmhh2mh4
( ) i1ii1i21ii1i fyy2yh1mm4m =+−=++ +−+−
=
−− 1n
1
1n
1
f
f
m
m
41141
141014
llppp
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
11
ii
iii
iii
i
ii
i
ii
ii
ii
hmiyib
mmhyyh
iani
mmfTm
:n-,:n-TTh
yyh
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
top related