Octave - Calcular raiz pelo método da Secante

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

[ Hits: 19.313 ]

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

Download Secante.m




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.

  



Esconder código-fonte

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

Scripts recomendados

Octave - Calcular raiz pelo método de Newton

Algoritmo para calcular a tabuada

Matriz de Hilbert e resolução de sistemas lineares

Octave - Calcular raiz pelo método Regula-Falsi

Octave - Método de Euler para solução de EDO


  

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