Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 19.925 ]
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
Algoritmo para calcular a tabuada
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
Octave - Método de Euler para solução de EDO
Matriz de Hilbert e resolução de sistemas lineares
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Colocando hotcorner no COSMIC para exibir "workspaces"
Usando o Dolphin para checar hashes de arquivos
Contorno de BUG do "color picker" para COSMIC Desktop









