Octave - Calcular raiz pelo método de Newton
Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)
[ Hits: 22.762 ]
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
Matriz de Hilbert e resolução de sistemas lineares
Função Fatorial Recursiva em Fortran 95
Script em Bath "DOS" para Upload e Download de arquivos usando o SSH
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
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
Archlinux Congela de forma aleatória. (1)
Albfneto. Voltando devagar. (3)