Método da bisseção

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

O método da bisseção (português brasileiro) ou método da bissecção (português europeu) é um método numérico para encontrar as raízes de uma função. Trata-se de um método simples e robusto, porém menos eficiente quando comparado a métodos como o método de Newton ou o método das secantes.[1]

Descrição[editar | editar código-fonte]

Bisseção do intervalo {\textstyle [a,b]} e os elementos envolvidos.

Este método pode ser usado para encontrar as raízes de uma função contínua {\textstyle f: [a,b]\to \mathbb{R}}, {\textstyle y = f(x)}, tendo {\textstyle f(a)} e {\textstyle f(b)} sinais opostos, ou seja, f(a)\cdot f(b) < 0. Observamos, que como consequência do teorema do valor intermediário, estas condições garante a existência de uma raiz no intervalo [a,b]. O método consiste em dividir o intervalo no seu ponto médio c=(a+b)/2, e então verificar em qual dos dois subintervalos intervalos se encontra a raiz. Para tanto, basta verificar se {\textstyle f(a)\cdot f(c) < 0}. Caso afirmativo, a raiz encontra-se no intervalo {\textstyle [a,c]}, caso contrário ela se encontra no intervalo {\textstyle [c,b]}. O procedimento é, então, repetido para o subintervalo correspondente à raiz até que {\textstyle c} aproxime a raiz com a precisão desejada.[1] [2]

Erro[editar | editar código-fonte]

Podemos observar que o erro absoluto máximo será sempre metade do intervalo em questão. Por exemplo, sendo c* o valor exato do zero da função, o erro na primeira interação será

 |c^*- c^1| = (a +  b)/2

E a cada iteração este erro vai ser dividido para a metade do anterior, nos deixando com a equação geral para o erro na "n-ésima" iteração:

 |c^*- c^n| = (a +  b)/2^n[2]

Se \epsilon _n for o erro absoluto, então:

 \epsilon _{n+1} = \epsilon _n /2

e, portanto, dizemos que o método da bisseção tem convergência linear.

Podemos também utilizar a equação do erro absoluto para gerar o valor de n máximo para uma determinada tolerância ou erro, \epsilon.

n = \log_2\left(\frac{\epsilon_0}{\epsilon}\right)

Sendo \epsilon_0 o tamanho inicial do intervalo, portanto, \epsilon_0=b - a

Algoritmo[editar | editar código-fonte]

Com o método da bisseção podemos construir um algoritmo para aproximar a raiz de uma função. Por exemplo, temos o seguinte pseudocódigo:[1]

ENTRADA: função f, extremos do intervalo a, b, tolerância TOL, núm. máximo de iterações NMAX
SAÍDA: valor aproximado da raiz de f(x)=0 com erro absoluto máximo de TOL

N ← 1 # contador das iterações
Enquanto NNMAX # laço sobre as iterações
  c ← (a + b)/2 # ponto médio
  Se ((f(c) = 0) or ((ba)/2 < TOL) então # solução encontrada
    Retorna(c)
    Pare
  fim
  NN + 1 # acrescenta uma iteração
  # computa novo intervalo
  Se (f(a)f(c) > 0) então
    ac
  senão
    bc
  fim
fim
Erro("Algoritmo falhou.") # núm. máximo de iterações excedido


Exemplo[editar | editar código-fonte]

Calculemos os zeros da função

 f(x)=x^3-x-2

De início temos de achar valores para a e b tais que f(a) e f(b) tenham sinais contrários. a=1 e b=2 respeitam esta condição.

f(1)=-2 e f(2)=+4

Como a função é contínua, sabemos que existe uma raiz entre [1,2]. A primeira iteração gera c=1.5, e f(1.5)=-0.125. Como f(c) é negativa, 'c' se tornará nosso novo 'a' para que continuemos tendo f(a) e f(b) com sinais opostos, e com isso saber que a raiz se encontra entre [1.5, 2]. Repetindo esses passos, teremos intervalos cada vez menores até que o valor de c convirja para o zero de nossa equação. Veja os valores plotados na tabela abaixo:

Iteração a_n b_n c_n f(c_n)
1 1 2 1.5 −0.125
2 1.5 2 1.75 1.6093750
3 1.5 1.75 1.625 0.6660156
4 1.5 1.625 1.5625 0.2521973
5 1.5 1.5625 1.5312500 0.0591125
6 1.5 1.5312500 1.5156250 −0.0340538
7 1.5156250 1.5312500 1.5234375 0.0122504
8 1.5156250 1.5234375 1.5195313 −0.0109712
9 1.5195313 1.5234375 1.5214844 0.0006222
10 1.5195313 1.5214844 1.5205078 −0.0051789
11 1.5205078 1.5214844 1.5209961 −0.0022794
12 1.5209961 1.5214844 1.5212402 −0.0008289
13 1.5212402 1.5214844 1.5213623 −0.0001034
14 1.5213623 1.5214844 1.5214233 0.0002594
15 1.5213623 1.5214233 1.5213928 0.0000780

Como podemos ver, a partir da 13º iteração o valor de 'c' já tem 4 dígitos significativos corretos.

Ver também[editar | editar código-fonte]

Referências

  1. a b c Burden, Richard. Análise Numérica - Tradução da 8ª Edição Norte-Americana. [S.l.: s.n.], 2008. ISBN 9788522106011
  2. a b Francisco Satuf. "Método da Bisseção". Visitado em 2 de outubro de 2013.