Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
function [x, fx, iter] = metodo_secante(f, x0, x1, tol, maxiter) % f: função a ser resolvida % x0, x1: aproximações iniciais % tol: tolerância para critério de parada % maxiter: número máximo de iterações % definindo valores padrão para tol e maxiter if nargin < 4, tol = 1e-6; end if nargin < 5, maxiter = 100; end % inicializando as variáveis fx0 = f(x0); fx1 = f(x1); iter = 0; % loop principal do método while abs(fx1) > tol && iter < maxiter dx = (x1 - x0) * fx1 / (fx1 - fx0); % aproximação da raiz x0 = x1; fx0 = fx1; % atualizando valores x1 = x1 - dx; fx1 = f(x1); iter = iter + 1; end % definindo o valor de retorno x = x1; fx = fx1; % checando o critério de parada if abs(fx) > tol fprintf('O método da secante falhou em encontrar a raiz com a tolerância especificada.\n'); else fprintf('O método da secante convergiu para a raiz após %d iterações.\n', iter); fprintf('O valor foi de %f',fx); end
Compartilhar