Octave - Calcular raiz pelo método de Newton

Publicado por Daniel Moreira dos Santos (última atualização em 15/07/2010)

[ Hits: 22.525 ]

Homepage: http://www.danielmoreira.wordpress.com

Download Newton_Raiz.m




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.

  



Esconder código-fonte

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


Scripts recomendados

Função Fatorial Recursiva em Fortran 95

Octave - Sistemas lineares por Gauss-Seidel

Octave - Método de Runge-Kutta

Octave - Decomposição LU

Matriz de Hilbert e resolução de sistemas lineares


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts