Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 19.536 ]
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
Matriz de Hilbert e resolução de sistemas lineares
Octave - Sistemas lineares por Gauss-Seidel
Octave - Método de Euler-Modificado para solução de EDO
Octave - Método de Runge-Kutta
Nenhum comentário foi encontrado.
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Os empreguim de meu Deus estão cada vez mais tecnológicos (4)
Controle do PS5 no Linux Mint funciona? (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (29)