Recherche linéaire Dichotomique
Cette recherche linéaire utilise le principe de la dichotomie pour trouver le meilleur dans un intervalle qu'il faut tout d'abord déterminer.
Contents
function[tm] = dichotomic(f,x,d,tr,sigma)
Initialisation
tl = 0; if nargin==3 tr = 0.1; end z = -1; FIN = 0;
Recherche d'intervalle
while (z<0) z = feval(f,x+tr*d)*d'; if (z<0) tl = tr; tr = 2*tr; end end
Recherche dichotomique
while (abs(tl-tr)>2*eps) && (FIN==0) tm = (tl+tr)/2; h = feval(f,x+tm*d)*d'; if (h<eps) FIN = 1; elseif h>0 tr=tm; else tl=tm; end end end