Pular para o conteúdo

Octave - Calcular raiz pelo método da Secante

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.
Daniel Moreira dos Santos danielms
Hits: 20.074 Categoria: Outros Subcategoria: Portugol
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download Secante.m Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Crivo de Eratóstenes Simples em Fortran 95

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

Numero Primo

Octave - Decomposição LU

CobWeb Plot em Octave

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.