%% Cabeçalho: % Método de determinação de ráizes de % de equações não lineares: Secante % Função: f(x) = exp(-x) - x %-------------------------------------------------------------- clc; clear all; % ------------------------------------------------------------- %% Entrada de dados: x0 = 1; % Estimativa inicial: x1 = 0; %xi-->xi0, xi1-->xi-1 Etc = 1e-8; % Critério de parada (Covengência quadrática) %% Processamento: % Contador iterativo: i = 0; % Fazer o processamento enquanto % for verdadeiro (Ett - calculado, Etc, decisão) Ett = 1; % Erro de entrada no while while Ett > Etc if i == 0 %----Estimativa de xr------------- x0(i+1) = x0; x1(i+1) = x1; else %----Estimativa de xr------------- x0(i+1) = x1(i); % ou xr x1(i+1) = xr; % ou x1(i+1) end f1(i+1)= exp(-x1(i+1))-x1(i+1); f(i+1)= exp(-x0(i+1))-x0(i+1); x(i+1) = x0(i+1)-(f(i+1)*(x1(i+1)-x0(i+1)))/(f1(i+1)-f(i+1)); xr = x(i+1); %----- Erro de Truncamento---- Ett(i+1) = (abs(xr-x0(i+1))); i = i +1; cont(i) = i; end %% Saida de dados: subplot(2,1,1) plot(cont,Ett) xlabel('Pontos') ylabel('Erro de truncamento') grid on