Home Exercices Chapitre 5 : La récursivité Recherche de la racine d'une fonction entre deux valeurs
Bookmark and Share

Liens sponsorisés

Recherche de la racine d'une fonction entre deux valeurs Print E-mail
Written by Administrator   
Friday, 02 May 2008 13:48

Source : Classique

Une méthode très efficace pour la recherche des zéros approchés d'une fonction continue au voisinage du zéro cherché (théorème des valeurs intermédiaires), à condition qu'on puisse déterminer le signe de f((a+b)/ 2) à chaque itération consiste à :

Soit f(x) une fonction telle que:

  • f(a) < 0
  • f(b) > 0
  • f est continue strictement croissante entre les points a et b (a < b)

Alors une dichotomie permet de trouver rapidement la valeur y telle que f(y) = 0.

  1. Partir du couple de valeurs (a, b);
  2. Évaluer la fonction en (a+b)/2;
  3. Si f((a+b)/ 2) < 0, remplacer a par (a+b)/2, sinon remplacer b par (a+b)/2;
  4. Recommencer à partir du nouveau couple de valeurs jusqu'à ce que la différence entre les deux valeurs soit inférieure à la précision voulue.

 

Programmez cet algorithme de dichotomie 

 
En Caml 
let rec dicho f min max eps =
let fmin = f min and fmax = f max in
if fmin *. fmax > 0.
then failwith "Aucune racine"
else if max -. min < eps then (min, max) (* retourne un intervalle *)
else let mil = (min +. max) /. 2. in
if (f mil) *. fmin < 0.
then dicho f min mil eps
else dicho f mil max eps ;;

 

 

 

Liens sponsorisés