Vous êtes sur la page 1sur 42

Universit dOrlans Facult des Sciences

Licence de physique 3me anne


ANALYSE NUMRIQUE
T. Dudok de Wit
Universit dOrlans
Septembre 2011
Table des matires
1 Introduction 4
1.1 Un exemple : le calcul de

x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Interpolation et extrapolation 5
2.1 Linterpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Autres fonctions dinterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Interpolation en plusieurs dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Diffrentiation numrique 13
3.1 Estimation de la drive premire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Estimation de la drive seconde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Driver dans la pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.1 Si f (x) est donne par un tableau de valeurs . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.2 Si f (x) est donne par son expression analytique . . . . . . . . . . . . . . . . . . . . . 16
3.3.3 Impact du bruit sur la drivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Intgration numrique 19
4.1 Mthodes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Mthodes composes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Autres mthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Lintgration dans la pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Recherche des racines dune fonction 25
5.1 Mthode de la bisection ou de la dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Mthode de la Regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Mthode de la scante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.4 Mthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.5 La recherche de racines dans la pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Intgration dquations diffrentielles 33
6.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2 Les mthodes dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3 Stabilit des mthodes dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.4 Mthodes de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.5 Lintgration dans la pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.6 Intgrer lorsque lordre >1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.7 Intgrer en prsence de conditions de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2
Ce fascicule est unsupport au cours danalyse numrique Il aborde : linterpo-
lation, la drivation et lintgration numriques, la recherche de racines dune
fonction et lintgration dquations diffrentielles. Deux autres chapitres de
lanalyse numrique (algbre linaire et optimisation) seront abords dans le
cours de Nathalie Brun-Huret.
Les applications se feront avec le logiciel Scilab (unclone gratuit de matlab),
dont la documentation et les sources peuvent tre tlcharges ladresse
http://www.scilab.org
Quelques rfrences utiles disponibles la BU sont :
J.-Ph. Grivet, Mthodes numriques appliques, EDPSciences, 2009 (trs
proche du programme du cours, mais avec un contenu plus riche).
A. Fortin, Analyse numrique, Presses Internationales Polytechniques
(bonne introduction, proche des applications).
C. Guilpin, Manuel de calcul numrique appliqu, EDP Sciences, 1999
(plus complet et plus thorique que le prcdent).
W. Press et al., Numerical Recipes in C, Cambridge University Press,
3me d., 2007 (LA rfrence sur les outils numriques).
Des rfrences sur le logiciel Scilab
Le site de Scilab : http://www.scilab.org
B. Pinon, Une introduction Scilab :
http://www.iecn.u-nancy.fr/~pincon/scilab/docA4.pdf
B. Ycart, Dmarrer en Scilab :
http://ljk.imag.fr/membres/Bernard.Ycart/polys/demarre_scilab/
P. Depondt, Cours de physique numrique, (excellent cours en
ligne, mais le niveau est plus proche dun cours de master)
http://physp6www.cicrp.jussieu.fr/PF/Accueil/PhysNum.htm
Pour me contacter : Thierry Dudok de Wit
email ddwit@cnrs-orleans.fr
http://lpc2e.cnrs-orleans.fr/~ddwit/enseignement.html
3
1 Introduction
Lordinateur est aujourdhui un outil incontournable pour simuler et modliser les sys-
tmes, mais il faut encore savoir exprimer nos problmes en langage formalis des
mathmatiques pures. Nous sommes habitus rsoudre les problmes de faon ana-
lytique, alors que lordinateur ne travaille que sur des suites de nombres. On verra ds
lors quil existe souvent plusieurs approches pour rsoudre un mme problme, ce qui
conduit des algorithmes
1
diffrents. Un des objectifs de ce cours est de fournir des
bases rigoureuses pour dvelopper quelques algorithmes utiles dans la rsolution de
problmes en physique.
Un algorithme, pour tre utile, doit satisfaire un certain nombre de conditions. Il doit
tre :
rapide: le nombre doprations de calcul pour arriver au rsultat escompt doit
tre aussi rduit que possible.
prcis : lalgorithme doit savoir contenir les effets des erreurs qui sont inh-
rentes tout calcul numrique. Ces erreurs peuvent tre dues la modlisation,
la reprsentation sur ordinateur ou encore la troncature.
souple : lalgorithme doit tre facilement transposable des problmes diff-
rents.
1.1 Un exemple : le calcul de

x
Sur ordinateur, laddition de deux entiers peut se faire de faon exacte mais non le
calcul dune racine carre. On procde alors par approximations successives jusqu
converger vers la solution souhaite. Il existe pour cela divers algorithmes. Le suivant
est connu depuis lantiquit (mais ce nest pas celui que les ordinateurs utilisent).
Soit x un nombre rel positif dont on cherche la racine carre. Dsignons par a
0
la
premire estimation de cette racine, et par
0
lerreur associe.

x =a
0
+
0
Cherchons une approximation de
0
. Nous avons
x = (a
0
+
0
)
2
= a
2
0
+2a
0

0
+
2
0
Supposons que lerreur soit petite face a
0
, ce qui permet de ngliger le terme en
2
0
x a
2
0
+2a
0

0
Remplaons lerreur
0
par un

0
, qui en est une approximation, de telle sorte que
x = a
2
0
+2a
0

0
1. Le mot algorithme vient du mathmaticien arabe Al-Khwarizmi (VIII sicle) qui fut lun des premiers
utiliser une squence de calculs simples pour rsoudre certaines quations quadratiques. Il est un des pionniers
de lal-jabr (algbre).
4
On en dduit que

0
=(x/a
0
a
0
)/2
Le terme
a
1
=a
0
+

0
=
1
2
_
x
a
0
+a
0
_
constitue une meilleure approximation de la racine que a
0
, sous rserve que le d-
veloppement soit convergent. Dans ce dernier cas, rien ne nous empche de recom-
mencer les calculs avec a
1
, puis a
2
, etc., jusqu ce que la prcision de la machine ne
permette plus de distinguer le rsultat nal de la vritable solution. On peut donc d-
nir une suite, qui partir dune estimation initiale a
0
devrait en principe converger
vers la solution recherche. Cette suite est :
a
k+1
=
1
2
_
x
a
k
+a
k
_
, a
0
>0
Lalgorithme du calcul de la racine carre devient donc
1. Dmarrer avec une premire approximation a
0
>0 de

x
2. A chaque itration k, calculer la nouvelle approximation a
k+1
=(x/a
k
+a
k
)/2
3. Calculer lerreur associe

k+1
=(x/a
k+1
a
k+1
)/2
4. Tant que lerreur est suprieure un seuil x, recommencer en 2.
Le tableauci-dessous illustre quelques itrations de cet algorithme pour le cas o x =4.
i a
i

i
0 4 -1.5
1 2.5 -0.45
2 2.05 -0.0494
3 2.00061 -0.000610
4 2.00000009 -0.000000093
etc
Nous voyons que lalgorithme converge trs rapidement, et permet donc destimer la
racine carre dun nombre moyennant un nombre limit doprations lmentaires
(additions, soustractions, divisions, multiplications). Il reste encore savoir si cet al-
gorithme converge toujours et dterminer la rapidit de sa convergence. Lanalyse
numrique est une discipline proche des mathmatiques appliques, qui a pour ob-
jectif de rpondre ces questions de faon rigoureuse.
2 Interpolation et extrapolation
Problme : Une fonction f (x) nest connue que par quelques-uns de ses points de
colocation :
_
x
0
, f (x
0
)
_
,
_
x
1
, f (x
1
)
_
, . . . ,
_
x
n
, f (x
n
)
_
. Comment fait-on pour valuer cette
fonction f en un x donn, proche des points de colocation?
5
Dans toutes les expriences o on est amen valuer une fonction f (x) pour dif-
frentes valeurs de x (par exemple la pression p(T) en fonction de la temprature T
dans une machine thermique) il est fastidieux voire impossible dvaluer une fonction
f (x) pour un grand nombre de valeurs de x. Linterpolation devient ncessaire chaque
fois que lon veut estimer f (x) pour une valeur de x autre que celles dont on dispose.
Comme nous le verrons plus bas, linterpolation se trouve aussi la base de nombreux
algorithmes.
Exemple : Lors dun balayage de frquence, la rponse en amplitude dun ltre
passe-haut a t mesure quelques frquences diffrentes (cf. tableau ci-dessous).
Estimez la frquence de coupure de ce ltre, sachant que la fonction de transfert du
ltre varie rgulirement avec la frquence. Il faut donc interpoler les donnes et d-
terminer quelle frquence correspond le gain de -3 [dB]. La gure 1 suggre que cette
frquence de coupure vaut environ f
c
=6500 Hz.
gain [dB] x
k
-0.39 -1.39 -1.73 -4.01 -3
frquence [Hz] f (x
k
) 2000 4000 4800 7500 ?
0 2000 4000 6000 8000 10000
6
5
4
3
2
1
0
1
?
frequence [Hz]
g
a
i
n

[
d
B
]
FIGURE 1 Les trois mesures ainsi que lemplacement approximatif de la frquence de coupure du ltre,
pour un gain de -3 dB
Avant dinterpoler ces donnes, il convient dabord de
changer les units : les frquences sont exprimes ici en Hz, mais il est plus com-
mode de les convertir en kHz de sorte ne pas avoir grer des valeurs qui
scartent trop de lunit.
changer de reprsentation. Notre objectif est en effet dvaluer la frquence pour
ungaindonn. Il est donc prfrable de traiter la frquence comme une fonction
du gain ( f = f (g)) plutt que linverse (g =g( f )).
6
Si onpossde unmodle analytique exact de la fonctionde transfert, il vaut mieux utili-
ser celui-ci pour faire unajustement aux donnes et endduire des valeurs interpoles.
En labsence de modle analytique, le plus simple consiste ajuster des polynmes.
Les polynmes ont en effet lavantage de se calculer aisment et de possder des pro-
prits mathmatiques intressantes (dont celle dtre aisment diffrentiables). Nous
avons deux options :
1. Soit on ajuste un seul polynme lensemble des points de colocation. Ce poly-
nme ne pourra pas forcment passer par tous les points. Ce cas est illustr dans
la gure 2(a) ci-dessous. Le polynme de degr 1 (une droite) ne passe pas par
tous les points et approxime relativement mal les mesures. Le polynme de de-
gr 2 (une parabole) ne passe lui non plus par tous les points mais donne des
rsultats visuellement meilleurs. Le polynme de degr 3 passe exactement par
tous les points.
2. Soit on ajuste des polynmes diffrents aux diffrents intervalles, de faon pas-
ser par tous les points. Le plus simple consiste relier les mesures par des poly-
nmes de degr 1 (= des segments de droite). Linterpolation spline, qui est cou-
ramment utilise dans la pratique, consiste relier les points par des bouts de
polynme de degr 3. On obtient ainsi une frquence de coupure de f
c
= 7196
Hz.
6 4 2 0
0
2
4
6
8
10
f
r
e
q
u
e
n
c
e

[
k
H
z
]
gain [dB]
(a)


mesures
droite
parabole
cubique
6 4 2 0
0
2
4
6
8
10
f
r
e
q
u
e
n
c
e

[
k
H
z
]
gain [dB]
(b)


mesures
ordre 1
spline
FIGURE 2 A gauche : interpolation des donnes par un polynme unique. A droite : interpolation en
utilisant des polynmes diffrents pour chaque intervalle.
Il reste maintenant savoir si le polynme dinterpolation utilis constitue une bonne
approximation de la fonction f (x) (dont, rappelons-le, on ne connat que quatre va-
leurs), ou sil est possible de faire mieux.
Sans perte de gnralit, trions les valeurs des abscisses x
i
de telle sorte que x
0
x
1

. . . x
n
. Si la valeur de x qui nous intresse se situe dans lintervalle [x
1
, x
n
], on parlera
dinterpolation. Sinon, cest dextrapolation quil sagira. Lextrapolation dune fonc-
tion est un tache gnralement beaucoup plus dlicate que linterpolation.
7
Il nest pas ncessaire que les pivots x
i
soient quidistants, mme si cela permet davoir
des algorithmes plus rapides.
2.1 Linterpolation polynomiale
Solution : une des solutions les plus simples consiste faire passer par les points de
colocation
_
x
i
, f (x
i
)
_
un polynme de degr k
p
k
(x) =a
0
+a
1
x +a
2
x
2
+. . . +a
k
x
k
tel que
p
k
(x
i
) = f (x
i
) i =1, . . . n
puis valuer ensuite ce polynme en x. Si ce polynme approxime bien la fonction
f , on peut esprer que f (x) p
k
(x). Un thorme important dit ici que
Thorme : Par n +1 points de colocation
_
x
i
, f (x
i
)
_
, dabscisses diffrentes (x
i
=
x
j
i = j ), on ne peut faire passer quun et un seul polynme de degr n.
0 1 2 3 4 5
2
1
0
1
2
3
4
x
f
(
x
)


mesures
p
4
(x)
spline
log(x)
FIGURE 3 Exemple dajustement dune fonction f (x) =log(x) par un polynme de degr quatre p
4
(x)
et par une fonction spline cubique s(x). La fonction f (x) nest connue que par cinq points de colocation.
Linterpolation est satisfaisante, quelle que soit la fonction choisie. En revanche, lextrapolation scarte
trs vite de la valeur exacte, et ce pour tous les polynmes.
Par deux points ne passe donc quune seule droite. Par trois points une seule parabole,
etc. Il existe diffrentes approches pour construire ces polynmes. Toutes donnent for-
mellement le mme rsultat, mais leur utilit pratique varie considrablement (temps
de calcul, sensibilit aux erreurs darrondi, . . . ). La mthode de Lagrange est un m-
thode simple et systmatique pour construire des polynmes de degr quelconque.
8
Elle nest cependant gure utilise aujourdhui en raison de son cot en temps de cal-
cul.
Pour une fonction dnie par deux points de colocation uniquement (n =2), le
polynme de Lagrange est de degr 1 et scrit
p
1
(x) = f (x
0
)
x x
1
x
0
x
1
+ f (x
1
)
x x
0
x
1
x
0
Onvrie que ce polynme passe bienpar les deux points de colocationpuisque
p(x =x
0
) = f (x
0
) et p(x =x
1
) = f (x
1
).
Pour une fonction dnie par trois points de colocation, le polynme de La-
grange est une parabole dquation
p
2
(x) = f (x
0
)
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
+ f (x
1
)
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
+ f (x
2
)
(x x
0
)(x x
1
)
(x
2
x
0
)(x
2
x
1
)
Pour une fonction dnie par n +1 points de colocation, lexpression gnrale
du polynme de Lagrange de degr n scrit
p
n
(x) =
n

k=0
f (x
k
)L
k
(x)
o L
k
(x) dsigne le polynme de degr n
L
k
(x) =
(x x
0
)(x x
1
) (x x
k1
)(x x
k+1
) (x x
n
)
(x
k
x
0
)(x
k
x
1
) (x
k
x
k1
)(x
k
x
k+1
) (x
k
x
n
)
On vrie que L
k
(x) satisfait toujours la condition
L
k
(x
l
) =
_
0 si l =k
1 si l =k
Erreur dinterpolation : linterpolation polynomiale peut aisment gnrer des
valeurs absurdes, si elle nest pas effectue correctement. Il est donc essentiel de quan-
tier lerreur dinterpolation pour interprter les rsultats.
En analyse numrique , il est gnralement impossible de connatre exactement lerreur.
En effet, si tel tait le cas, alors la solution exacte serait elle aussi connue. En revanche,
il est souvent possible destimer lordre de grandeur de lerreur et de savoir comme cette
dernire se comporte dans diffrentes conditions. Cette information est ncessaire (mais
non sufsante) pour valuer la abilit dune mthode.
Appelons
n
(x) lcart ou erreur dnie par
f (x) =p
n
(x) +
n
(x)
Tout le problme consiste estimer lerreur sans disposer de la valeur de f (x) en tout
x. On supposera dans ce qui suit que les valeurs des points de colocation sont connues
9
exactement, ce qui nest pas toujours vrai dans la pratique. Le thorme suivant est
alors utile
Thorme : Soit un ensemble de n + 1 points de colocation {
_
x
0
, f (x
0
)
_
,
_
x
1
, f (x
1
)
_
, . . . ,
_
x
n
, f (x
n
)
_
}. On suppose que la fonction f (x) est dnie dans lintervalle
[x
0
, x
n
] et quelle est (n +1)-fois drivable dans lintervalle ]x
0
, x
n
[. Il existe alors une
abscisse [x
0
, x
n
] telle que

n
(x) =
f
(n+1)
()
(n+1)!
(x x
0
)(x x
1
) (x x
n
)
o lexpression f
(n+1)
() dsigne la drive (n +1)-ime de f (x), value en une abs-
cisse inconnue.
Ce thorme nous apprend que
lerreur
n
(x) est dautant plus petite que la fonction f (x) est "lisse" (ses drives
suprieures restent petites).
lerreur
n
(x) diminue quand x est proche dun des points de colocation. Elle est
naturellement nulle aux points de colocation :
n
(x
i
) =0, i =0, . . . , n
pour un degr n lev, le polynme dans lexpression de lerreur tend osciller,
ce qui peut affecter linterpolation.
0 2 4 6
0
5
10
15
x
f
(
x
)


mesures
p
10
(x)
FIGURE 4 Exemple dinterpolation avec un polynme de degr 10. Plus le degr est lev, plus le poly-
nme a tendance osciller.
La gure 4 illustre ce qui se passe quand on interpole avec des polynmes de degr
lev. Non seulement le calcul de ces polynmes de degr lev prsente des instabili-
ts numriques, mais en plus on voit apparatre des oscillations indsirables. Augmen-
ter le degr du polynme ne fait quamplier ces oscillations. Do la rgle gnrale
10
Linterpolation polynomiale est dautant plus risque que le degr du po-
lynme est lev. En pratique, on ne dpasse rarement le degr trois.
Linterpolation est dautant meilleure que la fonction ajuster est rgu-
lire (continment drivable).
La gure 5 illustre linterpolation dune fonction qui nest pas continment drivable.
La discontinuit augmente considrablement lerreur dinterpolation.
2 4 6 8
2
0
2
4
6
8
10
12
x
f
(
x
)


mesures
p
5
(x)
spline
sol. exacte
FIGURE 5 Exemple dajustement dune fonction discontinue par un polynme de degr quatre p
5
(x) et
par une fonction spline cubique s(x). La fonction f (x) nest connue que par six points de colocation.
2.2 Autres fonctions dinterpolation
Il existe de nombreuses autres mthodes dinterpolation ainsi que divers algorithmes
pour le calcul des coefcients des polynmes dinterpolation. Le cas o les pivots sont
quidistants se prte videmment le mieux un calcul rapide.
Le choix dune mthode est gnralement motiv par un ou plusieurs critres
- la simplicit de la programmation
- la rapidit de lalgorithme de calcul
- la capacit de la fonction dcrire f (x)
- le proprits analytiques intressantes
- la gnralisation plus de dimensions : comment interpoler une fonction de plu-
sieurs variables ? . . .
Citons ici les fonctions spline cubiques, qui sont devenues trs populaires. Au lieu
de faire passer un unique polynme de degr lev par tous les points de coloca-
tion, on choisit de faire passer une cubique diffrente par chaque paire de points
11
(x
0
, x
1
), (x
1
, x
2
), . . . , (x
n1
, x
n
). Le problme est a priori sous-dtermin, car il existe une
innit de cubiques pouvant passer par deux points. Toutefois, si onimpose enchaque
x
i
la continuit de f (x) ainsi que la continuit de la drive premire f

(x), la solution
devient unique. Le rsultat est souvent plus satisfaisant quavec un polynme de La-
grange, comme le montrent les gures 3 et 4. Il existe en outre des algorithmes rapides
pour le calcul des coefcients des splines.
2.3 Extrapolation
Lextrapolationest une tche encore bienplus dlicate que linterpolation, car la rapide
divergence des fonctions polynmiales tend rapidement donner des valeurs qui sont
totalement dnues de sens. Contrairement linterpolation, il est indispensable de
disposer dun modle analytique de la fonction tudier si on veut extrapoler celle-ci.
Sans un tel modle, lextrapolation sera peu crdible.
1800 1900 2000 2100
0
5
10
15
20
25
annee
e
f
f
e
c
t
i
f

[
m
i
l
l
i
a
r
d
]


mesures
p
5
(x)
spline
exponentielle
FIGURE 6 Extrapolation de leffectif de la population mondiale jusquen 2100.
Exemple : Le tableau ci-dessous donne quelques valeurs de la popu-
lation mondiale. Diffrentes hypothses de fcondit donnent des extra-
polations fort diffrentes. Selon le scnario malthusien (taux de natalit
constant), la concentration devrait continuer de crotre de faon exponen-
tielle n(t) =n
0
e
t /
. Ce cas est illustr par la courbe en traitill dans la gure
6. Une rduction progressive de ce taux permettrait au contraire de stabili-
ser leffectif. Les extrapolation polynomiales dans la gure 6 ne sappuient
sur aucun modle et nont donc aucune valeur, mme si le hasard veut que
le modle spline soit en bon accord avec le modle mathusien pour le sicle
venir.
12
anne t 1804 1927 1960 1974 1987 1999
effectif n(t) [milliard] 1 2 3 4 5 6
2.4 Interpolation en plusieurs dimensions
De nombreuses applications sont de grosses consommatrices dinterpolations plu-
sieurs dimensions : les programmes faisant appel des lments nis, la CAO, les lo-
giciels utiliss pour gnrer des effets spciaux dans les lms, . . . La plupart des outils
(et en particulier les fonctions spline) peuvent tre gnres plusieurs dimensions,
au prix dune plus grande complexit.
3 Diffrentiation numrique
Une fonction f (x) continment drivable est connue par quelques-uns de ses points
de colocation. Comment fait-on pour valuer la drive premire f

(x) et/ou les d-
rives dordre suprieur ? Ce besoin de diffrentiation numrique sexprime dans de
nombreux domaines.
Exemple : La tension aux bornes dun condensateur qui se dcharge
est mesure des intervalles rguliers, donnant une suite de valeurs
{U
0
,U
1
,U
2
, . . . ,U
n
}. Pour estimer le courant de dcharge I =C

U, il faut dri-
ver une fonction dont on ne connat que les points de colocation. Comment
procder ?
La solution consiste ici faire passer par les points de colocation un polynme dinter-
polation, puis driver celui-ci le nombre de fois ncessaire. On peut ainsi estimer la
drive aux points de colocation ou entre deux.
3.1 Estimation de la drive premire
Le cas le plus simple est celui o il ny a que deux points de colocation :
_
x
0
, f (x
0
)
_
et
_
x
1
, f (x
1
)
_
. Par ces points passe la droite dquation
p
1
(x) =
f (x
1
) f (x
0
)
x
1
x
0
(x x
0
) + f (x
0
)
Lestimation de la drive premire quivaut donc au coefcient directeur de la droite
f

(x) p

1
(x) =
f (x
1
) f (x
0
)
x
1
x
0
, x [x
0
, x
1
]
Notons quelle prend la mme valeur en tout point de lintervalle [x
0
, x
1
]. Par ailleurs,
la drive seconde et toutes les drives suprieures sont nulles.
13
Estimation de lerreur : Pour savoir quelle conance accorder lexpression
ci-dessus, il faut connatre lerreur. Du chapitre prcdent, nous tirons
f (x) =p
n
(x) +
n
(x) f

(x) =p

n
(x) +

n
(x)
Supposons dornavant que les abscisses des points de colocation sont rgulirement
rparties, et appelons h = x
i +1
x
i
lcartement ou pas entre deux abscisses voisines.
On peut alors montrer que

n
(x) =(1)
n
f
(n+1)
()
(n+1)!
h
n
, [x
0
, x
n
]
Lerreur varie donc comme

n
(x) h
n
. On dira quelle est dordre n et on crira fr-
quemment de faon abrge

n
(x) O(h
n
)
Avec deux points de colocation, lexpression de la drive premire dordre 1 peut
scrire de deux faons diffrentes. Soit on estime la pente de la droite qui passe par
le point de colocation suivant (diffrence avant), soit on prend la pente de la droite
passant par le point qui prcde (diffrence arrire).
f

(x
k
) =
f (x
k+1
) f (x
k
)
h
+O(h) diffrence avant dordre 1
f

(x
k
) =
f (x
k
) f (x
k1
)
h
+O(h) diffrence arrire dordre 1
Avec trois points de colocation, le polynme dinterpolation devient une parabole. A
partir de cette dernire, on peut valuer la drive premire en chacun des trois points
f

(x
k1
) =
f (x
k+1
) +4f (x
k
) 3f (x
k1
)
2h
+O(h
2
) diffrence avant dordre 2
f

(x
k
) =
f (x
k+1
) f (x
k1
)
2h
+O(h
2
) diffrence centre dordre 2
f

(x
k+1
) =
3f (x
k+1
) 4f (x
k
) + f (x
k1
)
2h
+O(h
2
) diffrence arrire dordre 2
Pour les diffrences dordre 2, lerreur varie asymptotiquement comme h
2
alors que
pour les diffrences dordre un, elle varie comme h. Pour une fonction f sufsamment
lisse et pour un petit pas h donn, la diffrence dordre 2 donnera gnralement une
erreur plus petite.
Trois raisons nous poussent prfrer la diffrence centre dordre 2 :
1. Dabord, son terme derreur est en O(h
2
) et non en O(h)
2. Un calcul plus dtaill montre ensuite que parmi les trois estimateurs dordre 2,
cest la diffrence centre qui possde en moyenne lerreur la plus petite.
3. Enn, et cest l un point crucial : la diffrence centre dordre 2 ne ncessite
que la connaissance de deux points de colocation. En effet, la valeur du point en
lequel onestime la drive nentre pas enjeu. Le cot encalcul est donc identique
celui dune diffrence dordre 1, pour un rsultat meilleur.
14
x0 x1 x2
f(x0)
f(x1)
f(x2)
diff. avant
diff. centree
diff. arriere
FIGURE 7 Illustration des drives avant et arrire dordre 1, et de la drive centre dordre 2 au point
dabscisse x =x
1
.
Exemple : Lestimation de la drive de f (x) =1/x en x =2 par diffrentes
mthodes donne les rsultats ci-dessous. On constate que pour h sufsam-
ment petit, rduire le pas dun facteur 10 revient diminuer lerreur dun
facteur 10 pour la mthode dordre 1 et dun facteur 100 pour la mthode
de dordre 2. En revanche, pour des grands pas h, la mthode dordre 1 est
plus proche de la ralit. La diffrence centre dordre 2 est donc plus int-
ressante, condition que le pas soit sufsamment petit, et pour autant que
la fonction f driver soit sufsamment continue.
pas diffrence centre diffrence avant
dordre 2 dordre 1
h f

(x =2) || f

(x =2) ||
1.50000000 -0.57142857 0.32142857 -0.14285714 0.10714286
1.00000000 -0.33333333 0.08333333 -0.16666667 0.08333333
0.10000000 -0.25062657 0.00062657 -0.23809524 0.01190476
0.01000000 -0.25000625 0.00000625 -0.24875622 0.00124378
0.00100000 -0.25000006 0.00000006 -0.24987506 0.00012494
0.00010000 -0.25000000 0.00000000 -0.24998750 0.00001250
0.00001000 -0.25000000 0.00000000 -0.24999875 0.00000125
3.2 Estimation de la drive seconde
La procdure reste la mme pour les drives secondes, sauf que le polynme din-
terpolation doit tre driv deux fois. Comme ce polynme doit tre au minimum de
degr 2 (sinon sa drive seconde est nulle), on en dduit quil faut au minimum trois
points de colocation.
15
Pour trois points de colocation, on obtient les expressions
f

(x
k1
) =
f (x
k+1
) 2f (x
k
) + f (x
k1
)
h
2
+O(h
2
) diffrence avant dordre 2
f

(x
k
) =
f (x
k+1
) 2f (x
k
) + f (x
k1
)
h
2
+O(h
2
) diffrence centre dordre 2
f

(x
k+1
) =
f (x
k+1
) 2f (x
k
) + f (x
k1
)
h
2
+O(h
2
) diffrence arrire dordre 2
A titre de comparaison, la diffrence centre dordre 4 scrit
f

(x
k
) =
f (x
k2
) +16(x
k1
) 30f (x
k
) +16f (x
k+1
) f (x
k+2
)
h
4
+ O(h
4
)
3.3 Driver dans la pratique
3.3.1 Si f (x) est donne par un tableau de valeurs
Si la fonction driver est spcie par un ensemble de points de colocation (= son
expression analytique nest pas connue) alors le pas est impos. Le seul degr de li-
bert dont on dispose reste le degr du polynme dinterpolation utilis pour valuer
la drive.
Augmenter le degr du polynme peut sembler intressant, mais nous avons vu que
les polynmes dinterpolation de degr suprieur 3 sont rarement recommandables.
Par ailleurs, un telcalcul ncessitera davantage doprations de calcul.
3.3.2 Si f (x) est donne par son expressionanalytique
La situations est fort diffrente lorsque lexpression analytique de la fonction driver
est connue. En effet les points de colocation peuvent alors tre choisis librement et on
peut prendre un pas h aussi petit que souhait.
Onpourrait penser quil vaut mieux choisir unpas h trs petit pour augmenter la prci-
sion du calcul. Cest souvent vrai. Toutefois, lorsque h devient trop petit, le rsultat est
entach par des erreurs darrondi. En effet, suivant le type de fonction driver, il arri-
vera un moment o lcart f (x +h) f (x) sera infrieur la prcision du calculateur.
Le rsultat sera alors erron.
Il existe donc une valeur optimale du pas qui dpendra de la fonction f (x) driver
et de la prcision du calculateur. Pour une calculette de poche, la valeur relative du
pas se situera typiquement entre h/x = 10
2
et h/x = 10
6
. Pour un calcul en double
prcision, le pas relatif pourra parfois descendre jusqu h/x =10
12
.
16
3.3.3 Impact du bruit sur la drivation
La diffrentiation numrique est une procdure qui amplie fortement le bruit dans
un signal. La gure 8 illustre le cas de la drivation de la fonction f (x) =sin(x) lorsque
cette dernire est affecte par du bruit additif de faible amplitude.
0 2 4 6 8
1
0.5
0
0.5
1
x
f
(
x
)
f(x)=sin(x) sans bruit
0 2 4 6 8
1
0.5
0
0.5
1
x
f(x)=sin(x) avec bruit
0 2 4 6 8
1
0.5
0
0.5
1
x
f

(
x
)
f(x) sans bruit
0 2 4 6 8
1
0.5
0
0.5
1
x
f(x) avec bruit
FIGURE 8 Drivation de la fonction f (x) = sin(x) avec un lger bruit additif ( droite) et sans bruit
additif ( gauche). La range de haut reprsente la fonction f (x) avec ses points de colocation. La range
de bas reprsente la fonction diffrencie, avec la drive avant dordre 1 (traitill), la drive arrire
dordre 1 (trait n) et la drive centre dordre 2 (trait pais).
Pour rsumer, il est conseill de
17
Pour les drives dordre 1 et 2, les expressions les plus intressantes sont
les diffrences centres dordre 2
f

(x
k
) =
f (x
k+1
) f (x
k1
)
2h
+O(h
2
)
f

(x
k
) =
f (x
k+1
) 2f (x
k
) + f (x
k1
)
h
2
+O(h
2
)
En gnral, plus le terme derreur O(h
p
) est dordre lev, plus le rsultat
tendra tre prcis. Mais ceci nest pas toujours vrai lorsque les donnes
sont affectes de bruit. De fait, les drives dordre suprieur et les expres-
sions dordre suprieur 2 sont rarement utilises.
A titre dexemple, un programme de calcul simpli de la drive par diffrence cen-
tre scrit en Scilab
1 function [dydx] = derivee (y,h)
2
3 // y : vecteur de valeurs a deriver
4 // h : pas de derivation
5 // dydx : difference centree de y(x) (vecteur colonne )
6
7 y = y(:);
8 n = length(y);
9 dydx = zeros(n ,1);
10 dydx(1) = y(2)-y(1);
11 dydx(n) = y(n)-y(n-1);
12 dydx(2:n-1) = (y(3:n)-y(1:n -2)) / 2;
13 dydx = dydx / h;
14 endfunction
o y est un vecteur dordonnes obtenues pour des abscisses espaces de h. Voici la
mme fonction, crite sous une forme plus compacte
1 function [dydx] = derivee (y,h)
2
3 // y : vecteur de valeurs a deriver
4 // h : pas de derivation
5 // dydx : difference centree de y(x) (vecteur colonne )
6
7 y = y(:); // met y en vecteur colonne
8 dydx = [y(2)-y(1); (y(3:$)-y(1:$ -2))/2; y($)-y($ -1)]/h;
9 endfunction
Si lexpression analytique de la fonction f (x) est connue, alors on peut procder diff-
remment :
18
1 function [dfdx] = derivee (f,x)
2
3 // f : nom de la fonction a deriver
4 // x : vecteur dabscisses ou il faut evaluer la derivee
5 // dfdx : valeur de la derivee (vecteur colonne )
6
7 x = x(:); // met x en vecteur colonne
8 dx = [x(2)-x(1); (x(3:$)-x(1:$ -2))/2; x($)-x($ -1)]; // le pas
9 y = f(x); // evalue en x la fonction dont le nom est dans f
10 dfdx = [y(2)-y(1); (y(3:$)-y(1:$ -2))/2; y($)-y($-1)] ./ dx;
11 endfunction
Il faut ensuite dnir la fonction driver. Par exemple pour f (x) =xe
x
nous aurions
function f = mafonction(x)
// definit la fonction dont il faut evaluer la derivee
f = exp(-x).*x;
endfunction
Et le rsultat sobtient en excutant dans la console
z = derivee(mafonction,x);
4 Intgration numrique
Le problme de lintgration numrique (ou quadrature) peut se prsenter de deux
faons diffrentes :
Problme 1 : Une fonction f (x) est connue par quelques-uns de ses points de
colocation {
_
x
i
, f (x
i
)
_
}
n
i =0
(qui sont rgulirement espacs ou non). Comment fait-on
pour estimer la valeur de lintgrale
_
x
n
x
0
f (x) dx, alors que lexpression analytique de
f (x) nest pas connue ?
Un exemple : la dcharge dun courant I (t) dans une bobine dinductance L
est tudie en mesurant le courant des intervalles de temps rguliers. Cela
donne une suite {I
0
, I
1
, . . . , I
n
}. Comment estimer lnergie W =
1
2
L
_
I
2
dt ?
Problme 2 : On cherche la valeur de lintgrale dnie
_
b
a
f (x) dx lorsque lex-
pression analytique de lintgrand f (x) est connue, mais non sa primitive.
Un exemple : calculer
_
b
a
e
x
2
dx
19
Solution : Ces deux problmes, pourtant trs diffrents, peuvent tre rsolus avec les
mmes outils. Comme dans le chapitre prcdent, nous interpolons la fonction f (x) ou
ses points de colocation avec un polynme, puis nous intgrons explicitement ce po-
lynme. Nous supposerons dans ce qui suit que la distance entre points de colocation
adjacents est constante et vaut h (le pas).
4.1 Mthodes simples
Commenons par le cas le plus simple : estimer lintgrale dnie par seulement deux
points de colocation (n =1). Par ces deux points passe le polynme de degr 1
p
1
(x) =
f (x
1
) f (x
0
)
x
1
x
0
(x x
0
) + f (x
0
)
Or nous avons
_
x
1
x
0
f (x) dx =
_
x
1
x
0
p
1
(x) dx +
_
x
1
x
0

1
(x) dx
ce qui donne
_
x
1
x
0
f (x) dx =
h
2
_
f (x
0
) + f (x
1
)
_
+O(h
3
)
Cette mthode est dite mthode des trapzes puisque laire est approxime par un tra-
pze (cf. gure 9).
0 2 4 6
0
1
2
3
4
x
f
(
x
)
n=1
0 2 4 6
0
1
2
3
4
x
n=2
FIGURE 9 Exemple dintgration dune fonction par interpolation avec un polynme du premier et du
second degr. La valeur de lintgrale correspond laire de la gure en gris.
En ajoutant un point de colocation entre les deux premiers, nous pouvons amliorer le
rsultat et interpoler par une parabole. Cela donne la mthode de Simpson
_
x
2
x
0
f (x) dx =
h
3
_
f (x
0
) +4f (x
1
) + f (x
2
)
_
+O(h
5
)
20
Notons que pour un pas h sufsamment petit, la mthode de Simpson donne une
erreur considrablement plus petite que celle de la mthode des trapzes. On peut
supposer que le rsultat samliore davantage en approximant lintgrale avec quatre
points. Toutefois, pour les raisons voques plus haut, il nest gure recommand de
recourir des polynmes de degr plus lev.
Comment faut-il alors procder pour intgrer des fonctions donnes par un grand
nombre de points de colocation? Au lieu daugmenter le degr du polynme, il suft
dappliquer sparment la mthode des trapzes ou se Simpson chacun des inter-
valles. Cela donne les formules dites composes.
0 2 4 6
0
1
2
3
4
x
f
(
x
)
trapezes n=6
0 2 4 6
0
1
2
3
4
x
Simpson n=6
FIGURE 10 Exemple dintgration dune fonction avec une mthode compose : la mthode des tra-
pzes ( gauche) et celle de Simpson ( droite).
4.2 Mthodes composes
Pour intgrer avec la mthode des trapzes une fonction dont les abscisses sont
{x
0
, x
1
, . . . , x
n
}, il suft dappliquer sparment la mthode des trapzes chaque in-
tervalle. Cela donne
_
x
n
x
0
f (x) dx =
h
2
_
f (x
0
) + f (x
1
)
_
+
h
2
_
f (x
1
) + f (x
2
)
_
+ +
h
2
_
f (x
n1
) + f (x
n
)
_
+O(nh
3
)
= h
_
1
2
f (x
0
) + f (x
1
) + f (x
2
) + + f (x
n1
) +
1
2
f (x
n
)
_
+O(nh
3
)
Dans la pratique, les bornes dintgration x
0
et x
n
sont gnralement xes, mais non
le nombre n dintervalles. Cest donc sur ce dernier quil faut jouer pour amliorer la
prcision des rsultats. Comment varie le terme derreur en fonction de n ? Nous avons
nh
3
= n
_
x
n
x
0
n
_
3

1
n
2
Lerreur dintgration varie donc comme n
2
et nous noterons O(n
2
). Contrairement
la drivation, ole paramtre-cl est le pas h, ici nous travaillons plutt sur le nombre
dintervalles n.
21
Avec la mthode de Simpson (en prenant des intervalles qui ne se chevauchent pas),
on obtient la formule de Simpson compose. Comme chaque intervalle ncessite trois
points de colocation, le nombre n dintervalles doit obligatoirement tre pair. Cela
donne
_
x
n
x
0
f (x) dx =
h
3
_
f (x
0
) +4f (x
1
) +2f (x
2
) +4f (x
3
) + +4f (x
n1
) + f (x
n
)
_
+O(n
4
)
4.3 Autres mthodes
On utilise aujourdhui plus couramment des mthodes adaptatives qui, pour un
nombre dintervalles n donn, offrent une erreur plus petite ou bien qui permettent de
slectionner le meilleur nombre dintervalles (pour une prcision donne) en proc-
dant par itrations. La mthode de Romberg consiste combiner astucieusement une
interpolation par des polynmes de diffrents degrs pour rduire davantage le terme
derreur. Les mthodes de quadrature de Gauss cherchent minimiser lerreur din-
tgration en choisissant convenablement les abscisses x
i
(qui ne sont plus forcment
rparties uniformment). Enn, il existe des mthodes spcialement adaptes lint-
gration de fonctions qui prsentent des singularits, comme par exemple f (x) =x
1/2
.
4.4 Lintgration dans la pratique
Les problmes dintgration numrique sont comparables ceux rencontrs dans la
diffrentiation numrique. Augmenter le nombre n dintervalles (lorsque cest pos-
sible) amliore gnralement les rsultats. Toutefois, lorsque n devient trop grand, le
temps de calcul devient prohibitif et le rsultat est corrompu par les erreurs darrondi.
Suivant le type de fonction, n peut varier de n = 100 10
6
ou plus. Il existe des m-
thodes qui permettent de dterminer le nombre n optimal de faon rcursive.
Exemple de calcul avec un intgrand connu
On cherche la valeur de lintgrale I =
_
1
0
e
x
dx donne
mthode des trapzes mthode de Simpson
n I I
2 0.6452351 -0.0131 0.6323336 -0.000213
4 0.6354094 -0.00328 0.6321341 -0.0000136
10 0.6326472 -0.000526 0.6321209 -0.000000351
100 0.6321258 -0.00000526 0.6321209 -0.0000000000351
1000 0.6321206 -0.0000000526 0.6321209 -0.00000000000000351
22
On saperoit quen dcuplant le nombre dintervalles, lerreur chute dun facteur 10
2
pour la mthode des trapzes (qui est dordre O(n
2
)), et dun facteur 10
4
pour la m-
thode de Simpson, dordre O(n
4
). Ceci est illustr dans la gure 11. A prcision com-
parable, la mthode de Simpson ncessite donc moins de oprations arithmtiques.
Attention : ceci est vrai uniquement pour un nombre dintervalles n 1. Quand ce
nombre est faible (typiquement n < 10), il peut arriver que la mthode des trapzes
offre un meilleur rsultat.
Exemple de calcul avec une suite de points de colocation
Quelle est la distance parcourue par un objet dont les mesures de vitesse ont donn ?
t [s] 5 6 7 8 9 10 11 12 13
v [m/s] 20 19 17 13 8 5 2 1 0
On trouve respectivement
Mthode ordre rsultat
Mthode des rectangles n
1
85.00 m
Mthode de trapzes n
2
75.00 m
Mthode de Simpson n
4
75.33 m
Dans cet exemple, le rsultat exact nest pas connu car lexpression analytique de f (x)
ne lest pas non plus.
10
0
10
2
10
4
10
6
10
15
10
10
10
5
10
0
n

(
n
)


eps
Trapezes
Simpson
FIGURE 11 Evolution de lerreur dintgration en fonction du nombre dintervalles n, pour la mthode
des trapzes et celle de Simpson. La fonction intgre est ici
_

0
sinx dx. Notez que lerreur cesse du
chuter lorsque sa valeur devient comparable la prcision machine. Inutile daugmenter n dans ce cas !
23
Avant dintgrer une fonction, il faut la visualiser au pralable, an dtermi-
ner si elle se prte bien une intgration numrique (rgularit, disconti-
nuits, singularits,. . . ) et pour estimer le pas.
Le pas doit toujours tre choisi h T, o T est lchelle caractristique sur
laquelle la fonction f (x) varie. Pour une fonction priodique, par exemple,
T sera la priode.
Les mthodes dintgration classiques sont la mthode des trapzes et celle
de Simpson. La seconde offre, temps de calcul quivalent, un rsultat g-
nralement meilleur.
_
x
n
x
0
f (x) dx =h
_
1
2
f (x
0
) + f (x
1
) + f (x
2
) + + f (x
n1
) +
1
2
f (x
n
)
_
+O(n
2
)
_
x
n
x
0
f (x) dx =
h
3
_
f (x
0
)+4f (x
1
)+2f (x
2
)+4f (x
3
)+ +4f (x
n1
)+f (x
n
)
_
+O(n
4
)
Un programme de calcul simpli de lintgrale par la mthode des trapzes, lorsque
lexpression analytique de lintgrand est connue, est donn ci-dessous. On pourrait
aussi passer le nom de lintgrand comme argument.
1 function [y] = trapezes (f,a,b,n)
2
3 // f : nom de la fonction a integrer
4 // a : borne inferieure
5 // b : borne superieure
6 // n : nombre d intervalles
7 // y : integrale
8
9 x = linspace (a,b,n+1);
10 y = f(x); // evalue en x la fonction dont le nom est dans f
11 h = x(2)-x(1); // le pas
12 I = (sum(y) - 0.5*(y(1)+y($)))*h;
13 endfunction
La mme fonction, base sur la mthode de Simpson, donne
1 function [I] = simpson (f,a,b,n)
2
3 // f : nom de la fonction a integrer
4 // a : borne inferieure
5 // b : borne superieure
6 // n : nombre d intervalles (pair)
7 // I : integrale
8
9 n = 2*int(n/2); // garantit que n soit pair
10 x = linspace (a,b,n+1);
11 y = f(x); // evalue en x la fonction dont le nom est dans f
12 h = x(2)-x(1); // le pas
13 I = y(1)+y($) + 4* sum(y(2:2:$-1)) + 2*sum(y(3:2:$ -2));
24
14 I = I*h/3;
15 endfunction
Par intgrer, il fait leur fournir le nom de la fonction qui dnit lintgrand. Par
exemple, pour calculer
_
1
0
e
x
2
dx avec la mthode des trapzes enprenant 400 noeuds,
on commence par dnir lintgrand
function f = integrand(x)
// definit lintegrand pour le calcul dintegrale
f = exp(-x.*x);
endfunction
ou encore dnir dans la console une fonction avec la commande deff
deff([y]=integrand(x),y=exp(-x.*x))
puis dans la console on excute la commande
I = trapezes(integrand,0,1,400)
5 Recherche des racines dune fonction
Problme : Une fonction f (x) connue en chacun de ses points possde une ou plu-
sieurs racines (ou zros) { x
i
| f ( x
i
) =0}. Comment fait-on pour dterminer ces racines ?
Il existe de nombreuses mthodes de recherche de racines. Toutes sont itratives : par-
tant dune ou de plusieurs estimations de la racine, ces mthodes convergent en prin-
cipe par itrations successives. Le problme consiste trouver un compromis entre
la vitesse (il faut limiter le nombre doprations de calcul) et la abilit (il faut que la
mthode converge srement vers la valeur souhaite).
Dans la pratique, onest souvent amen alterner diffrentes mthodes enfonctiondes
caractristiques de la fonction. Notons aussi que le problme courant de la recherche
de zros en plusieurs dimensions {( x
i
, y
i
, . . .) | f ( x
i
, y
i
, . . .) =0} est nettement plus com-
plexe et fait aujourdhui encore lobjet dintenses recherches.
5.1 Mthode de la bisection ou de la dichotomie
Supposons que lintervalle dans lequel se situe la racine soit connu. La mthode de
la bisection offre une convergence lente mais sre vers la racine. Cette mthode est
recommande lorsque la fonction prsente des discontinuits ou des singularits.
25
Procdure suivre : La racine se trouve initialement dans lintervalle de re-
cherche [x
k
, x
k+1
]. On a donc f (x
k
) f (x
k+1
) 0. Lalgorithme devient
1. choisir comme nouvelle abscisse x
k+2
= (x
k
+x
k+1
)/2, le point milieu de linter-
valle :
2. si f (x
k
) f (x
k+2
) 0, la solution se trouve dans lintervalle [x
k
, x
k+2
], qui devient
alors le nouvel intervalle de recherche
3. au contraire, si f (x
k
) f (x
k+2
) 0, le nouvel intervalle de recherche devient
[x
k+2
, x
k+1
]
4. revenir au point 1. jusqu ce quil y ait convergence.
0 0.5 1 1.5 2 2.5 3
4
2
0
2
4
6
x
f
(
x
)
x
0
x
1
x
2
x
3
x
4 x

FIGURE 12 Reprsentation des premires itrations avec la mthode de la bisection pour f (x) =x
2
4.
On peut montrer que cette mthode possde une convergence linaire : si
k
=| x x
k
|
est lcart la k-ime itration entre x
k
et la racine x

, alors en moyenne
k+1
= c
k
,
o 0 <c <1 est une constante.
Exemple : reprenons lexemple de lintroduction, qui consiste calculer la racine
carre de 4. Posons f (x) = x
2
4 =0, dont la solution est la racine recherche. Linter-
valle de dpart est [0.5, 3]. Cela donne
itration intervalle nlle valeur erreur
k x
k+2
f (x
k+2
) |
k+2
|
0 [0.5000, 3.0000] 1.7500 -0.9375 0.2500
1 [1.7500, 3.0000] 2.3750 1.6406 0.3750
2 [1.7500, 2.3750] 2.0625 0.2539 0.0625
3 [1.7500, 2.0625] 1.9062 -0.3662 0.0938
4 [1.9062, 2.0625] 1.9844 -0.0623 0.0156
5 [1.9844, 2.0625] 2.0234 0.0943 0.0234
6 [1.9844, 2.0234] 2.0039 0.0156 0.0039
etc
26
5.2 Mthode de la Regula falsi
Lorsque la fonction f (x) peut tre approxime par une droite dans le voisinage de sa
racine, alors la convergence peut gnralement tre acclre en effectuant une inter-
polation linaire au lieu de prendre le point milieu. Cela conduit la mthode de la
Regula Falsi ou des parties proportionnelles.
Procdure suivre : Comme dans la mthode de la bisection, on suppose que
la racine se trouve initialement dans lintervalle de recherche [x
k
, x
k+1
]. Lalgorithme
devient
1. interpoler la fonction f (x) dans cet intervalle par une droite. On prend comme
nouvelle valeur x
k+2
lendroit o cette corde intercepte laxe des abscisses
x
k+2
=x
k+1
f (x
k+1
)
x
k+1
x
k
f (x
k+1
) f (x
k
)
2. si f (x
k
) f (x
k+2
) 0, lintervalle qui encadre la solution devient [x
k
, x
k+2
]
3. au contraire, si f (x
k+1
) f (x
k+2
) 0, lintervalle devient [x
k+2
, x
k+1
]
4. revenir en 1. jusqu ce quil y ait convergence.
0 0.5 1 1.5 2 2.5 3
4
2
0
2
4
6
x
f
(
x
)
x
0
x
1
x
2
x
3
x

FIGURE 13 Reprsentation des premires itrations de la mthode de la Regula falsi pour f (x) =x
2
4.
La convergence est lgrement meilleure que celle de la mthode de la bisection. Elle
est dite supralinaire, car en moyenne
k+1
=c
1.618...
k
, o 0 <c <1 est une constante.
Exemple : Le tableau ci-dessous illustre les premires itrations pour le cas o f (x) =
x
2
4.
27
itration intervalle nlle valeur erreur
k [a, b] x
k+2
|
k+2
|
0 [0.5000, 3.0000] 1.5714 0.42857
1 [1.5714, 3.0000] 1.9062 0.09375
2 [1.9062, 3.0000] 1.9809 0.01911
3 [1.9809, 3.0000] 1.9962 0.00384
4 [1.9962, 3.0000] 1.9992 0.00077
etc
Voici un exemple de code Scilab qui estime la racine dune fonction (dont lexpres-
sion analytique est connue) par la mthode de la Regula falsi.
1 function [x2] = regulafalsi(f,x0 ,x1 ,epsilon )
2
3 // f : nom de la fonction a etudier
4 // x0 : borne inferieure de lintervalle
5 // x1 : borne superieure de lintervalle
6 // epsilon : tolerance sur la solution
7 // x2 : racine
8
9 maxiter = 50; // nombre maximum diterations
10 k = 1;
11 f0 = f(x0);
12 f1 = f(x1);
13
14 while k<maxiter
15 x2ancien = x0;
16 x2 = x0 - f0*(x1 -x0)/(f1 -f0+%eps);
17 f2 = f(x2);
18 disp([x2 f2])
19 if f1*f2 <0
20 x0 = x2;
21 f0 = f2;
22 else
23 x1 = x2;
24 f1 = f2;
25 end
26 k = k+1;
27 if abs(x2 -x2ancien )<epsilon , break , end
28 end
29 if k== maxiter , disp(**pasdeconvergence**), end
30 endfunction
Il faut ensuite dnir sparment la fonction tudier. Par exemple, pour f (x) =e
x
+
x/51, on prend
function [f] = racine(x)
// definit la fonction dont on veut la racine
f = exp(-x) + x/5 - 1;
endfunction
28
et pour lancer la recherche de racines dans lintervalle [0, 10] il faut crire dans la
console
z = regulafalsi(racine,0,10,1e-6);
5.3 Mthode de la scante
Cette mthode est trs proche de la prcdente. Toutefois, au lieu de prendre chaque
itration lintervalle qui encadre la racine, on dnit le nouvel intervalle partir des
deux dernires valeurs.
Procdure suivre : On suppose que la racine se trouve initialement proximit
(mais pas forcment dans) de lintervalle de recherche [x
k
, x
k+1
]. Lalgorithme devient
1. interpoler la fonction f (x) dans cet intervalle par une droite. On prend comme
nouvelle valeur x
k+2
lendroit o cette corde intercepte laxe des abscisses
x
k+2
=x
k+1
f (x
k+1
)
x
k+1
x
k
f (x
k+1
) f (x
k
)
2. le nouvel intervalle de recherche devient [x
k+1
, x
k+2
]
3. revenir en 1. jusqu ce quil y ait convergence.
0 0.5 1 1.5 2 2.5 3
4
2
0
2
4
6
x
f
(
x
)
x
0
x
1
x
2
x
3
x

FIGURE 14 Reprsentation des premires itrations de la mthode de la scante pour f (x) =x


2
4.
La convergence est lgrement plus rapide quavec la mthode de la Regula falsi. En
revanche, la mthode de la scante est moins robuste car il nest plus garanti que la
solution se trouve lintrieur de lintervalle.
Exemple : Le tableau ci-dessous illustre les premires itrations pour le cas o f (x) =
x
2
4.
29
itration intervalle nlle valeur erreur
k [x
k
, x
k+1
] x
k+2
|
k+2
|
0 [0.5000, 3.0000] 1.5714 0.42857
1 [3.0000, 1.5714] 1.9062 0.09375
2 [1.5714, 1.9062] 2.0116 0.01155
3 [1.9062, 2.0116] 1.9997 0.00028
etc
5.4 Mthode de Newton
La mthode de Newton sapplique aux fonctions donc on connat lexpression analy-
tique de la drive premire f

(x). Contrairement aux deux mthodes prcdentes, il
suft de connatre une seule estimation initiale x de la racine x

. Supposons que cette


estimation soit sufsamment proche de la racine pour justier un dveloppement li-
mit
f (x

) = f (x +) = f (x) +f

(x) +
1
2

2
f

(x) +O(
3
) = 0
Si est sufsamment petit, onpeut ngliger les termes dordre suprieur 2, pour avoir
f (x) +f

(x) +O(
2
) = 0
soit
=
f (x)
f

(x)
ce qui donne enn la suite
x
k+1
=x
k

f (x
k
)
f

(x
k
)
Procdure suivre : Connaissant une estimation initiale x
k
de la racine, il faut
donc
1. calculer =
f (x
k
)
f

(x
k
)
2. la nouvelle estimation de la racine devient x
k+1
=x
k
+
3. poursuivre en 1. jusqu ce quil y ait convergence
La convergence de cette mthode est quadratique, car en moyenne
k+1
= c
2
k
o
0 < c < 1 est une constante. Mais cette proprit nest assure que dans un voisinage
immdiat de la racine. Ailleurs, la convergence peut devenir nettement moins favo-
rable.
Exemple : reprenons toujours le mme exemple du calcul de la racine, avec f (x) =
x
2
4. Alors
x
k+1
=x
k

f (x
k
)
f

(x
k
)
= x
k

x
2
k
4
2x
k
=
1
2
_
x
k
+
2
x
k
_
Partant de lestimation initiale x
0
=3, on obtient successivement
30
1.5 2 2.5 3 3.5 4 4.5 5
0
5
10
15
20
x
f
(
x
)
x
0
x
1
x
2 x

FIGURE 15 Reprsentation des premires itrations de la mthode de Newton pour f (x) =x


2
4.
itration anc. valeur nlle valeur erreur
k x
k
x
k+1
|
k+1
|
0 3.000000 2.166667 0.166667
1 2.166667 2.006410 0.006410
2 2.006410 2.000010 0.000010
3 2.000010 2.000000 3 10
11
etc
Voici un exemple de code Scilab qui estime la racine dune fonction (dont lexpres-
sion analytique ainsi que celle de la drive sont connues) par la mthode de Newton.
1 function [x1] = newton(f,x0 ,epsilon )
2
3 // f : nom de la fonction a analyser
4 // x0 : borne inferieure de lintervalle
5 // epsilon : tolerance sur la solution
6 // x1 : racine
7
8 maxiter = 50; // nombre maximum diterations
9 k = 1;
10
11 while k<maxiter
12 [f0 ,fprime0 ] = f(x0);
13 x1 = x0 - f0/fprime0 ;
14 disp([x1 f0])
15 k = k+1;
16 if abs(x1 -x0)<epsilon , break , end
17 x0 = x1;
18 end
19 if k== maxiter , disp(**pasdeconvergence**), end
20 endfunction
31
Il est ipportant que la fonction analyser restitue la fois la valeur f (x) et la drive
f

(x). Par exemple
function [f,fprime] = racine(x)
// definit la fonction dont on cherche la racine
f = exp(-x) + x/5 - 1;
fprime = -exp(-x) + 1/5;
endfunction
5.5 La recherche de racines dans la pratique
La recherche de racines sans inspection pralable de la fonction f est une opration
risque. Comme le montre la gure 16, les piges sont nombreux.
0 0.2 0.4 0.6 0.8 1
1
0.5
0
0.5
1
x
f
(
x
)
0 0.2 0.4 0.6 0.8 1
1
0.5
0
0.5
1
x
0 0.2 0.4 0.6 0.8 1
1
0.5
0
0.5
1
x
f
(
x
)
0 0.2 0.4 0.6 0.8 1
1
0.5
0
0.5
1
x
FIGURE 16 Quelques fonctions pour lesquelles la recherche des racines risque de poser des problmes
si lintervalle de recherche initial et la mthode ne sont pas soigneusement choisis.
32
Avant de rechercher les racines dune fonction, il est indispensable de vi-
sualiser cette fonction.
Dans le doute, mieux vaut opter pour une mthode dont la convergence
est lente mais sre. Avec la mthode de la bisection, on est assur de voir
lintervalle se rduire de moiti chaque itration, ce qui nest pas le cas
avec les autres mthodes.
La convergence sera dautant meilleure que la fonction pourra tre ap-
proxime par une droite (mthode de la scante oude la Regula falsi) dans
le voisinage de la racine. La mthode de Newtonpermet de converger plus
rapidement lorsque lexpression de la drive premire est connue.
La meilleure stratgie consiste gnralement dmarrer par une m-
thode lente mais sre (bisection) pour ensuite acclrer la convergence
dans le voisinage de la racine avec une mthode de Newton.
6 Intgration dquations diffrentielles
Problme : Une variable y(t) est dcrite par une quation diffrentielle ordinaire
du premier ordre dy(t)/dt = f
_
y(t), t
_
. On connat la condition initiale y(t = t
0
) = y
0
.
Comment dterminer y(t) des temps autres que t
0
?
6.1 Exemple
Un condensateur se dcharge dans une rsistance non-linaire, dont la valeur dpend
du courant. Ce genre de situation surgit par exemple avec les tubes uorescents. Le
circuit est dcrit par lquation
dI
dt
=
I
CR(I )
avec la condition initiale I (t
0
) = I
0
. Cette quation est facile intgrer lorsque R =cte.
En revanche, il devient trs difcile de trouver une solution analytique dans le cas o R
varie. Il faut alors procder une intgration numrique. Tous les logiciels de concep-
tion de circuits par ordinateur comprennent des modules plus ou moins sophistiqus
pour rsoudre de tels problmes.
Reprsentons la solution recherche I (t) en fonction de t. La valeur initiale I (t
0
) ainsi
que la drive premire en ce point I

(t
0
) sont connues. Faisons un dveloppement
33
limit de la solution (en supposant que celle-ci soit sufsamment continue) pour d-
terminer la valeur que prend le courant un instant ultrieur t
0
+t,
I (t
0
+t) = I (t
0
) +t
dI (t
0
)
dt
+
1
2
t
2
d
2
I (t
0
)
dt
2
+. . .
= I (t
0
) +t
dI (t
0
)
dt
+O(t
2
)
= I (t
0
) +t f
_
I (t
0
), t
0
_
+O(t
2
)
Avec un pas de temps t sufsamment petit, on peut donc approximer la valeur que
prend le courant au temps t
0
+t. Or lopration peut maintenant tre rpte en t =
t
0
+t puisque la valeur de la drive premire en ce point peut tre calcule. Cela
nous permet de passer au point t =t
0
+2t, et ainsi de suite. La mthode dintgration
consiste donc estimer les valeurs successives de I (t) en procdant par petits pas de
temps.
t0 t0+dt t0+2*dt t0+3*dt t0+4*dt t0+5*dt t0+6*dt
y0
t
y
(
t
)
sol. exacte
dt
0 1 2 3 4
4
3
2
1
0
1
2
t
y
(
t
)
dt=0.1
dt=0.25
dt=0.5
dt=1


sol. exacte
dt=0.1
dt=0.5
dt=1
dt=2
FIGURE 17 Exemple dintgration de la fonction y

(t ) = 0.5y(t ) +0.8t (2 t ) pour diffrents pas de


temps.
Quel pas de temps t faut-il choisir ?
Un grand pas implique un nombre rduit doprations de calcul, mais entrane en re-
tour une plus grande erreur. Un pas petit amliore la prcision des rsultats, au prix
34
duntemps de calcul plus lev. Unpas trop petit risque damplier les erreurs de tron-
cature. Il existe donc un pas idal, qui peut ventuellement varier au cours du temps.
Nous verrons quil existe divers algorithmes pour traiter ce genre de problme.
6.2 Les mthodes dEuler
Les mthodes dEuler sont les plus simples pour intgrer une quation diffrentielle.
Cependant, ces mthodes sont rarement utilises en raison de manque de prcision et
de leur instabilit. Nous avons au dpart
_
y

(t) = f
_
y(t), t
_
y(t
0
) = y
0
Discrtisons dabord le temps en prenant des pas de mme dure h : t
k
= t
0
+kh. Po-
sons pour simplier y(t
k
) = y
k
. Il sagit dsormais de trouver la suite {y
k
} dnie par
_
_
_
y

(t
k
) = f (y
k
, t
k
)
y(t
0
) = y
0
t
k
= t
0
+kh
Exprimons la drive de y(t) par une diffrence nie (cf. chapitre 3). Cela conduit
trois expressions diffrentes suivant quonprendla diffrence avant, arrire oucentre.
Chacune possde des proprits diffrentes.
y

(t
k
) =
y
k+1
y
k
h
+O(h) diffrence avant
y

(t
k
) =
y
k
y
k1
h
+O(h) diffrence arrire
y

(t
k
) =
y
k+1
y
k1
2h
+O(h
2
) diffrence centre
La mthode dEuler explicite sobtient en prenant la diffrence avant. Cela donne
une quation simple rsoudre en y
k+1
y
k+1
= y
k
+hf (y
k
, t
k
) +O(h
2
)
Cette mthode, quoique simple, est peu utilise. Dabord, elle est relativement
peu prcise. Mais surtout, elle est instable puisque lerreur a gnralement ten-
dance crotre. Cette instabilit, illustre dans la gure 18, peut survenir mme
si le pas h est trs petit.
La mthode dEuler implicite sobtient en prenant la diffrence arrire. Cela
donne une quation plus difcile rsoudre en y
k
y
k
hf (y
k
, t
k
) = y
k1
+O(h
2
)
Cette quationnadmet pas toujours de solutionanalytique, ce qui est unsrieux
handicap. En revanche, la mthode est stable puisque lerreur na plus tendance
crotre indniment.
35
FIGURE 18 Illustration dun schma dintgration instable. Lerreur (= cart entre y(t ) et y
k
) crot pro-
gressivement et nit pas envahir compltement.
La mthode dEuler centre, quoique plus prcise, est peu utilise car chaque
pas de temps il faut grer la fois y
k+1
, y
k
et y
k1
:
y
k+1
= y
k1
+2hf (y
k
, t
k
) +O(h
3
)
La gure 19 illustre lintgrationdune quationdiffrentielle par diffrentes m-
thodes, pour deux valeurs du pas h.
0 0.2 0.4 0.6 0.8 1
1
1.1
1.2
1.3
1.4
t
f
h=0.2
o Euler explicite
+ Euler implicite
. RungeKutta 2
0 0.2 0.4 0.6 0.8 1
1
1.1
1.2
1.3
1.4
t
f
h=0.05
FIGURE 19 Rsultat de lintgration de lquation y

(t ) = 1 +t y(t ) avec y(0) = 1 par les mthodes


dEuler explicite, Euler implicite et de Runge-Kutta dordre 2. Les pas sont respectivement h =0.2 (gure
de gauche) et h =0.05 (gure de droite). Le trait continu reprsente la solution exacte y(t ) =e
t
+t .
6.3 Stabilit des mthodes dEuler
En plus de la prcision, il est essentiel quune mthode dintgration soit numrique-
ment stable. Par stabilit on entend ici que lintgration dune quation dont on sait
que la solution est borne, doit elle aussi rester borne.
36
Ltude de la stabilit dune mthode est une tche complexe. Lexemple suivant per-
met cependant dillustrer lorigine des instabilits. Intgrons lquation y

=y avec la
condition initiale y
0
=1.
1. Avec la mthode dEuler explicite, on obtient
y
k+1
= y
k
hy
k
y
k
=(1h)
k
y
0
Cette suite converge condition que |1 h| < 1. Cela implique soit h > 0 (tou-
jours vrai) soit h <2. Il nest donc pas possible de choisir des pas h arbitrairement
grands, sous risque de voir la suite diverger.
2. Avec la mthode dEuler implicite, on obtient
y
k+1
= y
k
hy
k+1
y
k
=(1+h)
k
y
0
La stabilit est ici vrie pour tout h > 0. Plus gnralement, on peut montrer
que la mthode dEuler implicite est toujours stable.
3. Avec la mthode dEuler centre, on obtient
y
k+1
= y
k1
2hy
k
et la condition de stabilit devient | h

1+h
2
| < 1. Cette mthode peut elle
aussi devenir instable.
6.4 Mthodes de Runge-Kutta
Les mthodes de Runge-Kutta sont couramment utilises car elles allient prcision,
stabilit et simplicit. Toutes ncessitent plusieurs itrations pour effectuer un pas.
La mthode de Runge-Kutta dordre 2 est la plus simple ; elle combine deux itrations
successives de la mthode dEuler explicite. Dans un premier temps la drive en
(t
k
, y
k
) est value pour faire une premire estimation du point suivant (not A dans la
gure 20). Lestimation provisoire de y
k+1
en ce point est ensuite utilise pour afner
la calcul de la drive. Une nouvelle approximation de celle-ci est obtenue en prenant
sa valeur mi-parcours (prise au point B). Cest cette valeur de la drive qui sera en-
suite utilise pour estimer le prochain pas y
k+1
(point C). La procdure dintgration
se rsume
= hf (y
k
, t
k
)
= hf
_
y
k
+

2
, t
k
+
h
2
_
y
k+1
= y
k
++O(h
3
)
Mme si cette mthode demande deux fois plus oprations de calcul que la mthode
dEuler explicite pour effectuer un seul pas, le rsultat est plus prcis et plus stable.
37
FIGURE 20 Principe de fonctionnement de la mthode de Runge-Kutta du second ordre pour effectuer
un seul pas. Le lettres rfrent au texte.
La mthode de Runge-Kutta dordre 4 combine quatre itrations successives. Sa prci-
sion est gnralement encore meilleure. La procdure dintgration devient
= hf (y
k
, t
k
)
= hf
_
y
k
+

2
, t
k
+
h
2
_
= hf
_
y
k
+

2
, t
k
+
h
2
_
= hf
_
y
k
+, t
k
+h
_
y
k+1
= y
k
+
1
6
(+2+2+) +O(h
5
)
38
Le code suivant dcrit un exemple dintgration par la mthode de Runge-Kutta
dordre 2. La fonction intgrer est dnie par integrand.
1 function [y,t] = rungekutta2(t0,tn,h,y0)
2
3 // t0 : temps initial
4 // tn : temps final
5 // h : pas de temps
6 // y0 : conditions initiales (vecteur )
7 // y : solution (une colonne par variable )
8 // t : vecteur temps correspondant
9
10 n = ceil((tn-t0)/h)+1; // nombre de pas
11 ordre = length(y0); // ordre = nbre de cond initiales
12 y = zeros(n,ordre );
13 t = zeros(n ,1);
14 y(1,:) = y0(:);
15 t(1) = t0;
16
17 for i=1:n-1
18 t(i+1) = t(i) + h;
19 delta1 = h* integrand (t(i), y(i ,:));
20 delta2 = h* integrand (t(i)+h/2, y(i ,:)+ delta1 /2);
21 y(i+1,:) = y(i,:) + delta2;
22 end
23 endfunction
24
25 function yprime = integrand (t,y)
26 // definit le systeme a integrer
27 k = 4;
28 yprime (1) = y(2);
29 yprime (2) = -k*y(1);
30 endfunction
6.5 Lintgration dans la pratique
Le choix du pas est un point essentiel. Sil est trop grand, la mthode choisie, aussi
bonne soit-elle, donnera des rsultats errons (cf. gure 21). Si le pas est trop petit, on
perdra du temps de calcul et on risquera dtre affect par des erreurs darrondi. Do
les rgles gnrales
Le pas h doit toujours tre choisi nettement infrieur au temps caract-
ristique de la fonction y(t) intgrer. Par exemple, pour une fonction p-
riodique de priode T, il faudra prendre h T.
Parmi les mthodes dintgration qui existent, celles de Runge-Kutta
offrent souvent un bon compromis entre prcision et temps de calcul.
39
0 2 4 6 8 10
2
1
0
1
2
t
f
. Euler h=1 + Euler h=0.5 o RungeKutta 2 h=1
f(x)
FIGURE 21 Intgration dune quation diffrentielle dont la solution est y(t ) =sin(2t /5). Cette qua-
tion a dlibrment t intgre avec des pas trop grands pour en montrer les consquences. Les m-
thodes utilises sont : Euler explicite avec un pas de h =1 (points), Euler explicite avec un pas de h =0.5
(croix), et Runge-Kutta dordre 2 avec un pas de h =1.
Le problme de lintgration des quations diffrentielles est fait encore lobjet de re-
cherches intensives. Une solution intressante consiste adapter le pas h lallure de
la fonction y(t) pour gagner du temps. Lorsque la fonction y(t) est rgulire avec ses
drives dordre >2 sont petites, alors on peut se contenter de choisir un pas lev, qui
sera progressivement rduit dans le voisinage de brusques variations de y(t).
Les mthodes de Runge-Kutta peuvent aussi aisment se gnraliser la rsolution
dquations diffrentielles dordre suprieur 1.
6.6 Intgrer lorsque lordre >1
Les quations diffrentielles dordre suprieur 1 peuvent aisment tre transformes
en des systmes dquations dordre 1, moyennant la dnition de nouvelles variables.
Ainsi, le modle de loscillateur harmonique amorti
d
2
dt
2
f (t) +
d
dt
f (t) +
2
f (t) =0
peut dcrire
d
dt
f (t) = u(t)
d
dt
u(t) = u(t)
2
f (t)
o u(t) est la nouvelle variable, qui sapparente une vitesse. Cette paire dquations
couples dordre 1 peut maintenant tre intgre laide des mthodes discutes pr-
cdemment.
40
Plus gnralement, toute quation diffrentielle diffrentielle dordre N
d
N
f
dx
N
+a
N
(x)
d
N1
f
dx
N1
+a
N1
(x)
d
N2
f
dx
N2
+ +a
2
(x)
d f
dx
+a
1
(x) f (x) +a
0
(x) =0
peut tre transform en un systme de N quations diffrentielles dordre 1, moyen-
nant la cration de N 1 nouvelles variables
d
dx
f (x) = u
1
(x)
d
2
dx
2
f (x) = u
2
(x)
d
3
dx
3
f (x) = u
3
(x)
.
.
.
d
N1
dx
N1
f (x) = u
N1
(x)
d
N
dx
N
f (x) = a
N
(x)u
N1
(x) a
N1
(x)u
N2
(x) a
2
(x)u
1
(x) a
1
(x) f (x) a
0
(x)
Les conditions initiales
f (x
0
) = f
0
,
d f
dx

x=x0
= f

0
,
d
2
f
dx
2

x=x0
= f

0
, etc.
deviennent alors
f (x
0
) = f
0
, u
1
(x
0
) =u
1,0
, u
2
(x
0
) =u
2,0
, etc.
6.7 Intgrer en prsence de conditions de bord
Lintgration devient nettement plus lourde lorsque le problme est spci par des
conditions de bord (ou aux limites) et non par des conditions initiales. Par exemple,
le problme
d
2
dx
2
f (x) +
d
dx
f (x) + g(x) = 0 possde des conditions initiales si f (0) =
a,
d
dx
f (x =0) =b, car il suft dintgrer depuis x =0. On parlera au contraire de condi-
tions de bord si f (0) =a, f (x =1) =b.
La stratgie consiste remplacer les conditions initiales manquantes par des valeurs
estimes puis intgrer lquation jusqu ce que la solution ait atteint le bord. Sui-
vant lcart entre cette solution et la condition de bord souhaite, on corrigera le tir en
adaptant les conditions initiales.
Exemple : Une quation diffrentielle doit tre intgre de x
i
x
f
. Le conditions de
bord sont f (x
i
) = f
i
et f (x
f
) = f
f
. Soit, a
(1)
lestimation initiale de la condition de bord
manquante. Lquationest intgre avec cette valeur jusqu labscisse x
f
pour donner
en ce point f
(1)
f
. Un second essai avec la condition initiale a
(2)
donne f
(2)
f
.
41
Le problme se rduit alors une recherche de racines. Nous sommes en effet en pr-
sence dune fonction F(a) telle que
F(a
(1)
) = f
(1)
f
f
f
F(a
(2)
) = f
(2)
f
f
f
Nous cherchons la valeur a telle que
F(a
()
) = f
()
f
f
f
=0
o la fonction F nest connue que pour les quelques valeurs de a
(i )
. Il suft ds lors
ditrer laide dune mthode de recherche de racines (scante, ou autre) jusqu
converger vers la racine. Toutefois, rien ne garantit que la racine existe ou soit unique.
42

Vous aimerez peut-être aussi