Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 19.755 ]
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 - Calcular raiz pelo método de Newton
Função Fatorial Recursiva em Fortran 95
Octave - Método de Euler-Melhorado para solução de EDO
Crivo de Eratóstenes Simples em Fortran 95
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (8)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)