Octave - Calcular raiz pelo método Regula-Falsi

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

[ Hits: 12.678 ]

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

Download Regula_Falsi.m




O método de regula falsi (regra falsa) ou falsa posição é um método iterativo de resolução numérica de equações não lineales. O método combina o método de bisseção e o método da secante.

  



Esconder código-fonte

function [Raiz,Iter,Erro] = Regula_Falsi(funcao,a,b,Toler,IterMax);


%parametros de entrada: funcao,a,b,Toler,IterMax -> lim. intervalo,

%tolerancia e num max. de iteracoes

%parametros de saida: Raiz,Iter,Erro -> raiz, numero de iteracoes gasto e

%condicao de erro



x = a;

Fa = eval(funcao);

x = b;

Fb = eval(funcao);

if Fa*Fb>0

    disp 'funcao nao muda de sinal nos extremos do intervalo'

    return ;

end

if Fa > 0

    t = a; 

    a= b;

    b = t;

    t = Fa;

    Fa = Fb;

    Fb = t;

end

Iter = 0;

x = b;

Fx = Fb;

disp ('       Iter     a        b       x        Fx       DeltaX ');

while 1   

    DeltaX = -Fx/(Fb-Fa)*(b-a);

    x = x+DeltaX;

    Fx = eval(funcao);

    disp ([Iter     a     b     x      Fx     DeltaX ]);

    if (abs(DeltaX)<Toler && abs(Fx)<Toler)||Iter>=IterMax

        break;

    end

    if Fx<0

        a = x;

        Fa = Fx;

    else

        b = x;

        Fb = Fx;

    end

     Iter = Iter +1;

end

Raiz = x;

if abs(DeltaX)<Toler && abs(Fx)<Toler

    Erro = 0;

else

    Erro =1;

end

end


Scripts recomendados

Crivo de Eratóstenes Simples em Fortran 95

Teste de hardware e outros

Octave - Método de Gauss-Legendre

Octave - Sistemas lineares por Jacobi

Octave - Método de Euler-Melhorado 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