Método da posição falsa

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Método da posição falsa ou regula falsi é um método numérico usado para resolver equações lineares definidas em um intervalo [a b], partindo do pressuposto de que haja uma solução em um subintervalo contido em [a b]. E assim, diminuindo esse subintervalo em partes cada vez menores, a solução estará onde a função tem sinais opostos, segundo o Teorema do Valor Intermediário. A determinação do tamanho do subintervalo é definida pelo critério de exatidão.

História: o Papiro de Rhind[editar | editar código-fonte]

Papiro de Rhind

Em 1858,o escocês A.H Rhind (1833-1863), antiquário e advogado, adquiriu, no Egito, um papiro que continha textos matemáticos. Esse documento, que ficou conhecido como Papiro_de_Rhind ou Ahmes é datado do ano de 1650 a.C, e contém cerca de 85 problemas matemáticos resolvidos na forma de manual prático, copiados em escrita hierática, pelo escriba Ahmes, de um trabalho mais antigo.

Nesse papiro, esses 85 problemas se referem, na sua maioria, sobre o cotidiano dos antigos, tratando de problemas como: armazenamento de grãos, preço do pão, alimentação dos animais, etc.


Como os egípcios não tinham conhecimento da álgebra, como hoje, aplicavam técnicas aritméticas, como a posição falsa, e as incógnitas dos problemas eram chamadas de montão.

Um exemplo do Papiro de Rhind

    Um montão, mais a sua metade, seus dois terços, todos juntos são 26. Diga-me, quanto é esse montão?

Solução

     Tomando 18 como valor falso, sua metade (9) e seus dois terços (12), logo: 18+9+12=39
     Ajuste: 18 está para x, assim como 39 está para 26, portanto x= (18*26)/39, x=12
     12 é o valor do montão!

Os egípcios usavam a seguinte técnica para resolver problemas do tipo ax=b: partiam de um valor x' qualquer, valor falso, para obter um valor b' como resposta. E, para obterem a resposta correta x, faziam a seguinte correção x= x'.b /b'.

Sendo assim, a explicação para esse método está na solução de uma função linear y=f(x)=ax, e, para saber que valor de x ele terá imagem igual a b, essa proporção é encontrada via semelhança de triângulos, e aí está o cerne do Método da Posição Falsa.

O Método[editar | editar código-fonte]

Falsa Posição

Partimos de um intervalo inicial [ a 0 , b 0 ] com f ( a 0 ), e f ( b 0 ) de sinais opostos, assegurando que no interior existe pelo menos uma raiz, de acordo com o Teorema do Valor Intermediário. O objetivo do algoritmo é obter em cada passo um menor intervalo [ a k , b k ] que ainda contenha uma raiz da função f. No número de iteração k, temos:

 c_k = b_k-\frac{f(b_k) (b_k-a_k)}{f(b_k)-f(a_k)}

onde ck é calculado. Ck é a raiz da secante por meio de ( a k , f ( a k )) e ( b k , f ( b k )). Se f ( a k ) e f ( c k ) têm o mesmo sinal, então montamos um k 1 = c k e b k 1 = b k , caso contrário, vamos definir um k 1 = a k e b k + 1 = c k . Este processo é repetido até que seja encontrada uma raiz aproximada, suficientemente compatível com o erro máximo estimado. A fórmula acima é também utilizada no método da secante, mas o método da secante sempre retém os últimos dois pontos calculados, ao passo que o método de posição falsa retém dois pontos que, certamente, próximo a eles há uma raiz. Por outro lado, a única diferença entre o método da falsa posição e o método da bissecção é que o último usa c k = ( a k + b k ) / 2.

Análise de Convergência[editar | editar código-fonte]

Podemos mostrar que, sob certas condições, o método de posição falsa tem convergência linear, de modo que tende a convergir mais lentamente para a solução da equação do método da bisseção, mas ao contrário do método da bisseção o método da falsa posição sempre converge para uma solução da equação. O algoritmo tem a desvantagem de que, se a função é convexa ou côncava próximo da solução, o ponto do intervalo mais distante da solução fica fixo, variando somente na sua vizinhança, convergindo muito lentamente. Um exemplo disso ocorre na seguinte função:

 f(x) = 2x^3-4x^2+3x\,

começando com [-1,1]. O termo a esquerda do intervalo, -1, nunca muda, e o extremo direito, 1, se aproxima de 0 linearmente.

A situação em que o método falha é fácil de ver e fácil de corrigir, escolhendo um ck diferente, como:

 c_k = \frac{\frac{1}{2}f(b_k) a_k- f(a_k) b_k}{\frac{1}{2}f(b_k)-f(a_k)}

ou

 c_k = \frac{f(b_k) a_k- \frac{1}{2}f(a_k) b_k}{f(b_k)-\frac{1}{2}f(a_k)}

