Il y a plein d'algorithmes pour ce type de probl�me, mais tous ont plus ou 
moins leurs pr�conditions.
En gros, tu cherches les racines de la fonction y-f(x).

Pour une dichotomie, tu pars d'un intervalle [a,b] dans lequel tu es s�r de 
trouver un x qui convient, puis tu calcules y-f((a+b)/2). Si le r�sultat est 
du m�me signe que y-f(a) alors tu r�it�res r�cursivement avec [(a+b)/2,b], 
sinon tu prends [a,(a+b)/2]. Tu fais ceci jusqu'� ce que la longueur de 
l'intervalle soit inf�rieur � une certaine valeur (que tu choisis au d�part).

Si tu connais une fonction d�riv�e de f, tu peux aussi utiliser l'algorithme 
de Newton-Raphson. Je ne peux pas te donner l'algorithme de m�moire, mais en 
gros, au lieu de prendre (a+b)/2, tu consid�res l'intersection entre la pente 
de la fonction au point (a+b)/2 et l'axe des abscisses, ce qui fait converger 
plus rapidement.

Cepandant, il ne faut pas oublier de consid�rer le cas o� tu as plusieurs 
solutions. Ces algos ne t'en donneront qu'une.

Le fait que ton x soit entier ne pose pas de probl�mes pour une dichotomie 
(tu peux prendre la partie enti�re de (a+b)/2). Par contre pour 
Newton-Raphson, il faudra que tu travailles sur des r�els, puis que tu 
convertisses le r�sultat (attention, si tu choisis b comme r�sultat et que ta 
fonction y-f(x) est croissante, il faudra prendre E(b)+1).

St�phan BERNARD


Le Jeudi 14 F�vrier 2002 11:06, vous avez �crit :
> Quelqu'un a t il connaisance d'un algorithme permettant de recherche par
> encadrement une valeur (sorte de dichotomie) ?
>
> Je d�taille un peu :
> -------------------------
> Soit une fonction y=f(x), 'x' est un entier et 'y' : un r�el.
> Je recherche la valeur de x tel que f(x) soit l'entier le plus proche
> d'une
> valeur cible. S'il n'existe pas de valeur exacte, je souhaite avoir
> celle
> juste sup�rieure.
>
> Y a t'il un algorithme type connu ?

-- 
St�phan BERNARD (+33) 473 44 07 25      [EMAIL PROTECTED]
LISC/CEMAGREF - 24 av. des Landais, BP 50085 - 63172 Aubi�re Cedex
  • dichotomie Julien . NEGRIER
    • St�phan BERNARD

Répondre à