| | | |

Matemática Numérica I

2 Equação com uma incógnita

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

2.1 Método da bisseção

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)111Esta é 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π216x-3π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 exatos222O problema foi construído para que tivesse estas soluções. desta função são x1=3π/42.3562 e x2=x3=-π/4-0.78540 (consulte a Figura 2.1).

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 zero333De 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ções444Caso, 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(k-1)| b(k-1)-a(k-1) (2.12)
b(k-2)-a(k-2)2 (2.13)
(2.14)
b(0)-a(0)2k-1 (2.15)

Ou seja, obtemos a estimativa de convergência

|x(k)-x(k-1)|b(0)-a(0)2k-1 (2.16)

Daí, segue que

limk|x(k)-x(k-1)| =limkb(k)-a(k-1) (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(k-1)| obtemos

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

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)
=3-229=1.9×10-3 (2.21)

O Teorema 2.1.1 nos garante a convergência do método da bisseção e uma estimativa de precisão ((2.16)). O teorema não garante que o método onverge 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ótona555Funçã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ções666Caso, 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(k-1)-a(k-1)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×10-1
1 2.2500 1.1×10-1
2 2.3750 1.9×10-2
3 2.3125 4.4×10-2
4 2.3438 1.2×10-2
5 2.3594 3.2×10-3
6 2.3516 4.6×10-3
7 2.3555 7.3×10-4
8 2.3574 1.2×10-3
9 2.3564 2.5×10-4

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.0e-3. (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(k-1)|𝟏. (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)=(x-x*)2mg(x), (2.32)

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

f(x)=2m(x-x*)2m-1g(x)+(x-x*)2mg(x), (2.33)

tem x* como um zero de multiplicidade 2m-1 (í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=-π/4-0.7854 como um zero de multiplicidade par (veja Figura 2.2).

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 10-3.

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.0000e-1 -1
1 -1.0000e+0 -5.0000e-1 -7.5000e-1 -1
2 -1.0000e+0 -7.5000e-1 -8.7500e-1 1
3 -8.7500e-1 -7.5000e-1 -8.1250e-1 1
4 -8.1250e-1 -7.5000e-1 -7.8125e-1 -1
5 -8.1250e-1 -7.8125e-1 -7.9688e-1 1
6 -7.9688e-1 -7.8125e-1 -7.8906e-1 1
7 -7.8906e-1 -7.8125e-1 -7.8516e-1 -1
8 -7.8906e-1 -7.8516e-1 -7.8711e-1 1
9 -7.8711e-1 -7.8516e-1 -7.8613e-1 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.


9.179688×10-1

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 10-4. Então, compute x(kconv) e forneça-o com 6 dígitos significativos por arredondamento.


9.15833e-1

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=2-x para 0x2.

  2. b)

    e-x2=3x-x2 para -1x4.


a) 6.4118574×10-1; b) 3.3536470×10-1; 2.9999589

E. 2.1.4.

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

f(x) =(-x2+1.154x-0.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.


5.770508×10-1

E. 2.1.5.

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

f(x)=(1-x2)e-x2 (2.39)

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


1.4142e+0


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
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.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |