Buscar

fixedpoint

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

% Autor: Thiago PX
%
% Entradas
% - g: função de iteração.
% - x1: estimativa inicial
% - err: erro máximo (epsilon)
% - N: número máximo de iterações
%
% Saídas
% - xns (solução numérica)
function xns = fixedpoint(g,x1,err,N)
 disp(' i xi |f(xi)| |xi - xi-1|/xi-1'); 
 fprintf('%5i %15.6f %13.6f - \n', 1, x1, abs(g(x1)));
 
 for i = 1:N
 x = g(x1); 
 relerr = abs((x-x1)/(x1+eps)); % eps: precisão da máquina
 % evita divisão por zero.
 fprintf('%5i %15.6f %13.6f %14.6f \n', i+1, x, abs(g(x)), relerr); 
 if relerr <= err
 break;
 end
 
 x1 = x;
 end
 if (i == N) & (relerr > err)
 fprintf('\nSolucao com tolerância %f não obtida apos %i iterações\n', err, N);
 end
 xns = x;
end

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando