AlgoBox : Valeur approchée d'une solution de f(x)=0 par dichotomie

Présentation de l'algorithme :

Etant donné f une fonction continue et strictement monotone sur un intervalle [a;b] telle que f(a) et f(b) soient de signes contraires. L'équation f(x)=0 admet une unique solution dont on peut déterminer un encadrement par dichotomie.

Principe de cette méthode :
  • On calcule m le milieu de [a,b].
  • Si f(m) et f(b) sont de même signe, c'est que la solution se trouve dans [a,m] : on affecte à b la valeur de m afin de pouvoir continuer le processus.
  • Dans le cas contraire, la solution se trouve dans [m,b] : on affecte à a la valeur de m afin de pouvoir continuer le processus.
  • On continue le processus jusqu'à obtenir un encadrement avec la précision voulue

Dans l'exemple ci-dessous, f est définie par f(x)=x3-3x2+1 . L'équation f(x)=0 admet 3 solutions dans R et les conditions requises pour une recherche d'une valeur approchée de ces solutions sont vérifiées sur les intervalles [-1;0] , [0;2] et [2;3].

Fichier AlgoBox associé : dichotomie.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)


Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme : 

Résultats

Code de l'algorithme
1   VARIABLES
2     precision EST_DU_TYPE NOMBRE
3     a EST_DU_TYPE NOMBRE
4     b EST_DU_TYPE NOMBRE
5     m EST_DU_TYPE NOMBRE
6   DEBUT_ALGORITHME
7     precision PREND_LA_VALEUR 0.00001
8     LIRE a
9     LIRE b
10    TANT_QUE (b-a>precision) FAIRE
11      DEBUT_TANT_QUE
12      m PREND_LA_VALEUR (a+b)/2
13      SI (F1(m)*F1(b)>0) ALORS
14        DEBUT_SI
15        b PREND_LA_VALEUR m
16        FIN_SI
17        SINON
18          DEBUT_SINON
19          a PREND_LA_VALEUR m
20          FIN_SINON
21      FIN_TANT_QUE
22    AFFICHER a
23    AFFICHER " < solution < "
24    AFFICHER b
25  FIN_ALGORITHME
26 
27 Fonction numérique utilisée :
28 F1(x)=pow(x,3)-3*pow(x,2)+1