Algoritmo do Método da Bissecção com Exemplos
Resumo Inteligente
O método da bissecção é uma técnica numérica confiável que encontra a raiz de uma função contínua dividindo repetidamente ao meio um intervalo onde a função muda de sinal. É simples, tem convergência garantida e é amplamente utilizado em engenharia, computação científica e em cursos introdutórios de análise numérica.

O que é o Método da Bissecção?
O Método da Bissecção é uma das técnicas numéricas mais fundamentais para encontrar a raiz de um polinômio ou equação transcendental. Ele funciona delimitando o intervalo que contém a raiz e, em seguida, subdividindo esse intervalo em duas metades a cada iteração até que a raiz seja localizada dentro de uma tolerância aceitável. Devido a esse comportamento de delimitação, o Método da Bissecção também é conhecido como método de delimitação por colchetes.
Como seu mecanismo de funcionamento se assemelha à busca binária, o Método da Bissecção também é conhecido como método de busca binária, método da metade ou método da dicotomia. Ele se baseia em um sólido fundamento teórico: o Teorema do Valor Intermediário, que garante que uma função contínua que muda de sinal em um intervalo deve cruzar o zero em algum ponto desse intervalo.
Com a definição básica estabelecida, vamos explorar por que encontrar as raízes das equações é importante e como o Método da Bissecção se encaixa nesse contexto mais amplo.
Encontrando raízes de equações
Nesta discussão, focaremos apenas em equações com uma variável independente. Tais equações podem ser lineares ou não lineares. Equações lineares descrevem o gráfico de uma reta, enquanto equações não lineares descrevem curvas e formas mais complexas.
A raiz de uma equação é o valor da variável independente que satisfaz a equação. Por exemplo, a raiz da equação f(x) = 4 – x2 = 0 é 2, porque f(2) = 4 – 22 = 0.
Consideremos f(x) como uma função contínua real. De acordo com o Teorema do Valor Intermediário, a equação f(x) = 0 tem pelo menos uma raiz entre a e b sempre que f(a)f(b) < 0. Em outras palavras, a função f(x) tem uma raiz, “c”, em algum lugar entre a e b.
Essa propriedade de mudança de sinal é exatamente o que o Método da Bissecção explora. A próxima seção mostra como essa ideia se apresenta graficamente.
Representação gráfica do método da bissecção
O gráfico a seguir representa o mecanismo de funcionamento do Método da Bissecção. A partir do gráfico, podemos ver que a raiz da equação está marcada em vermelho.
O procedimento pode ser resumido da seguinte forma:
- Primeiramente, escolhemos dois palpites iniciais, um1 e B1, para o qual f(a1)f(b1) < 0. De acordo com o Teorema do Valor Intermediário, a raiz deve estar em [a1, b1].
- Em seguida, calculamos o ponto médio de um1 e B1, que é b2O intervalo inicial agora é reduzido para [a1, b2] porque f(uma1)f(b2) <0.
- Da mesma forma, o intervalo é dividido ao meio repetidamente até que uma solução aproximada seja encontrada dentro da tolerância desejada.
Com a intuição geométrica clara, podemos agora formalizar o procedimento como um algoritmo passo a passo.
Algoritmo do Método da Bissecção
Os passos para aplicar o algoritmo do Método da Bissecção para encontrar a raiz da equação f(x) = 0 são os seguintes.
Passo 1) Escolha os valores iniciais a e b, e uma taxa de tolerância e.
Passo 2) Se f(a)f(b) >= 0, então a raiz não está neste intervalo. Nesse caso, não há solução dentro de [a, b].
Passo 3) Encontre o ponto médio, c = (a + b)/2.
(i) Se o valor da função no ponto médio f(c) = 0, então c é a raiz. Vá para o passo 5.
(ii) Se f(a)f(c) < 0, a raiz está entre a e c. Então, faça a = a, b = c.
(iii) Caso contrário, defina a = c, b = b.
Passo 4) Se o erro absoluto for maior que a taxa de tolerância, ou seja, (b – a) > e, volte ao passo 3.
Passo 5) Mostre c como a raiz aproximada.
Vejamos um exemplo do algoritmo do Método da Bissecção em ação. Encontraremos a raiz da seguinte função contínua usando a fórmula do Método da Bissecção.
f (x) = x3 - x2 + 2
Exemplo de método de bissecção
Passo 1) Vamos supor que,
uma = -10,
b = 10, e
e = 1% ou 0.01.
Passo 2) Agora vamos verificar se f(a)f(b) >= 0 ou não.
f(a) = f(-10) = (-10)3 – (-10)2 + 2 = -1098
f(b) = f(10) = (10)3 - (10)2 2 + = 902
f(a)f(b) = f(-10)f(10) = (-1098)(902) < 0
Portanto, a raiz da função acima está no intervalo [-10, 10].
Passo 3) Em seguida, calcula-se o ponto médio c.
Agora as seguintes condições precisam ser verificadas:
(i) Se f(c) = 0:
f(c) = f(0) = (0)3 - (0)2 + 2 = 2, que não é igual a 0.
(ii) Se f(a)f(c) < 0:
f(c)f(a) = 2 * (-1098) < 0
A condição foi atendida. Para a próxima iteração, os valores serão:
uma = uma = -10
b = c = 0
Passo 4) Como (b – a) = (0 – (-10)) = 10 > 0.01, o processo é repetido. As próximas iterações são mostradas na tabela abaixo.
| Iteração | a | b | c | BA | f(c) |
|---|---|---|---|---|---|
| 1 | -10 | 0 | 0 | 10 | 2 |
| 2 | -5 | 0 | -5 | 5 | -148 |
| 3 | -2.5 | 0 | -2.5 | 2.5 | -19.875 |
| 4 | -1.25 | 0 | -1.25 | 1.25 | -1.52562 |
| 5 | -1.25 | -0.625 | -0.625 | 0.625 | 1.36523 |
| 6 | -1.25 | -0.9375 | -0.9375 | 0.3125 | 0.297119 |
| 7 | -1.09375 | -0.9375 | -1.09375 | 0.15625 | -0.50473 |
| 8 | -1.01562 | -0.9375 | -1.01562 | 0.078125 | -0.0791054 |
| 9 | -1.01562 | -0.976562 | -0.976562 | 0.0390625 | 0.115003 |
| 10 | -1.01562 | -0.996094 | -0.996094 | 0.0195312 | 0.0194703 |
| 11 | -1.00586 | -0.996094 | -1.00586 | 0.00976562 | -0.0294344 |
Passo 5) Na 11ª iteração, a condição do passo 4 torna-se falsa. Assim, a raiz aproximada desta equação é -1.00586.
Com o exemplo numérico concluído, a próxima seção apresenta o diagrama lógico que representa todo o fluxo de controle.
Diagrama lógico do método de bissecção
O fluxograma abaixo resume a lógica de decisão do Método da Bissecção, incluindo a verificação por colchetes, a atualização do ponto médio e o teste de tolerância.
Pseudo-Code
O pseudocódigo abaixo reproduz o algoritmo e serve como um modelo para implementar o Método da Bissecção em qualquer linguagem de programação.
Start Set a, b, e if f(a)*f(b) >= 0 Output("Root does not exist in this interval") Stop while (b-a) > e do c ← (a + b)/2 if f(c) = 0 break end if if f(c)*f(a) < 0 then b ← c else a ← c end while Output(c) Stop
Exemplo de método de bissecção em C/C++
O seguinte C/C++ O programa implementa o Método da Bissecção para encontrar a raiz de f(x) = x3 - x2 + 2 dentro do intervalo [-10, 10].
Entrada:
#include <bits/stdc++.h> using namespace std; #define Error 0.01 double value(double x) { return x*x*x - x*x + 2; } void bisection_method(double a, double b) { if (value(a) * value(b) >= 0) { cout << "The root does not lie in this interval\n"; return; } double c = a; while ((b-a) >= Error) { c = (a+b)/2; if (value(c) == 0.0) break; else if (value(c)*value(a) < 0) b = c; else a = c; } cout << "The root is :" << c; } int main() { double a = -10, b = 10; bisection_method(a, b); return 0; }
Saída:
The root is :-1.00586
Exemplo de método de bissecção em Python
O Python A versão abaixo produz a mesma raiz aproximada usando lógica idêntica, o que a torna ideal para experimentação rápida e ensino.
Entrada:
def value(x): return x*x*x - x*x + 2 def bisection_method(a, b): if (value(a) * value(b) >= 0): return c = a while ((b-a) >= 0.01): c = (a+b)/2 if (value(c) == 0.0): break if (value(c)*value(a) < 0): b = c else: a = c print("The root is : ", "%.4f" % c) a = -10 b = 10 bisection_method(a, b)
Saída:
The root is : -1.0059
Vantagens e limitações do método da bissecção
Como toda técnica numérica, o Método da Bissecção possui vantagens claras e algumas desvantagens práticas. A tabela abaixo resume os principais prós e contras.
| Prós | Contras |
|---|---|
| Método simples e fácil para encontrar a raiz do código, implementável em qualquer linguagem. | A convergência é lenta porque o método simplesmente divide o intervalo pela metade a cada passo. |
| O problema sempre converge quando um colchete válido é fornecido, pois ele delimita a raiz durante todo o processo. | Se uma das estimativas iniciais já estiver próxima da raiz, alcançar a raiz ainda exigirá muitas iterações. |
| A taxa de erro pode ser controlada diretamente aumentando ou diminuindo o número de iterações ou reduzindo a tolerância. | Não consegue encontrar raízes complexas ou raízes múltiplas de multiplicidade par, uma vez que a função não muda de sinal em tais raízes. |
Aplicações do Método da Bissecção
O Método da Bissecção é utilizado em muitos cenários práticos e modernos de computação onde é necessária uma etapa robusta de busca de raízes.
- Simulações de engenharia: Resolução de equações não lineares que surgem em transferência de calor, dinâmica de fluidos e análise estrutural.
- Modelagem financeira: Cálculo de rendimentos, taxas internas de retorno e pontos de equilíbrio onde não existem soluções analíticas.
- Aprendizado de máquina e IA: Identificação de limites, calibração de modelos e ajuste de hiperparâmetros em solucionadores numéricos orientados por IA.
- Computação gráfica: Determinação das interseções raio-superfície e dos valores dos parâmetros ao longo das curvas.
- Sistemas embarcados: Aproximação de raízes em controladores com poucos recursos, onde simplicidade e previsibilidade são mais importantes que velocidade.



