Octave - Calcular raiz pelo método de Newton
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 22.461 ]
Homepage: http://www.danielmoreira.wordpress.com
Em análise numérica, o método de Newton (ou método de Newton-Raphson) tem o objetivo de estimar as raízes de uma função. Para isso, toma-se um ponto qualquer da função, calcula-se a equação da tangente (derivada) da função nesse ponto, calcula-se o intercepto da tangente ao eixo das abcissas, calcula-se o valor da função nesse ponto, e repete-se o processo, que deve tender a uma das raízes da função rapidamente, ou não tender a nada, deixando isso claro logo.
function [Raiz,Iter,Erro] = Newton_Raiz(funcao,x0,Toler,IterMax); %parametros de entrada: funcao,x0,Toler,IterMax -> funcao, valor inicial, %tolerancia e num. max. de iteracoes %parametros de saida: Raiz,Iter,Erro-> raiz, num. gasto de iteracoes e %cond. de erro x = x0; Fx = eval(funcao); DFx = eval(diff(funcao)); Iter = 0; disp(' Iter x DFx Fx DeltaX'); disp([Iter x DFx Fx ]); while (1) DeltaX = -Fx/DFx; x = x+DeltaX; Fx = eval(funcao); DFx = eval(diff(funcao)); Iter = Iter+1; disp([Iter x DFx Fx DeltaX]); if(abs(DeltaX)<Toler && abs(Fx)<Toler)||abs(DFx)==0 || Iter>= IterMax break; end end Raiz = x; if abs(Fx)<Toler Erro = 0; else Erro =1; end y = []; for x=0.001:0.001:10 y = [y,eval(funcao)]; end x = 0.001:0.001:10; plot(x,y); end
Octave - Método de Gauss-Legendre
Matriz de Hilbert e resolução de sistemas lineares
Octave - Método de Euler-Modificado para solução de EDO
Octave - Método de Euler-Melhorado para solução de EDO
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta