%****************************************************************
% File: BISECT.M
%
% Scopo: Calcolo zero di una funzione con bisezione
%
% Uso:	  [x,fx,n]=bisect(f,x1,x2,toll)
%
% Input: f     macro contenente la funzione in x
%	 x1,x2 estremi sx e dx dell'intervallo
%	 toll  tolleranza sull'intervallo
% Output: n    numero iterazioni
%	  x    approssimazione dello zero
%	  fx   valore della funzione in x.
%
% Richiami:
% Commenti:Il programma viene usato esclusivamente
%  per fornire una prima approssimazione dello zero
%  da raffinare con un metodo del secondo ordine.
%
% Autori: mf
%****************************************************************
%
function [x,fx,n]=bisect(f,x1,x2,toll)
x=x1;f1=eval(f);
if f1==0;x=x1;fx=f1;n=0;return;end
x=x2;f2=eval(f);
if f2==0;x=x2;fx=f2;n=0;return;end
if sign(f1)*sign(f2) > 0
  disp('** ERROR ** f(x1)*f(x2) > 0 '),
  return,
end;