| | | | |

2.5 Método de Newton

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

Seja x* um zero de uma dada função f, i.e.

f(x*)=0. (2.123)

A expansão em polinômio de Taylor2121endnote: 21Brook Taylor, 1685 - 1731, matemático britânico. Fonte: Wikipédia:Brook Taylor. de f em um ponto x~ dado, é

f(x*)=f(x~)+f(x~)(x*x~)+O(|x*x~|2). (2.124)

Como f(x*)=0, temos

0=f(x~)+f(x~)(x*x~)+O(|x*x~|2) (2.125)
x*=x~f(x~)f(x~)+O(|x*x~|2) (2.126)

Esta última expressão nos indica que dada uma aproximação x~ do zero de f a expressão

x~f(x~)f(x~), (2.127)

aproxima x* com um erro da ordem de |x*x~|2.

Estas observações nos levam a iteração de Newton2222endnote: 22Sir Isaac Newton, matemático e físico inglês, 1642 - 1726/27. Fonte: Wikipedia.

x(0) =aprox. inicial, (2.128)
x(k+1) =x(k)f(x(k))f(x(k)), (2.129)

com k=0,1,2,.

Exemplo 2.5.1.

Consideramos o problema de encontrar o zero da função

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

no intervalo [2,3] (Consulte a Figura 2.8).

Refer to caption
Figura 2.8: Função f do Exemplo 2.5.1.

Fazendo as iterações de Newton com aproximação inicial x(0)=2.6, obtemos os resultados apresentados na Tabela 2.6.

Tabela 2.6: Resultados referentes ao Exemplo 2.5.1.
k x(k) |x(k)x(k1)|
0 2.6000 -x-
1 2.3836 2.2e1
2 2.3566 2.7e2
3 2.3562 3.9e4
4 2.3562 8.3e8
1import numpy as np
2
3# fun obj
4f = lambda x: np.sin(x+np.pi/4)**2 \
5  - x**3 + np.pi/4*x**2 + 5*np.pi**2/16*x \
6  + 3*np.pi**3/64
7
8fl = lambda x: 2*np.sin(x+np.pi/4)*np.cos(x+np.pi/4) \
9  -3*x**2 + np.pi/2*x + 5*np.pi**2/16
10
11# aprox. inicial
12x0 = 2.6
13print(f'0: {x0:.4e}')
14
15# iterações
16for k in range(4):
17  x = x0 - f(x0)/fl(x0)
18  print(f'{k+1}: {x:.4e}')
19  x0 = x
Observação 2.5.1.

O método de Newton é uma iteração de ponto fixo ótima. Do Teorema do Ponto Fixo (Teorema 2.3.1), a iteração

xk+1 =g(x(k)) (2.131)
:=x(k)αf(x) (2.132)

tem taxa de convergência2323endnote: 23Supondo verdadeiras as demais hipóteses do Teorema 2.3.1.

|x(k+1)x(k)|K|x(k)x(k1)|, (2.133)

com K tal que |g(x)|=|1αf(x)|<K<1. Isto nos indica que a melhor escolha para α é

α=1f(x), (2.134)

de forma que (2.132) coincide com a iteração de (2.129).

2.5.1 Interpretação Geométrica

Dadas uma aproximação x(k) de um zero de uma função f, a iteração de Newton fornece uma nova aproximação x(k+1) com

x(k+1)=x(k)f(x(k))f(x(k)). (2.135)

Subtraindo x(k+1) e multiplicando por f(x(k)), obtemos

0=f(x(k))(x(k+1)x(k))+f(x(k)), (2.136)

Observemos que o lado direito desta última equação corresponde a expressão da reta tangente ao gráfico de f pelo ponto (x(k),f(x(k))), avaliada em x(k+1). Mais precisamente, a equação desta reta tangente é

y=f(x(k))(xx(k))+f(x(k)) (2.137)

e a equação (2.136) nos informa que em x=x(k+1) a reta tangente cruza o eixo x.

Refer to caption
Figura 2.9: Interpretação geométrica das iterações de Newton.

Destas observações, concluímos que a iterada x(k+1) do método de Newton corresponde ao ponto de interseção da reta tangente ao gráfico da f pelo ponto (xk,f(xk)) com o eixo das abscissas2424endnote: 24Eixo x.. Consulte a Figura 2.9.

Exemplo 2.5.2.

Consideremos que o método de Newton seja usado para aproximarmos o zero de

f(x)=(x1)ex2. (2.138)

Observemos que esta função tem x=1 como seu único zero. Agora, se escolhermos x(0)=0.5 as iterações de Newton convergem para este zero, mas, se escolhermos x~(0)=1.5 não (consulte a Tabela 2.7).

Tabela 2.7: Resultados referentes ao Exemplo 2.5.2
k x(k) x~(k)
0 5.0000e1 1.5000e+0
1 8.3333e1 2.5000e+0
2 9.6377e1 2.7308e+0
3 9.9763e1 2.9355e+0
4 9.9999e1 3.1223e+0
5 1.0000e+0 3.2955e+0
Refer to caption
Figura 2.10: Escolha da aproximação inicial para o método de Newton.

Embora ambas aproximações iniciais estão a mesma distância da solução x=1, quando tomamos x(0)=1.5 as iterações irão divergir, como podemos observar da interpretação geométrica dada na Figura 2.10.

2.5.2 Análise de Convergência

Seja x* o zero de uma dada função f duas vezes continuamente diferenciável com f(x)0 para todo x[x*ε0,x*+ε0] para algum ε0>0. Seja, também, (x(k))k=0 a sequência das iteradas de Newton

x(k+1)=x(k)f(x(k))f(x(k)),k=0,1,2,, (2.139)

com aproximação inicial x(0)(x*ε0,x*+ε0). Então, do polinômio de Taylor de grau 1 de f em torno de x(0), temos

f(x*)=f(x(0))+f(x(0))(x*x(0))+f′′(ξ(0))2!(x*x(0))2, (2.140)

onde ξ(0) está entre x(0) e ξ(0). Daí, rearranjamos os termos e notamos que f(x*)=0 para obtermos

x*[x(0)f(x(0))f(x(0))]=f′′(ξ(0))2f(x(0))(x*x(0))2. (2.141)

Então, da iteração de Newton (2.139), temos

x*x(1)=f′′(ξ(0))2f(x(0))(x*x(0))2 (2.142)

Logo,

|x*x(1)|C|x*x(0)|2, (2.143)

com

C=supx,y[x*ε,x*+ε]|f′′(x)2f(y)|. (2.144)

Segue, então, que se x(0)(x*ε,x*+ε) para algum ε>0 tal que

C|x*x(0)|2<1,x(x*ε,x*+ε), (2.145)

então x(1)(x*ε,x*+ε).

Logo, por indução matemática2525endnote: 25Veja o exercício 2.5.6., temos que o método de Newton tem ordem de convergência quadrática

|x(k+1)x*|C|x(k)x*|𝟐, (2.146)

para qualquer escolha de x(0) suficientemente próximo de x*, i.e. x(0)(x*ε,x*+ε).

Observação 2.5.2.

O intervalo (x*ε,x*+ε) é chamado de bacia de atração do método de Newton.

Exemplo 2.5.3.

Retornamos ao problema de encontrar o zero da função

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

no intervalo [2,3]. Este problema foi construído de forma que x*=3π/4 é um zero de f. Então, fazendo as iterações de Newton com aproximação inicial x(0)=2.6, obtemos os resultados apresentados na Tabela 2.8, os quais evidenciam a convergência quadrática das iterações computadas.

Tabela 2.8: Resultados referentes ao Exemplo 2.5.3.
k x(k) |x(k)x*|
0 2.6000 2.4e01
1 2.3836 2.7e02
2 2.3566 3.9e04
3 2.3562 8.3e08
4 2.3562 3.6e15

2.5.3 Zeros Múltiplos

Na análise de convergência acima foi necessário assumir que f(x)0 para todo x em uma vizinha do zero x* da função f. Isto não é possível no caso de x* ser um zero duplo pois, então, f(x*)=0. Neste caso, podemos aplicar o método de Newton a f(x), a qual tem x* como um zero simples.

