| | | | |

2.1 Método da Bisseção

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

O método da bisseção explora o fato de que toda função contínua f com f(a)f(b)<0 (i.e., f(a) e f(b) tem sinais diferentes) tem pelo menos um zero no intervalo (a,b)99endnote: 9Esta é uma consequência imediata do Teorema do Valor Intermediário..

Exemplo 2.1.1.

Consideramos o problema de resolver a equação

sen2(x+π4) =x3π4x2 (2.2)
5π216x3π364.

Este problema é equivalente a encontrar os zeros da seguinte função

f(x) =sen2(x+π4)x3 (2.3)
+π4x2+5π216x+3π364.

Os zeros exatos1010endnote: 10O problema foi construído para que tivesse estas soluções. desta função são x1=3π/42.3562 e x2=x3=π/40.78540 (consulte a Figura 2.1).

Refer to caption
Figura 2.1: Função f do Exemplo 2.1.1.

Observamos que esta função é contínua e que, por exemplo, f(2)>0 e f(3)<0, logo f(2)f(3)<0 e, de fato, f tem pelo menos um zero1111endnote: 11De fato, f tem três zeros no intervalo (2,3). no intervalo (2,3).

Consideramos, então, uma função f contínua tal que f(a)f(b)<0. O método da bisseção é iterativo, a primeira aproximação para uma solução de f(x)=0 é tomada como o ponto médio do intervalo (a,b), i.e.

x(0)=a(1)+b(1)2, (2.4)

onde a(0)=a e b(0)=b. Daí, se ocorrer f(x(0))=0 o problema está resolvido. Caso contrário, f tem pelo menos um zero num dos subintervalos (a(0),x(0)) ou (x(0),b(0)), pois f(a(0))f(x(0))<0 ou f(x(0))f(b(0))<0, respectivamente e exclusivamente. No primeiro caso, escolhemos (a(1),b(1))=(a(0),x(0)) ou, no segundo caso, tomamos (a(1),b(1))=(x(0),b(0)). Então, a segunda aproximação para uma solução é computada como

x(1)=a(1)+b(1)2. (2.5)

O procedimento se repete até obtermos uma aproximação com a precisão desejada.

Exemplo 2.1.2.

Consideremos o problema de encontrar um zero da função

f(x) =sen2(x+π4)x3 (2.6)
+π4x2+5π216x+3π364.

Do esboço de seu gráfico (Figura 2.1), observamos que f(2)f(3)0 sendo que o zero x=3π/42.3562 de f está no intervalo (2,3). Aplicando o método da bisseção com intervalo inicial (a(0),b(0))=(2,3) e aproximação inicial x(0)=(a(0)+b(0))/2, obtemos as aproximações apresentadas na Tabela 2.1.

Tabela 2.1: Resultados referentes ao Exemplo 2.1.2.
k a(k) b(k) x(k) s
0 2.0000 3.0000 2.5000 -1
1 2.0000 2.5000 2.2500 1
2 2.2500 2.5000 2.3750 -1
3 2.2500 2.3750 2.3125 1
4 2.3125 2.3750 2.3438 1
5 2.3438 2.3750 2.3594 -1
6 2.3438 2.3594 2.3516 1
7 2.3516 2.3594 2.3555 1
8 2.3555 2.3594 2.3574 -1
9 2.3555 2.3574 2.3564 -1
s:=f(a(k))f(x(k))
1import numpy as np
2
3f = lambda x: np.sin(x+np.pi/4)**2 \
4  - x**3 + np.pi/4*x**2 + 5*np.pi**2/16*x \
5  + 3*np.pi**3/64
6
7a = 2
8b = 3
9x = (a + b)/2
10print(f"0: a={a:.4f}, b={b:.4f}, x={x:.4f}")
11for k in range(9):
12  s = np.sign(f(a)*f(x))
13  if (s == -1):
14    b = x
15  elif (s == 1):
16    a = x
17  else:
18    break
19  x = (a + b)/2
20  print(f"{k+1}: a={a:.4f}, b={b:.4f}, x={x:.4f}")

2.1.1 Análise Numérica

Dada uma função contínua f:[a,b] com f(a)f(b)<0, vamos mostrar que o método da bisseção é globalmente convergente e tem ordem de convergência linear.

Definição 2.1.1.

(Método Iterativo Globalmente Convergente.) Um método iterativo

x(0)=aprox. inicial, (2.7)
x(k+1)=g(xk), (2.8)

com k=0.1,, é dito globalmente convergente, quando

limk|x(k+1)x(k)|=0 (2.9)

para qualquer escolha de x(0).

Definição 2.1.2.

(Ordem de convergência.) Seja (x(k))k=1 uma sequência convergente com

limk|x(k+1)x(k)|=0, (2.10)

com x(k+1)x(k)0 para todo k. Dizemos que (x(k))k=1 converge com ordem α>0 e com constante de erro assintótica C>0, quando

limk|x(k+1)x*||x(k)x*|α=C. (2.11)

Em geral, quando maior o valor de α, mais rapidamente é a convergência das iteradas de um método iterativo. Os seguintes casos são particularmente importantes:

  • Se α=1 e C<1, o método é linearmente convergente.

  • Se α=2, o método é quadraticamente convergente.

Convergência e Precisão

Teorema 2.1.1.

Seja f:[a,b] função contínua com f(a)f(b)<0. Então, o método da bisseção é globalmente convergente.

Demonstração.

Seja (x(k))k=1 a sequência de aproximações1212endnote: 12Caso, f(a(k))=0 ou f(a(b))=0, então assumimos que a(k+i)=a(k) ou b(k+i)=b(k), conforme o caso, para i=1,2,3,. do método da bisseção. Por construção, temos

|x(k)x(k1)| b(k1)a(k1) (2.12)
b(k2)a(k2)2 (2.13)
(2.14)
b(0)a(0)2k1 (2.15)

Ou seja, obtemos a estimativa de convergência

|x(k)x(k1)|b(0)a(0)2k1 (2.16)

Daí, segue que

limk|x(k)x(k1)| =limkb(k)a(k1) (2.17)
=0. (2.18)

Exemplo 2.1.3.

No Exemplo 2.1.2 aplicamos o método da bisseção para a função

f(x) =sen2(x+π4)x3 (2.19)
+π4x2+5π216x+3π364.

no intervalo (2,3). Ao recuperarmos os valores de |x(k)x(k1)| obtemos

k x(k) |x(k)x(k1)|
0 2.5000 -x-
1 2.2500 2.5×101
2 2.3750 1.2×101
3 2.3125 6.2×102
4 2.3438 3.1×102
5 2.3594 1.6×102
6 2.3516 7.8×103
7 2.3555 3.9×103
8 2.3574 2.0×103
9 2.3564 9.8×104

Observamos que os valores estão de acordo com a estimativa de convergência 2.16, donde

|x(9)x(8)| b(0)a(0)29 (2.20)
=3229=1.9×103 (2.21)

O Teorema 2.1.1 nos garante a convergência do método da bisseção e uma estimativa de precisão (Equação 2.16). O teorema não garante que o método converge para um zero da função objetivo, apenas garante que as aproximações convergem para algum valor no intervalo inicial dado.

Convergência e Exatidão

Dada uma função contínua e estritamente monótona1313endnote: 13Função estritamente crescente ou estritamente decrescente, exclusivamente. f:[a,b] com f(a)f(b)<0, temos que o método da bisseção converge para o zero de f em [a,b].

Teorema 2.1.2.

Seja f:[a,b] função contínua e estritamente monótona com f(a)f(b)<0. Então, o método da bisseção converge para o zero de f em [a,b].

Demonstração.

Das hipóteses temos que f tem um único zero x* em (a,b). Seja (x(k))k=1 a sequência de aproximações1414endnote: 14Caso, f(a(k))=0 ou f(a(b))=0, então assumimos que a(k+i)=a(k) ou b(k+i)=b(k), conforme o caso, para i=1,2,3,. do método da bisseção. Por construção, temos

|x(k)x*| b(k)a(k)2 (2.22)
b(k1)a(k1)22 (2.23)
(2.24)
b(1)a(1)2k, (2.25)

donde, obtemos a seguinte estimativa do erro de truncamento

|x(k)x*|b(1)a(1)2k. (2.26)

E, daí também, segue que o método converge para o zero de f, pois

limk|x(k)x*|=limkb(1)a(1)2k=0. (2.27)

Observação 2.1.1.

(Estimativa de Exatidão.) A estimativa de truncamento 2.26 é também um estimativa de exatidão, i.e. nos fornece uma medida do erro na k-ésima aproximação do método da bisseção.

Exemplo 2.1.4.

No Exemplo 2.1.2 aplicamos o método da bisseção para a função

f(x) =sen2(x+π4)x3 (2.28)
+π4x2+5π216x+3π364.

no intervalo (2,3). A aplicação do método, nos fornece

k x(k) |x(k)x*|
0 2.3560 1.4×101
1 2.2500 1.1×101
2 2.3750 1.9×102
3 2.3125 4.4×102
4 2.3438 1.2×102
5 2.3594 3.2×103
6 2.3516 4.6×103
7 2.3555 7.3×104
8 2.3574 1.2×103
9 2.3564 2.5×104

onde, x*=x1=3π/4. Observamos que este resultado é consistente com a estimativa do erro de truncamento (2.26), da qual temos

|x(9)x*| b(0)a(0)210 (2.29)
=1210=1.0e3. (2.30)
Observação 2.1.2.

(Ordem de Convergência Linear.) A estimativa de convergência (2.26) também pode ser usada para mostrarmos que, assintoticamente, o método da bisseção tem a seguinte taxa de convergência linear

|x(k+1)x(k)|12|x(k)x(k1)|𝟏. (2.31)

2.1.2 Zeros de Multiplicidade Par

Sejam f uma função suave e x* um zero de multiplicidade par de f. Observamos que o método da bisseção não é diretamente aplicável para aproximar x*. Isto ocorre, pois, neste caso, x* será um ponto de mínimo ou de máximo local de f, não havendo pontos a e b próximos de x* tal que f(a)f(b)<0.

Agora, sendo x* um zero de f de multiplicidade 2m, temos que ela admite a seguinte decomposição

f(x)=(xx*)2mg(x), (2.32)

onde g é uma função suave e g(x*)0. Daí, a derivada de f

f(x)=2m(xx*)2m1g(x)+(xx*)2mg(x), (2.33)

tem x* como um zero de multiplicidade 2m1 (ímpar) e, desta forma, podemos aplicar o método da bisseção em f para aproximar x*.

Exemplo 2.1.5.

A função

f(x) =sen2(x+π4)x3 (2.34)
+π4x2+5π216x+3π364.

tem x=π/40.7854 como um zero de multiplicidade par (veja Figura 2.2).

Refer to caption
Figura 2.2: Esboço do gráfico da f e de sua derivada f dada no Exemplo 2.1.5.

Para aplicarmos o método da bisseção para aproximarmos este zero, primeiramente, derivamos f

f(x) =2sin(x+π/4)cos(x+π/4)3x2 (2.35)
+π2x+5π216.

O esboço do gráfico de f (Figura 2.2) mostra que f(1)f(0)<0 sendo que no intervalo (1,0) f tem um zero de multiplicidade ímpar. Então, aplicando o método da bisseção a f no intervalo inicial (a(1),b(1))=(1,0), obtemos os resultados apresentados na Tabela 2.2. Nesta tabela são apresentados as iteradas até a convergência da solução com precisão de 103.

Tabela 2.2: Resultados referentes ao Exemplo 2.1.2.
k a(k) b(k) x(k) s
0 1.0000e+0 0.0000e+0 5.0000e1 -1
1 1.0000e+0 5.0000e1 7.5000e1 -1
2 1.0000e+0 7.5000e1 8.7500e1 1
3 8.7500e1 7.5000e1 8.1250e1 1
4 8.1250e1 7.5000e1 7.8125e1 -1
5 8.1250e1 7.8125e1 7.9688e1 1
6 7.9688e1 7.8125e1 7.8906e1 1
7 7.8906e1 7.8125e1 7.8516e1 -1
8 7.8906e1 7.8516e1 7.8711e1 1
9 7.8711e1 7.8516e1 7.8613e1 1
s:=f(a(k))f(x(k))

2.1.3 Exercícios

E. 2.1.1.

Use o método da bisseção para aproximar um zero de

f(x)=x3sen(x)cos(x) (2.36)

aplicando como intervalo inicial (a(0),b(0))=(0.5,1) e aproximação inicial x(0)=(a(0)+b(0))/2. Faça, então, 6 iterações de forma a obter a aproximação x(6) e forneça-a com 7 dígitos significativos por arredondamento.

Resposta.

9.179688×101

E. 2.1.2.

Considere o método da bisseção para aproximar um zero de f(x)=x3sen(x)cos(x), aplicando como intervalo inicial (a(0),b(0))=(0.5,1) e aproximação inicial x(0)=(a(0)+b(0))/2. Use a estimativa de convergência (2.26)

|x(k)x*|b(0)a(0)2k, (2.37)

para estimar o número mínimo de iterações kconv necessárias para se obter a solução com exatidão de 104. Então, compute x(kconv) e forneça-o com 6 dígitos significativos por arredondamento.

Resposta.

9.15833e1

E. 2.1.3.

Use o método da bisseção para computar a(s) solução(ões) das seguintes equações com precisão de 8 dígitos significativos.

  1. a)

    x=2x para 0x2.

  2. b)

    ex2=3xx2 para 1x4.

Resposta.

a) 6.4118574×101; b) 3.3536470×101; 2.9999589

E. 2.1.4.

Use o método da bisseção para encontrar uma aproximação com precisão de 104 do zero de

f(x) =(x2+1.154x0.332929)cos(x)+x2
1.154x+0.332929 (2.38)

no intervalo (0.55,0.65). Forneça a aproximação computada com 7 dígitos significativos por arredondamento.

Resposta.

5.770508×101

E. 2.1.5.

Aplique o método da bisseção para encontrar o ponto crítico1515endnote: 15Definimos que x é ponto crítico de uma dada f, quando f(x)=0 ou f(x). de

f(x)=(1x2)ex2 (2.39)

no intervalo (0,2). Obtenha o resultado com precisão de 5 dígitos significativos por arredondamento.

Resposta.

1.4142e+0


Envie seu comentário

As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!