Lycée Benjamin Franklin PTSI−2014-2015
D. Blottière, B. Mollier Informatique
TP n
◦5
Résolution approchée d’une équation numérique par dichotomie
Contexte
• aetbsont des nombres réels tels quea<b.
• f: [a,b]→Rest une fonction continue sur l’intervalle [a,b] (ce qui s’interprète en disant que l’on peut tracer la courbe def sans lever le crayon).
• Les valeurs def enaet enbsont de signes opposés, i.e.f(a)f(b)≤0.
Problématique
Dans le contexte précédent, le théorème des valeurs intermédiaires assure que l’équation (⋆) f(x)=0
d’inconnuex∈[a,b] possède (au moins) une solution. La question que l’on pose est la suivante. Comment trouver une valeur approchée d’une solution de (⋆) avec une précision arbitrairement « petite » ε>0 donnée ?
Résolution du problème posé par dichotomie1
Pour résoudre le problème posé, on va construire une suite d’intervalles ([an,bn])n∈Ntelle que 1. [an,bn] contient une solution de (⋆), pour toutn∈N;
2. la longueurbn−ande l’intervalle [an,bn] est égale àb−a2n , pour toutn∈N.
Une telle suite nous permet de résoudre le problème posé, comme on l’explique ci-dessous.
Soit un entier naturelnfixé. Soitxnune solution de l’équation (⋆) dans l’intervalle [an,bn] (un telxnexiste d’après 1., mais nous n’en connaissons pas d’explicitea prioriet c’est là notre problème). Alors
|xn−an| =xn−an≤bn−an=b−a 2n
la dernière égalité découlant de 2.. Doncan livre une valeur approchée d’une solution de l’équation (⋆) avec une er- reur inférieure ou égale àb−a2n .
Remarque : Nous aurions en fait pu prendre un nombre arbitrairement choisi dans[an,bn], plutôt que an, pour avoir une valeur approchée d’une solution de l’équation(⋆)avec une erreur inférieure ou égale à b−a2n .
Quitte à prendrensuffisamment grand, on ab−a2n ≤ε, puisque b−a2n tend vers 0 quandntend vers+∞. Pour un teln, la valeur dean fournit donc une valeur approchée d’une solution de l’équation (⋆), telle que l’erreur commise soit inférieure ou égale àε.
Après avoir expliqué qu’une suite d’intervalles ([an,bn])n∈Nvérifiant les propriétés 1. et 2. répond à notre probléma- tique, il reste à en construire une. On peut procéder « de proche en proche », comme suit, pour cela.
1. Vient du grec : « couper en deux ».
1
• Étape 0
On posea0:=aetb0:=b. D’après ces définitions et les hypothèses (cf. contexte), on a
1. f(a0)f(b0)≤0 et donc l’équation (⋆) possède une solution dans [a0,b0] (cf. théorème des valeurs intermé- diaires) ;
2. b0−a0=b−a.
• Étape 1
On introduit le milieuc0du segment [a0,b0] et on pose
¯
¯
¯
¯
a1:=a0etb1:=c0sif(a0)f(c0)≤0 a1:=c0etb1:=b0sinon.
Alors quelque que soit le cas
1. f(a1)f(b1)≤0 et donc l’équation (⋆) possède une solution dans [a1,b1] (cf. théorème des valeurs intermé- diaires) ;
2. b1−a1=b0−a2 0=b−a2 . Pourquoi ?
• Étape 2
On introduit le milieuc1du segment [a1,b1] et on pose
¯
¯
¯
¯
a2:=a1etb2:=c1sif(a1)f(c1)≤0 a2:=c1etb2:=b1sinon.
Alors quelque que soit le cas
1. f(a2)f(b2)≤0 et donc l’équation (⋆) possède une solution dans [a2,b2] (cf. théorème des valeurs intermé- diaires) ;
2. b2−a2=b1−a2 1=b−a4 . Pourquoi ?
...
• Étape n
On suppose construit un intervalle [an−1,bn−1] tel que 1. f(an−1)f(bn−1)≤0 ;
2. bn−1−an−1=b−a
2n−1.
On introduit le milieucn−1du segment [an−1,bn−1] et on pose
¯
¯
¯
¯
an:=an−1etbn:=cn−1sif(an−1)f(cn−1)≤0 an:=cn−1etbn:=bn−1sinon.
Alors quelque que soit le cas
1. f(an)f(bn)≤0 et donc l’équation (⋆) possède une solution dans [an,bn] (cf. théorème des valeurs inter- médiaires) ;
2. bn−an=bn−1−a2 n−1=b−a2n . Pourquoi ?
... 2
N.B. :Répondre à chacun des « Pourquoi ? » n’est pas optionnel ! C’est le cœur de l’algorithme qui est caché dans ces questions. Une fois apportée une réponse au premier, les réponses aux autres sont analogues.
La figure ci-dessous donne une idée de la mise en œuvre de la construction décrite ci-dessus.
2 4 6 8
2 4
0
a0:=a b0:=b
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
a6 b6
Exercice 1
Écrire un programme qui affiche une valeur approchée de la2solution de l’équation x=cos(x)
d’inconnuex∈[0,π], avec une erreur inférieure ou égale à 10−5, en implémentant l’algorithme de dichotomie exposé précédemment.
Exercice 2 L’équation
(E) : x2−6x+5=0 possède deux solutions dansR: 2 et 3.
2. Le théorème des valeurs intermédiaires, judicieusement appliqué, nous assure qu’il existe au moins une solution. Ici, on peut démontrer l’unicité de la solution. Comment ?
3
1. Que se passe-t-il si l’on adapte le programme de l’exercice 1 à cette équation, en partant de l’intervalle [1,3] ? On regardera en particulier le nombre d’itérations.
2. Améliorer le programme précédent, pour corriger le problème décelé à la question 1.
4