Exemplo 2.5.4.

Consideremos o problema de aproximar o zero da função

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

no intervalo [1.0]. Este problema foi construído de forma que x*=π/4 é um zero duplo de f. Então, aplicamos o método de Newton a

f(x) =2sen(x+π4)cos(x+π4) (2.149)
3x²+π2x+5π216.

Ou seja, as iterações de Newton são

x(k+1)=x(k)f(x(k))f′′(x(k)),k=0,1,2,, (2.150)

sendo x(1) uma aproximação inicial. Na Tabela 2.9, temos os resultados obtidos da computação destas iterações com x(1)=0.5.

Tabela 2.9: Resultados referentes ao Exemplo LABEL:cap_eq1d_sec_newton:ex:Newton_multpar.
k x(k) |x(k)x*|
0 -0.5000
1 -0.8341 3.3e-01
2 -0.7862 4.8e-02
3 -0.7854 7.9e-04
4 -0.7854 2.3e-07
5 -0.7854 1.9e-14
Observação 2.5.3.

(Zeros múltiplos.) No caso de zeros de multiplicidade m>1 de uma dada função f, podemos aplicar o método de Newton à derivada m1 de f, o que requer o cálculo de m derivadas de f. Alternativamente, consideramos aplicar o método à função auxiliar

μ(x):=f(x)f(x). (2.151)

De fato, se x* é zero de multiplicidade m1 de f, então existe uma função g tal que g(x*)0 e

f(x)=(xx*)mg(x) (2.152)

Com isso, temos

μ(x) =(xx*)mg(x)m(xx*)m1g(x)+(xx*)mg(x)
=(xx*)g(x)mg(x)+(xx*)g(x)

Como g(x*)0, temos que

g(x*)mg(x*)+(x*x*)g(x*)=1m0. (2.153)

Ou seja, x* é um zero simples de μ. A iteração do Método de Newton aplicado à μ fornece

x(k+1) =x(k)μ(x(k))μ(xk+1) (2.154)
=x(k)=f(x(k))f(x(k))[f(x(k))]2f(x(k))f′′(x(k))[f(x(k))]2 (2.155)

Rearranjando os termos, obtemos a iteração modificada de Newton para zeros de multiplicidade maior que 1

x(k+1)=x(k)f(x(k))f(x(k))[f(x(k))]2f(x(k))f′′(x(k)). (2.156)

Para uma aplicação, consulte o exercício 2.5.3.

Exercícios

E. 2.5.1.

Use o método de Newton para obter uma aproximação do zero de f(x)=x3sen(x)cos(x) no intervalo [0.5,1] com precisão de 106.

Resposta.

9.15811×101

E. 2.5.2.

Use o método de Newton para obter uma aproximação do zero de

f(x) =(x2+1.154x0.332929)cos(x) (2.157)
+x21.154x+0.332929

no intervalo (0.55,0.65) com precisão de 105.

Resposta.

5.7700×101

E. 2.5.3.

A função (2.148) tem um zero de multiplicidade par em x=π/4. Assumindo a aproximação inicial x(0)=0.5, aplique a iteração modificada de Newton dada em (2.156) e compare os resultados com apresentados na Tabela 2.9.

E. 2.5.4.

Assumindo a aproximação inicial x(0)=1, aproxime o zero de

f(x)=exx1 (2.158)

usando:

  1. a)

    a iteração de Newton para f.

  2. b)

    a iteração de Newton para f.

  3. c)

    a iteração modificada de Newton2626endnote: 26Equação (2.156). para f.

Qual a melhor abordagem? Justifique sua resposta.

Resposta.

Dica: Analise a convergência das iteradas para cada abordagem.

E. 2.5.5.

Use o Método de Newton para obter a aproximação do zero de

p(x)=x33πx2+3π2xπ3. (2.159)
Resposta.

Dica: x=π é zero de multiplicidade 3.

Análise Numérica

E. 2.5.6.

Complete a demonstração por indução matemática de que o método de Newton tem taxa de convergência quadrática.


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!