subtraindo o peso de um dos extremos do intervalo, para fazer com que o próximo ck ocorra desse lado da função.

O fator 2 utilizado acima, garante convergência superlinear (assintoticamente, o algoritmo executa dois passos para cada passo modificado normal). Há outras maneiras de obter ainda melhores taxas de convergência. O ajuste acima referido, e outras mudanças semelhantes são chamadas de Algoritmo Illinois. Ford (1995) resume e analisa esta e outras semelhantes variantes superlinear do método de falsa posição. A julgar pela bibliografia, métodos modificados da Falsa Posição eram bem conhecidos na década de 1970 e foram posteriormente esquecidos nos livros didáticos atuais.

Algoritmo[editar | editar código-fonte]

  ENTRADA   aproximações iniciais de x0 e x1; tolerância TOL; Número máximo de iterações Nmax.
  SAÍDA     solução aproximada de x ou mensagem de erro.
  PASSO 1   Faça i=2
            k0=f(x0)
            k1=f(x1)
  PASSO 2  Enquanto i<= Nmax execute Passos 3 a 7
         PASSO 3 Faça x=x1-k1(x1-x0)/(k1-k0). //Calcula xi
         PASSO 4 Se |x-x1|<TOL, então
                 SAÍDA (x);(Solução encontrada)
                 PARE
         PASSO 5 Faça i=i+1;
                 k=f(x).
         PASSO 6 Se k.k1<0, então faça x0=x1;k0=k1
         PASSO 7 Faça x1=x;k1=k
  PASSO 8 SAÍDA (O método falhou após Nmax iterações)
          PARE

Implementação em ambiente Scilab[editar | editar código-fonte]

  function [raiz,iter]=falsa_posicao(f,a,b,Tol),
  //calcula a raiz de f(x) no intervalo [a,b] com precisão Tol
  x0=a;
  x1=b;
  if f(x0)*f(x1)>=0 mensagem ("O valor de f(a) e f(b) devem ter sinal diferente");end;
  xp=(x0.*f(x1)-x1.*f(x0))./(f(x1)-f(x0));
  it=0;
  while (min(abs(f(xp)),(x1-x0))>eps1)&it<=150 do
  if f(x0).*f(xp) > 0 then 
  x0=xp; else x1=xp; end;
  xp=(x0.*f(x1)-x1.*f(x0))./(f(x1)-f(x0));
  i=i+1;
  end;
  raiz=xp;
  iter=i; 
  endfunction;

Método da Dupla Falsa Posição[editar | editar código-fonte]

Cardano

Para equações do tipo ax+b=c, a regra não funciona, mas usando uma regra similar como "dupla falsa posição" podemos resolver. Para isso devemos atribuir valores a e b falsos, e calcular f(a) e f(b), montando uma proporção do tipo

[f(b)-f(a)]/[b-a] = [f(b)-c]/[b-x] = [c-f(a)]/[x-a]

Essa regra pode ser aplicada para problemas não lineares e obteremos soluções aproximadas. Girolamo Cardano (1501-1576), foi um matemático italiano que usou esse método para resolução de problemas, aplicando-o repetidas vezes, visando aprimorar o resultado. Atualmente esse método chama-se Interpolação_linear, para aproximar arco de curva por segmento de reta.

Exemplo[editar | editar código-fonte]

Para a função  f(x) = cos(x)-x \, , aplicando as regras da posição falsa e posição falsa ajustada pelo algoritmo de Illinois, obtemos a seguinte tabela:

Iteração Posição Falsa Posição Falsa (Illinois)
0 0,5 0,5
1 0,7853981635 0,7853981635
2 0,7363841388 0,7363841388
3 0,7390581392 0,7390581392
4 0,7390848638 0,7390851495
5 0,7390851305 0,7390851332
6 0,7390851332 0,7390851332
7 0,7390851332 0,7390851332

Podemos observar que o algoritmo sem o ajuste precisou de mais iterações do que o ajustado para chegar a raiz.

Referências[editar | editar código-fonte]

BURDEN, L. Richard. FAIRES, Douglas. J. Análise Numérica. 8ª Ed. São Paulo: Cengage Learning, 2008. ISBN 978-85-221-0601-1

GUIDI, F. Leonardo. Notas da Disciplina de Cálculo Numérico A. Porto Alegre, 2008

MEDEIROS, Alexandre. MEDEIROS F. Cleide,(2004). O método da posição falsa na história e na educação matemática. Ciência & Educação, ISSN 1980-850X. v. 10, n. 3, p. 545-557, 2004

DE SÁ, P. Ilydio. A Regra da Falsa Posição. Disponível em <magiadamatematica.com>. Acesso em 30 março 2013.