% Definir a função fun % fun=@(x) 'expressão' function [xk] = Secant(fun,x0,x1,precisao) imax = 100; %Número máximo de iterações err = 100; i=0; a = x0; %Chute Inicial x0 b = x1; %Chute Inicial x1 fprintf('Método de Newton Raphson com dados iniciais %2.4f e %2.4f com precisão igual a %s%.10f',x0,x1, precisao); fprintf('\n| k | x[k-1] | x[k] | f(x[k-1]) | f(x[k-1]) | x[k+1] | ER | \n|======|================|==================|==================|==================|==================|=================|\n'); while (err > precisao && i <= imax) i = i + 1; c =(a*fun(b)-b*fun(a))/(fun(b)-fun(a)); if (i > 1) err = abs(c - b); %abs((c - b)/c) end fprintf('| %3d | %12.8f | %12.8f | %12.8f | %12.8f | %12.8f | % 12.6e |\n', i, a,b,fun(a),fun(b),c,err); a=b; b=c; end