On cherche à calculer un zéro d'une fonction réelle continue sur un intervalle , prenant des valeurs de signes opposés aux extrémités. Le théorème des valeurs intermédiaires assure l'existence d'un zéro. L'idée de la dichotomie est de chercher un zéro sur ou bien sur , selon le signe de .
double zero_dicho(double a, double b) {
double m = (a+b)/2;
double fm = f(m);
if (fabs(fm)<eps) {
return m;
} else {
if (f(a)*fm<0) {
return zero_dicho(a,m);
} else {
return zero_dicho(m,b);
}
}
}
La condition d'arrêt est fabs(fm)<eps, eps étant une variable globale, et fabs étant la fonction de la bibliothèque mathématique calculant la valeur absolue d'un double.