Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 19.798 ]
Homepage: http://www.danielmoreira.wordpress.com
Em análise numérica, o método das secantes é um algoritmo de busca de raízes que usa uma sequência de raízes de linhas secantes para aproximar cada vez melhor a raiz de uma função f.
function [Raiz,Iter,Erro] = Secante(funcao,a,b,Toler,IterMax);
%parametros de entrada: funcao,a,b,Toler,IterMax,Exibe -> funcao, lim. intervalo,
%tolerancia e num. max de iteracoes, resultados intermediarios devem ser
%exibidos??
%parametros de saida: Raiz,Iter,Erro -> raiz, numero gasto de iteracoes e
%condicao de erro
x = a;
Fa = eval(funcao);
x = b;
Fb = eval(funcao);
%visualizacao da funcao
Ft =[];
lim =15;
for x=-lim/3:0.1:lim
Ft =[Ft;eval(funcao)];
end
x = -lim/3:0.1:lim;
figure(1);
plot(x,Ft,'b');
hold on;
plot(x,zeros(size(x,2)),'k');
grid;
plot([a b],[Fa Fb],'k*');
xlabel('Eixo x');
ylabel('Eixo y');
title(funcao);
pause;
if abs(Fa) < abs(Fb)
t = a;
a = b;
b = t;
t = Fa;
Fa = Fb;
Fb = t;
end
disp('Calculo de raiz de equacao pelo metodo da secante')
disp('iter a b x Fx deltaX')
Iter = 0;
x = b;
Fx = Fb;
while 1
DeltaX = -Fx/(Fb-Fa)*(b-a);
x = x+DeltaX;
Fx = eval(funcao);
hold on;
plot(x,Fx,'r*');
drawnow;
pause;
disp ([Iter a b x Fx DeltaX]);
if(abs(DeltaX)<Toler && abs(Fx)<Toler)||Iter >=IterMax
break;
end
a = b;
Fa = Fb;
b = x;
Fb = Fx;
Iter = Iter+1;
end
Raiz = x;
if abs(DeltaX)<Toler && abs(Fx)<Toler
Erro = 0;
else
Erro = 1;
end
end
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
Octave - Método de Runge-Kutta
Octave - Calcular raiz pelo método de Newton
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?









