function [ Vol, res, k] = bisseccao( a, b, fun_ex22, kmax, Tol ) %%%% Executar com o comando [ Vol, res, k] = bisseccao( 0.02, 0.06, @fun_ex22, 1000, 1e-12 ) % % Plot para examinar onde pode estar o zero da funcao % V = [0.008:0.002:1]; % for i = 1:length(V) % f(i) = fun_ex22(V(i)); % end % plot(V,f,'-r') % return e = 1; % Erro inicial k = 0; % Numero de iteracoes inicial while e > Tol && k < kmax k = k+1; x(k) = (a + b) / 2; s = fun_ex22( a ) * fun_ex22( x(k) ); if s < 0 b = x(k); else a = x(k); end if k > 1 e = abs(x(k)-x(k-1)); end end Vol = x(k); res = fun_ex22(Vol); end