Vous êtes sur la page 1sur 23

Chapitre 8: Différentiation numérique

Chapitre 8: Différentiation numérique 1 / 23


Différences finies

PLAN
1 Différentiation numérique
Motivation
Position du problème
Dérivés d’ordre 1
Principe des méthodes numériques
2 Equations différentielles avec conditions aux limites
Problèmes aux limites lineáires
Existence et unicité
Problèmes particuliers

Chapitre 8: Différentiation numérique 2 / 23


Différentiation numérique

Motivation
Lors du titrage d’acide par une base, on mesure le pH en fonction du
volume V de base rajoutée. Les mesures sont résumées dans le tableau
ci-dessous :

V(mL) 0 10 20 22 24 24.25 24.5 24.8 24.9 25


pH 2.87 4.57 5.35 5.61 6.12 6.25 6.43 6.84 7.14 8.70

On estime le volume équivalent de base comme étant le point où la


dérivée pH 0 (V ) passe par un maximum. Calculer cette dérivée en chaque
point de la courbe afin d’estimer ce maximum.

Chapitre 8: Différentiation numérique 3 / 23


Différentiation numérique
Position du problème
Dans le chapitre sur l’interpolation, on a pu constater qu’une fonction f
peut être estimée à l’aide d’un polynôme de degré n avec une certaine
erreur (méthodes d’interpolation de Lagrange ou de Newton) :
f (x) = Pn (x) + En (x) (1)
où En est le terme d’erreur d’ordre (n + 1). C’est cette relation qui est à la
base des développements de ce chapitre.
La différentiation numérique est basée à la fois sur le développement de
Taylor et l’utilisation de l’égalité (1). Si l’on dérive l’équation (1) de
chaque côté de l’égalité, on obtient :
f 0 (x) = Pn0 (x) + En0 (x),
f 00 (x) = Pn00 (x) + En00 (x)
.. .
. = ..
Chapitre 8: Différentiation numérique 4 / 23
Différentiation numérique
Position du problème
Ainsi, pour évaluer la dérivée d’une fonction f connue aux points
(xi , f (xi )) pour i = 0, 1, 2, . . . , n), il suffit d’évaluer le polynôme
d’interpolation passant par ces points. De plus, le terme d’erreur associé à
cette approximation de la dérivée est tout simplement la dérivée de l’erreur
d’interpolation. Ce résultat est vrai quel que soit l’ordre de la dérivée.
Néanmoins, comme la dérivation du terme d’erreur d’interpolation rappelé
ci-dessous :
n
f (n+1)(ξ(x) Y
ε(x) = (x − xj )
(n + 1)!
j=0
pour un certain ξ compris dans l’intervalle [x0 , xn ], peut s’avérer long et
fastidieux, l’estimation de l’ordre de la dérivée et donc de l’ordre de
l’erreur, peut s’effectuer de manière plus simple à l’aide de développements
de Taylor. C’est donc ce principe que nous utiliserons dans la suite de ce
paragraphe.
Chapitre 8: Différentiation numérique 5 / 23
Différentiation numérique

Dérivés d’ordre 1
Commençons par faire l’approximation des dérivées d’ordre 1, ce qui
revient à évaluer la pente de la fonction f . Tout comme pour
l’interpolation, nous avons le choix entre plusieurs polynômes de degré plus
ou moins élevé. De ce choix dépendent l’ordre et la précision de
l’approximation. On supposera dans la suite que les points du support sont
également distancés, c’est-à-dire :

xi+1 − xi = h

Prenons tout d’abord le polynôme de degré 1 passant par les points


(x0 , f (x0 )) et (x1 , f (x1 )) obtenu grâce à la formule de Newton : Sa dérivée
première est :
P1 (x) = f (x0 ) + f [x0 ; x1 ](x − x0 ).

Chapitre 8: Différentiation numérique 6 / 23


Différentiation numérique

Dérivés d’ordre 1
Sa dérivée première est :

f (x1 ) − f (x0 ) f (x1 ) − f (X0 )


P10 (x) = f [x0 , x1 = x1 − x0 ] = (2)
h
qui constitue une approximation de la dérivée première de f dans
l’intervalle [x0 , x1 ]. Pour en déterminer l’ordre, qui dépend du point choisi
pour l’approximation, on utilise un développement de Taylor.

Chapitre 8: Différentiation numérique 7 / 23


Différentiartion numérique
Dérivés d’ordre 1
Premier cas : On fait l’approximation de la dérivée en x0 . L’égalité (2)
peut alors s’écrire :
f (x1 ) − f (x0 ) f (x0 + h) − f (x0 )
f 0 (x0 ) ≈ P10 (x0 ) = =
h h
qui est la différence avant d’ordre 1. On l’appelle différence avant, car
pour évaluer la dérivée en x = x0 , on cherche de l’information vers l’avant
(en x = x1 ). Pour déterminer l’ordre de l’erreur liée à cette approximation,
on utilise un développement de Taylor. Comme
f 00 (x0 )
f (x0 + h) = f (x0 ) + hf 0 (x0 ) + h2 + o(h3 )
2!
on obtient
f (x0 + h) − f (X0 )
= f 0 (x0 ) + O(h).
h
Chapitre 8: Différentiation numérique 8 / 23
Différentiation numérique

Dérivés d’ordre 1
Deuxième cas : On fait l’approximation de la dérivée en x1 . L’égalité (2)
se met alors sous la forme :
f (x1 ) − f (x0 ) f (x1 ) − f (x1 − h)
f 0 (x1 ) ≈ P10 (x1 ) = =
h h
qui est la différence arrière d’ordre 1. Par le même raisonnement que dans
le premier cas, on montre alors qu’elle est aussi d’ordre 1.
On peut aussi convenir de toujours évaluer la dérivée en x, situation qui
est résumée dans le tableau suivant.

Chapitre 8: Différentiation numérique 9 / 23


Différentiation numérique

Dérivés d’ordre 1
Formules de différences finies d’ordre 1 pour f 0
f (x + h) − f (x)
Différence avant d’ordre 1 : f 0 (x) = + o(h)
h
f (x) − f (x − h)
Différence arrière d’ordre 1 : f 0 (x) = + o(h)
h

Chapitre 8: Différentiation numérique 10 / 23


Différentiation numérique

Dérivés d’ordre 1
Reprenons l’approximation de la dérivée de f , mais maintenant en utilisant
un polynôme de degré 2. Soient les points (x0 , f (x0 )), (x1 , f (x1 )) et
(x2 , f (x2 )). Le polynôme de degré 2 passant par ces trois points est :

P2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )

et sa dérivée est :

P20 (x) = f [x0 , x1 ] + f [x0 , x1 , x2 ](2x − (x0 + x1 )) (3)

En reprenant la même approche que celle utilisée pour obtenir les deux
approximations du premier ordre de f 0 , avec le polynôme de degré 2,
lorsque x prend successivement les valeurs x0 , x1 , et x2 , on peut montrer
aisément que l’on obtient les approximations d’ordre 2 de la dérivée
indiquées dans le tableau suivant.
Chapitre 8: Différentiation numérique 11 / 23
Différentiartion numérique

Dérivés d’ordre 1
Formules de différences finies d’ordre 2 pour f 0
Différence avant d’ordre 2 :
−f (x + 2h) + 4f (x + h) − 3f (x)
f 0 (x) = + o(h2 )
2h
Différence arrière centrés d’ordre 2 :
f (x + h) − f (x − h)
f 0 (x) = + o(h2 )
2h
Différence arrière d’ordre 2 :
3f (x) − 4f (x − h) + f (x − 2h)
f 0 (x) = + o(h2 )
2h
Avec les dérivées d’ordre supérieur, on procède de la même manière
qu’avec les dérivées d’ordre 1, c’est- à-dire que l’on dérive un polynôme
d’interpolation aussi souvent que nécessaire.

Chapitre 8: Différentiation numérique 12 / 23


Différentiation numérique

Dérivés d’ordre 2
Reprenons le polynôme de degré 2 déjà utilisé pour calculer la dérivée
première. Ce polynôme s’écrit :

P2 (x) = f (x0 ) + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )

et sa dérivée seconde est :


f (x2 ) − 2f (x1 ) + f (x0 )
P200 (x) = 2f [x0 , x1 , x2 ] = (4)
h2
qui constitue une approximation de la dérivée seconde f 00 dans l’intervalle
[x0 , x2 ]. Il reste à en déterminer l’ordre. Cet ordre dépend du point retenu
pour l’approximation.

Chapitre 8: Différentiation numérique 13 / 23


Différentiation numérique
Dérivés d’ordre 2
Premier cas : On fait l’approximation de la dérivée en x0 .
L’équation (4) peut alors s’écrire :
f (x0 + 2h) − 2f (x0 + h) + f (x0 )
f 00 (x0 ) ≈ P200 (x0 ) =
h2
On remarque immédiatement qu’il s’agit d’une formule aux différences
avant. Pour déterminer l’ordre de l’erreur liée à cette approximation, on
utilise un développement de Taylor. Dans un premier temps, on a :
f 00 (x0 ) f 000 (x0 )
f (x0 + 2h) = f (x0 ) + 2hf 0 (x0 ) + (2h)2 + (2h)3 + o(h4 )
2! 2!
et de même :
f 00 (x0 ) f 000 (x0 )
f (x0 + h) = f (x0 ) + hf 0 (x0 ) + h2 + h3 + o(h4 )
2! 2!
On en déduit donc :
f (x0 + 2h) − 2f (x0 + h) + f (x0 )
≈ f 00 (x0 ) + o(h).
Chapitre 8: Différentiation numérique 14 / 23
Différentiation numérique

