function bisection(myf,left,right,Tol); N=floor(log((right-left)/Tol)/log(2)); Count=1; a=left; b=right; RootFound=false; disp([a b]); while ((RootFound==false) && (Count<=N)) m=a+(b-a)/2; if(feval(myf,m)==0) RootFound=true; r=m; else if(sign(feval(myf,m))==sign(feval(myf,a))) a=m; else b=m; end r=a+(b-a)/2; end disp([a b r]); Count=Count+1; end