function raiz=metodobisseccao(f,a,b);

% Defina a tolerancia;
delta=1.e-6;

fa = feval(f,a);
if fa==0
    raiz = a;
    return;
end

fb = feval(f,b);
if fb==0
    raiz = b;
    return;
end

if fa*fb>0
    disp('Erro: f(a) e f(b) devem ter sinais opostos.');
    return;
end

while abs(b-a)>2*delta
    m=(a+b)/2;
    fm = feval(f,m);
    if fm==0
        raiz=m;
        return;
    end
    
    if fm*fa<0
        b=m;
        fb=fm;
    else
        a=m;
        fa=fm;
    end
end

raiz=(a+b)/2;
        