Cálculo da raiz de uma função pelo Método da Bisseção - Octave

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

[ Hits: 17.271 ]

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

Download met_bissecao.m




O método da bissecção é o mais simples dos métodos numéricos utilizados para obter numericamente a solução de uma equação não-linear f(x)=0.

Aqui vamos usar o Octave para implementar o método. Outras implementações do mesmo método utilizando Octave, você pode encontrar no wikipédia.

  



Esconder código-fonte

function [raiz,b,itera,erro] = met_bissecao(func,a,b,tolera,itera_max);

x=a;
Fa = eval(func);
x=b;
Fb = eval(func);

if Fa*Fb > 0
    disp  'Funcao com mesmo sinal nos extremos.'
    return ;
end

deltax = abs(b-a)/2;
itera = 0;
disp('       iteracao       a       Fa       b         Fb        x         Fx       delta x');

while 1
    x = (a+b)/2;
    Fx = eval(func);
    disp([itera  a  Fa  b Fb  x  Fx    deltax]);
    if ((deltax <= tolera && abs(Fx)<= tolera)||itera>=itera_max)
        break;
    end
    if Fa*Fx>0
        a = x;
        Fa = Fx;
    else
        b=x;
    end
    deltax = deltax/2;
    itera = itera+1;
end

raiz = x;

if deltax <= tolera && abs(Fx)<=tolera
    erro = 0;
else
    erro = 1;

end
end

Scripts recomendados

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

Numero Primo

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

Função Fatorial Recursiva em Fortran 95

Crivo de Eratóstenes Simples em Fortran 95


  

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