approximation de fonction ( cours math 4 usthb )
DESCRIPTION
les cours de math 4 ; allé les amis prifité bien et bien sur lissé des commantairesTRANSCRIPT
1
Analyse NumériqueProblèmes Pratiques
Approximation de fonctions
Ph. Leray Analyse Numérique 1
Introduction 1/2
❚ Dans différentes disciplines scientifiques, besoinde résoudre de nombreux problèmes numériques :❙ …❙ …
❚ Résolution de ces problèmes❙ mise sous forme matricielle❙ résolution de systèmes linéaires de n équations à n
inconnues❙ besoin d'inverser des matrices
2
Ph. Leray Analyse Numérique 2
Introduction 2/2
❚ Quelques problèmes abordés dans ce cours :❙ approximation de fonctions❙ optimisation❙ résolution de f(x)=0
❙ intégration et dérivation❙ résolution d'équations différentielles❙ transformée de Fourier
Ph. Leray Analyse Numérique 30 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 1/2
❚ 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
Ph. Leray Analyse Numérique 4
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 2/2
❚ Il faut se restreindre à une famille de fonctions❙ polynômes,❙ exponentielles,❙ fonctions trigonométriques…
Ph. Leray Analyse Numérique 5
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 cubiques❙ polynômes de degré 3 par morceaux
❚ Interpolation d'Hermite❙ informations sur les dérivées de la fonction à approcher
❚ …
4
Ph. Leray Analyse Numérique 6
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 quep(xi) = yi pour i = 0 à n
❚ Démonstration par construction❙
avec Li polynôme de Lagrange
❙ Propriétés de Li
❘ Li polynôme de degré n❘ Li(xi)=1 Li(xj)=0 (j ≠ i)
∑=
=n
0iii )x(Ly)x(p
( )( )∏
≠= −
−=
n
ij0j ji
ji xx
xx)x(L
Ph. Leray Analyse Numérique 7
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)
x0 x1
y1
y0
5
Ph. Leray Analyse Numérique 8
Lagrange : exemple n°2 1/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
Ph. Leray Analyse Numérique 9
-1 0 1 2 3 4 50
5
10
15
20
25
30
Lagrange : exemple n°2 2/2
❙ calcul du polynôme d'interpolation
❘ p(x)=L0(x) + 5 L1(x) + 17 L2(x)
❘ en simplifiant, on retrouverait p(x)=x2+1
6
Ph. Leray Analyse Numérique 10
-1 0 1 2 3 4 5-10
0
10
20
30
40
50
60
Lagrange : exemple n°3 1/2
❚ 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)
Ph. Leray Analyse Numérique 11
Lagrange : exemple n°3 2/2
❙ 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
7
Ph. Leray Analyse Numérique 12
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é❙ contrôle de l’erreur d’approximation❙ « réglage » de la qualité de l’approximation
( ) ( )( ) ( )x
!1n
fxe
)1n(
φξ+
=+
Ph. Leray Analyse Numérique 13
Lagrange : choix de n
❚ Supposons que l'on possède un nb élevé de pointspour approcher f … faut-il tous les utiliser ?❙ (calculs lourds)
❚ Méthode de Neville :❙ on augmente progressivement n❙ on calcule les Li de manière récursive❙ on arrête dès que l'erreur est inférieure à un seuil
(d’où l’utilité du calcul de l’erreur)
8
Ph. Leray Analyse Numérique 14
Lagrange : l’algorithme 1/2
❚ Méthode de Neuville (approche récursive)❙ Soient xj et xk deux points où la fonction est connue
❘ on a
❘ avec Qj(x) (resp. Qk(x)) polynôme d’interpolation obtenu avectous les points sauf xj (resp. xk)
❙ Soit Qjk(x) le polynôme d’interpolation de degré k obtenuavec les points xj-k à xj
❘ on a p(x) = Qii(x) polynôme d’interpolation de degré i
( ) ( ) ( ) ( )( )jk
kk
jj
xx
xQxxxQxx)x(p
−−−−
=
Ph. Leray Analyse Numérique 15
Lagrange : l’algorithme 2/2
❚ Interpolation en 1 point x :
Pour i allant de 1 à n
Pour j allant de 1 à i
FinPour
Approximation de degré i = Qii(x)
FinPour
❚ Complexité du calcul : n2
( ) ( ) ( ) ( )( )jii
1j,1ii
1j,ijiij
xx
xQxxxQxx)x(Q
−
−−−−
−−−−
=
9
Ph. Leray Analyse Numérique 16
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
Ph. Leray Analyse Numérique 17
Newton : différences divisées 1/3
❚ 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
10
Ph. Leray Analyse Numérique 18
Newton : différences divisées 2/3
❚ 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)
Ph. Leray Analyse Numérique 19
Newton : différences divisées 3/3
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]
11
Ph. Leray Analyse Numérique 20
❚ (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
Newton : exemple
a0
a2
p(x)=1 + 2x + x(x-2) (et on retombe sur p(x) = 1 + x2)
a1
Ph. Leray Analyse Numérique 21
Newton : l’algorithme
❚ Interpolation en 1 point x :
Pour i allant de 1 à n
Pour j allant de 1 à i
FinPour
ai = Fi,i
FinPour
❚ Complexité du calcul : n2
jii
1j,1i1j,ij,i xx
FFF
−
−−−
−−
=
12
Ph. Leray Analyse Numérique 22
-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 !
Ph. Leray Analyse Numérique 23
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
❚ Cas particulier des splines
13
Ph. Leray Analyse Numérique 24
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.
Ph. Leray Analyse Numérique 25
Splines cubiques : détermination 1/4
❚ 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
14
Ph. Leray Analyse Numérique 26
Splines cubiques : détermination 2/4
❙ 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
Ph. Leray Analyse Numérique 27
Splines cubiques : détermination 3/4
❙ 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
15
Ph. Leray Analyse Numérique 28
Splines cubiques : détermination 4/4
❙ Ex de résolution avec hi = xi+1 - xi constant :❘
❘ forme matricielle :
Tm=f
❘ T inversible (tridiagonale)
( ) ( ) ( )
−−−=+++ −
−++−−− 1ii
1ii1i
i1iii1ii1i1i yy
h
1yy
h
16mhmhh2mh4
( ) i1ii1i21ii1i fyy2yh
1mm4m =+−=++ +−+−
=
−− 1n
1
1n
1
f
f
m
m
41
141
141
014
ΛΛΟΟΟ
Ph. Leray Analyse Numérique 29
Splines cubiques : l’algorithme
❚ Calcul des moments par résolution d’un systèmelinéaire tridiagonal
❚ Algorithme = factorisation de Crout (LU « tridiagonal »)
❚ Complexité du calcul : n
16
Ph. Leray Analyse Numérique 30
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
Ph. Leray Analyse Numérique 31
Conclusion
❚ Interpolation polynomiale❙ évaluer la fonction en un point :
polynôme de Lagrange ➨ méthode de Neville❙ compiler la fonction (calcul des coefficients du polynôme) :
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 gaussiennes