Suponha que você está usando o Método da Bisseção para encontrar uma raiz de uma função f(x) no intervalo [a, b].
a) O que acontece se a função tiver duas raízes no intervalo inicial [a, b] ? O método ainda funcionará? Explique com base na lógica do Teorema de Bolzano.
b) Se, em uma das iterações, o ponto médio x_{k} resultar em f\left(x_{k}\right)=0, o que isso significa? O que o algoritmo deve fazer nesse caso?

Passo 1

O enunciado dá as seguintes informações e faz estas perguntas:
  • Informações dadas:
    • Você está aplicando o Método da Bisseção para achar uma raiz de f(x) no intervalo [a,b].
    • O método usa a lógica do Teorema de Bolzano (teorema do valor intermediário em forma de existência de raiz por mudança de sinal).
  • Perguntas:
    • (a) O que acontece se a função tiver duas raízes no intervalo inicial [a,b]? O método ainda funcionará? Explique com base na lógica do Teorema de Bolzano.
    • (b) Se, em alguma iteração, o ponto médio x_k satisfazer f\left(x_k\right)=0, o que isso significa e o que o algoritmo deve fazer nesse caso?

Passo 2

Primeira coisa: lembrar (e entender) o que diz o Teorema de Bolzano que usamos na bisseção. Vou escrever e explicar bem devagar.
  • Enunciado (forma usada no método da bisseção): se f é contínua em [a,b] e f(a)\,f(b)<0,então existe pelo menos um ponto c\in(a,b) tal que f\text{(c)}=0.
Explicando cada parte:
  • "Contínua em [a,b]" significa que não há saltos ou quebras; você sempre pode traçar o gráfico sem tirar a caneta do papel entre a e b.
  • A condição f(a)f(b)<0 quer dizer que f(a) e f(b) têm sinais opostos (um positivo e outro negativo). Esse facto garante, por continuidade, que o gráfico atravessa o eixo x em algum lugar entre a e b, ou seja, existe pelo menos uma raiz.
Importante: o teorema garante “pelo menos uma” raiz — não diz quantas raízes pode haver. Ele apenas usa mudança de sinal nos extremos para assegurar existência de alguma raiz.

Passo 3

Entendendo o que ocorre quando há duas raízes (ou número arbitrário de raízes) em [a,b].
  • Caso 1: existem exatamente duas raízes distintas em [a,b] e ambas são simples (gera mudança de sinal em cada raiz).
    • Exemplo concreto para visualizar: tome f(x)=(x-1)(x-2). As raízes são x=1 e x=2. No intervalo [0,3] temos f(0)=2>0,\qquad f(3)=2>0,ou seja, f(a)f(b)>0 (mesmo sinal nos extremos).
    • Conclusão: se há duas raízes simples entre a e b, normalmente os sinais em a e b vão coincidir (porque cada raiz simples troca o sinal; duas trocas retornam ao sinal original). Assim a condição f(a)f(b)<0 não é satisfeita e o método da bisseção, tal como está, não pode ser iniciado — ele exige mudança de sinal nos extremos. Logo, com duas raízes simples dentro do intervalo inicial, o método NÃO parte (não é aplicável) a menos que você escolha subintervalos diferentes.
  • Observação sobre multiplicidades: se uma raiz tem multiplicidade par (por exemplo uma raiz dupla), em torno dessa raiz o sinal pode não mudar. Por isso o número de raízes contando multiplicidade e o comportamento de sinais pode ficar sutil, mas a regra prática é:
    • Se f(a)f(b)<0, então há pelo menos uma raiz no intervalo e o número total de cruzamentos (contando trocas de sinal) entre a e b é ímpar.
    • Se f(a)f(b)>0, o teorema de Bolzano não fornece garantia; podem existir zero, duas, quatro etc. raízes no intervalo — o método da bisseção não pode garantir nada nessa situação inicial.

Passo 4