Dérivés d’ordre 2
Deuxième cas : On fait l’approximation de la dérivée en x1 .
L’équation (4) peut alors s’écrire :

f (x1 + h) − 2f (x1 ) + f (x1 − h)


f 00 (x1 ) ≈ P200 (x1 ) =
h2
qui est une différence centrée. En procédant de la même manière que dans
le premier cas, c’est-à-dire en utilisant des développements de Taylor, mais
cette fois autour de x1 , on montre que l’approximation de la dérivée
seconde ainsi obtenue est d’ordre 2 :
f (x1 + h) − 2f (x1 ) + f (x1 − h)
displaystyle ≈ f 00 (x1 ) + o(h2 ).
h2

Chapitre 8: Différentiation numérique 15 / 23


Différentiation numérique

Dérivés d’ordre 2
Troisième cas : On fait l’approximation de la dérivée en x2 .
En reprenant un raisonnement similaire à celui des cas précédents, on peut
montrer que la relation (4) fournit alors une différence arrière,
approximation de la dérivée seconde d’ordre 1.

Chapitre 8: Différentiation numérique 16 / 23


Différentiation numérique

Dérivés d’ordre 2

Remarque
Il peut sembler surprenant de constater que la même équation aux
différences, obtenue à partir d’un polynôme de degré 2, soit d’ordre 1en
x = x0 et en x = x2 et soit d’ordre 2 en x = x1 .Cela s’explique par la
symétrie des différences centrées, qui permet de gagner un ordre de
précision.

On peut obtenir toute une série de formules aux différences finies en


utilisant des polynômes de degré plus ou moins élevé et en choisissant des
développements de Taylor appropriés pour en obtenir l’ordre de
convergence. Les tableaux suivants présentent les principales d’entre elles.

Chapitre 8: Différentiation numérique 17 / 23


Différentiation numérique

Dérivés d’ordre 2
Formules de différences finies pour f 00
Différence avant d’ordre 2 :
f (x + 2h) − 2f (x + h) + f (x)
f 00 (x) = + o(h)
h2
Différence arrière d’ordre 2 :
f (x − 2h) − 2f (x − h) + f (x)
f 00 (x) = + o(h)
h2
Différence centrés d’ordre 2 :
f (x + h) − 2f (x) + f (x − h)
f 00 (x) = + O(h2 )
h2

Chapitre 8: Différentiation numérique 18 / 23


Différentiation numérique

Dérivés d’ordre 3
Formules de différences finies pour f 000

f (x + 2h) − 4f (x + h) + 6f (x) − 4f (x − h) + f (x − 2h)


f 000 (x) = + o(h2 )
h4

Chapitre 8: Différentiation numérique 19 / 23


Différentiation numérique

Instabilité numérique
Pour finir ce paragraphe sur la différentiation numérique, nous allons
examiner l’instabilité numérique qui en résulte. Toutes les formules de
différences finies dépendent d’un paramètre h qui est la distance entre les
points d’interpolation. On pourrait croire, de façon intuitive, que la
précision du résultat augmente à mesure que diminue la valeur de h. Dans
le cas de la différentiation numérique, il y a une limite aux valeurs de h qui
peuvent être utilisées. En effet, si l’on prend, par exemple, une différence
centrée pour estimer la dérivée première, c’est-à-dire :

f (x0 + h) − f (x0 − h)
f 0 (x0 ) ≈
2h

Chapitre 8: Différentiation numérique 20 / 23


Différentiation numérique

Instabilité numérique
on constate que, lorsque h tend vers 0, le numérateur contient la
soustraction de deux termes très proches l’un de l’autre. Cela résulte en
l’élimination par soustraction de plusieurs chiffres significatifs lorsque h est
trop petit. A quoi s’ajoute une division par un nombre très petit.
L’exemple suivant illustre le phénomène.

Chapitre 8: Différentiation numérique 21 / 23


Différentiation numérique

Instabilité numérique : Exemple

Exemple
On considère les différences centrées d’ordre 2 pour le calcul des dérivées
première et seconde de la fonction f (x) = e x en x = 0. Ces deux calculs,
qui doivent normalement aboutir à 1, permettent d’apprécier la précision
des résultats. Le tableau suivant rassemble les résultats en simple
précision, ce qui correspond à peu près à travailler avec une mantisse de 7
chiffres décimaux.

Chapitre 8: Différentiation numérique 22 / 23


Différentiation numérique
Instabilité numérique : Exemple

On constate que, lorsque hChapitre


diminue, la précision
8: Différentiation numérique liée aux dérivées 23 / 23

Vous aimerez peut-être aussi