Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 19.896 ]
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
Octave - Método de Gauss-Legendre
Octave - Método de Euler-Melhorado para solução de EDO
Crivo de Eratóstenes Simples em Fortran 95
Função Fatorial Recursiva em Fortran 95
Cálculo da raiz de uma função pelo Método da Bisseção - Octave
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Instalar Dual Boot, Linux+Windows. (9)
Eaí? Já programou no windows? (2)
Erro ao enviar arquivos para o Storage Synology NAS (0)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