O que isso implica para o funcionamento do Método da Bisseção (resposta direta à parte (a), com justificativa prática):
  • O método da bisseção exige que você comece com um intervalo [a,b] tal que f(a)f(b)<0. Sem essa condição inicial você não tem garantia de que há uma raiz — e portanto não pode aplicar a lógica de “escolher a metade que mantém a mudança de sinal”.
  • Se houver exatamente duas raízes dentro de [a,b] e você escolher [a,b] com f(a)f(b)>0 (o caso típico), então o método não se aplica: ele não “falhará” no sentido de dar resposta errada, ele simplesmente não pode ser iniciado porque o passo inicial (verificar mudança de sinal) falha.
  • Se, por outro lado, o intervalo inicial de fato satisfizer f(a)f(b)<0, então o número de raízes “com mudança de sinal” nele será ímpar (1, 3, 5, …). Portanto não pode haver exatamente duas raízes simples nesse caso — duas seria par. Nessa situação (quando a condição de início vale) o método funciona: ele vai estreitar sucessivamente um intervalo que contém pelo menos uma raiz e convergir para uma dessas raízes (ou para um ponto onde f=0). Em resumo: com duas raízes no intervalo inicial, normalmente a bisseção não pode começar; se conseguir começar, significa que o número total de raízes com mudança de sinal é ímpar, e a bisseção vai convergir para uma única raiz localizada dentro do refinamento.

Passo 5

Raciocínio operacional (como você procede na prova / implementação, passo a passo curto):
  • Antes de aplicar a bisseção verifique f(a)\cdot f(b).
    • Se f(a)f(b)<0: aplique o método — escolha x_1=(a+b)/2, calcule f(x_1) e replique a regra:
      • se f(a)f(x_1)<0 então substitua b\leftarrow x_1;
      • senão (isto é, se f(x_1)f(b)<0) substitua a\leftarrow x_1.
    • Se f(a)f(b)>0: a bisseção não pode ser aplicada diretamente. Você precisa ou:
      • escolher um par de pontos menores que contenham uma mudança de sinal (fazer uma varredura e achar subintervalo com sinais opostos), ou
      • usar outro método (por exemplo, inspeção do gráfico, método de Newton, busca por mudanças de sinal, ou dividir o intervalo e testar cada subintervalo).
Isso responde a (a) em termos práticos: se houver duas raízes e você não tem mudança de sinal nos extremos, a bisseção não serve sem ajustar o intervalo.

Passo 6

Agora a parte (b): o que significa f\left(x_k\right)=0 e o que o algoritmo deve fazer.
  • Significado matemático: f\left(x_k\right)=0 significa que você encontrou uma raiz exata — o ponto médio x_k é um zero da função.
  • O que fazer no algoritmo (regra clara e simples):
    • Pare imediatamente e retorne x_k como solução exata.
  • Nota prática (numérica):
    • Na computação com números de ponto flutuante raramente se obtém exatamente zero. Por isso, na prática usa-se um critério de tolerância: se |f(x_k)|<\text{tol} (por exemplo \text{tol}=10^{-12} ou um valor adequado) então aceitasse x_k como raiz aproximada e para.
    • Mesmo se a raiz for de multiplicidade maior (por exemplo uma raiz dupla), o fato de f(x_k)=0 implica que encontrou uma raiz e pode parar. Não é preciso continuar refinando para “confirmar” — a condição f=0 é suficiente.

Passo 7

Resumo curto e amigável para levar à prova (com frases que você pode escrever na folha):
  • Para (a): verifique primeiro f(a)f(b). Se f(a)f(b)<0 então existe pelo menos uma raiz em (a,b) (Bolzano) e a bisseção funciona e convergirá para uma raiz. Se o intervalo contém exatamente duas raízes simples, normalmente f(a)f(b)>0 e, portanto, a bisseção NÃO pode ser aplicada diretamente — você precisa encontrar um subintervalo com mudança de sinal ou outro método.
  • Para (b): se em alguma iteração f(x_k)=0, você encontrou uma raiz exata; o algoritmo deve parar e devolver x_k. Na prática, aceite |f(x_k)|<\text{tol} como critério de parada.

Resposta

(a) Se no intervalo inicial [a,b] tivermos duas raízes simples, tipicamente f(a)f(b)>0 (mesmo sinal nos extremos) e a condição do Teorema de Bolzano usada pelo método da bisseção não é satisfeita, logo o método não pode ser iniciado nesse intervalo; se a bisseção for iniciada (isto é, se f(a)f(b)<0) então o número de raízes que causam troca de sinal é ímpar e a bisseção convergirá para uma única raiz (portanto não é consistente haver exatamente duas raízes simples quando f(a)f(b)<0).\n(b) f(x_k)=0 significa que x_k é uma raiz exata; o algoritmo deve parar e devolver x_k. Na prática numérica usa-se o critério |f(x_k)|<\text{tol} para interromper.

Exercícios relacionados