Octave - Calcular raiz pelo método da Secante
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 18.948 ]
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 Euler para solução de EDO
Função Fatorial Recursiva em Fortran 95
Octave - Método de Euler-Modificado para solução de EDO
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba