| | | | |

4.1 Método de Newton

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

Consideramos o problema de encontrar

𝒙=(x1,x2,,xn)n (4.2)

tal que

F(𝒙)=𝟎, (4.3)

onde F:nn é uma dada função vetorial com

F(𝒙)=(f1(𝒙),f2(𝒙),,fn(𝒙))n. (4.4)

Sejam 𝒙* a solução exata de (4.3) e 𝒙(0) uma dada aproximação de 𝒙*. Assim sendo, tomamos a seguinte expansão de F em polinômio de Taylor4242endnote: 42Brook Taylor, 1685 - 1731, matemático britânico. Fonte: Wikipédia:Brook Taylor.:

F(𝒙*)=F(𝒙(0))+JF(𝒙(0))(𝒙*𝒙(0))+𝒓, (4.5)

onde JF é a matriz jacobiana4343endnote: 43Carl Gustav Jakob Jacobi, 1804 - 1851, matemático alemão. Fonte: Wikipédia: Carl Gustav Jakob Jacobi. de F

JF(𝒙) :=(f1,f2,,fn)(x1,x2,,xn) (4.6)
:=[f1x1f1x2f1xnf2x1f2x2f2xnfnx1fnx2fnxn] (4.11)

e 𝒓20 quando 𝒙(0)𝒙*0.

Daí, como F(𝒙*)=𝟎, segue que

JF(𝒙(0))(𝒙*𝒙(0))F(𝒙(0)). (4.12)

Então, multiplicando a inversa da jacobiana à esquerda, obtemos

𝒙*𝒙(0)JF1(𝒙(0))F(𝒙(0)) (4.13)

e, também,

𝒙*𝒙(0)JF1(𝒙(0))F(𝒙(0)). (4.14)

O exposto acima nos motiva a iteração de Newton4444endnote: 44Isaac Newton, 1642 - 1727, matemático, físico, astrônomo, teólogo e autor inglês. Fonte: Wikipédia: Isaac Newton.:

𝒙(0)=aprox. inicial, (4.15a)
𝒙(k+1)=𝒙(k)JF1(𝒙(k))F(𝒙(k)), (4.15b)

com k=0,1,2,.

Exemplo 4.1.1.

Seja o sistema de equações não lineares

x1x22=x12x26, (4.16a)
x12x237=x1. (4.16b)

Para usarmos o método de Newton, reescrevemos o sistema na seguinte forma

x1x22x12x2+6 =0, (4.17a)
x1+x12x237 =0. (4.17b)

Com isso, identificamos a função objetivo

F(𝒙) =[f1(𝒙)f2(𝒙)] (4.20)
=[x1x22x12x2+6x1+x12x237] (4.23)

e calculamos sua matriz jacobiana

JF(𝒙) =(f1,f2)(x1,x2) (4.24)
=[f1x1f1x2f2x1f2x2] (4.27)
=[x222x1x22x1x2x121+2x1x233x12x22] (4.30)

Definidas F e JF e tomando a aproximação inicial

𝒙(0)=(1.5,1.5) (4.31)

computamos as iterações de Newton e obtemos os resultados apresentados na Tabela 4.1.

Tabela 4.1: Resultados referentes ao Exemplo 4.1.1.
k 𝒙(k) F(𝒙(k))
0 (1.50,1.50) 1.2e+0
1 (1.07,1.82) 1.2e+0
2 (9.95e1,2.00) 7.6e2
3 (1.00,2.00) 1.2e4
4 (1.00,2.00) 2.1e9
1import numpy as np
2import numpy.linalg as npla
3
4def newton(F, J, x0,
5           maxiter=100, tol=1.49e-8):
6  print(f'\n{0}: x = {x0}, ' + \
7        f'norm = {npla.norm(F(x0)):.1e}')
8  info = -1
9  for k in range(maxiter):
10    x = x0 - npla.inv(J(x0))@F(x0)
11    print(f'{k+1}: x = {x}, ' + \
12          f'norm = {npla.norm(F(x)):.1e}')
13    if (npla.norm(x - x0) < tol):
14      info = 0
15      break
16    x0 = x.copy()
17  return x, info
18
19def F(x):
20  n = x.size
21  y = np.empty(n)
22  y[0] = x[0]*x[1]**2 - x[0]**2*x[1] + 6
23  y[1] = x[0] + x[0]**2*x[1]**3 - 7
24  return y
25
26def J(x):
27  n = x.size
28  y = np.empty((n,n))
29  y[0,0] = x[1]**2 - 2*x[0]*x[1]
30  y[0,1] = 2*x[0]*x[1] - x[0]**2
31  y[1,0] = 1 + 2*x[0]*x[1]**3
32  y[1,1] = 3*x[0]**2*x[1]**2
33  return y
34
35x0 = np.array([-1.5, 1.5])
36x, info = newton(F, J, x0)

4.1.1 Análise Numérica

Para uma função F suficientemente suave e com uma escolha apropriada da aproximação inicial 𝒙(0), temos que as iterações de Newton

𝒙(k+1)=𝒙(k)JF1(𝒙(k))F(𝒙(k)), (4.32)

com k=0,1,2,, são quadraticamente convergentes4545endnote: 45Para informações mais precisas sobre a convergência do Método de Newton, consulte [8, Seção 5.3]., i.e.

𝒙(k+1)𝒙*C𝒙(k)𝒙*2, (4.33)

onde 𝒙* é a solução exata, i.e. F(𝒙*)=𝟎.

Exemplo 4.1.2.

Consideremos o seguinte sistema de equações não lineares

x1x22x12x2+6 =0, (4.34)
x1+x12x237 =0. (4.35)

A Figura 4.1 é um esboço do gráfico da F(). Este problema foi confeccionado de forma que 𝒙*=(1,2). Então, tomando 𝒙(0)=(1.5,1.5) como aproximação inicial, computamos as iterações de Newton para este problema, donde obtemos os resultados reportados na Tabela 4.2.

Refer to caption
Figura 4.1: Esboço do gráfico de F() referente ao Exemplo 4.1.2.
k 𝒙(k) 𝒙(k)𝒙*
0 (1.50,1.50) 7.1e01
1 (1.07,1.82) 2.0e01
2 (9.95e1,2.00) 5.1e03
3 (1.00,2.00) 2.6e05
4 (1.00,2.00) 2.0e10
5 (1.00,2.00) 3.1e16
Tabela 4.2: Resultados referentes ao Exemplo 4.1.2.

4.1.2 Exercícios

E. 4.1.1.

Use o Método de Newton para computar uma solução aproximada para o sistema de equações

x123+x22=1 (4.36a)
x12+x224=1 (4.36b)
Resposta.

Soluções exatas: 𝒙=±(911,811).

E. 4.1.2.

Use o Método de Newton, com aproximação inicial 𝒙(0)=(1.5,0.5) para computar uma solução aproximada para o sistema de equações

x12=cos(x1x2)+1 (4.37a)
sen(x2)=2cos(x1) (4.37b)
Resposta.

𝒙=(1.3468109,0.4603195)

E. 4.1.3.

Use o Método de Newton, com aproximação inicial 𝒙(0)=(1,1) para computar uma solução aproximada para o sistema de equações

3x1=cos(x1x2)+12 (4.38a)
4x12+2x2x1=0 (4.38b)
Resposta.

𝒙=(4.668417e1,9.368334e1)

E. 4.1.4.

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

x2sen(x3)+x12 =0, (4.39)
x1x2sen(x2)+0.2 =0, (4.40)
x32+cos(x1x2)4.5 =0. (4.41)

Para tanto, use 𝒙(1)=(1,1,1).

Resposta.

𝒙=(1.7519e+0,2.6202e1,1.8983e+0)

E. 4.1.5.

Considere o problema de encontrar os pontos de interseção no plano xy da elipse

x24+y29=1 (4.42)

com a curva

x=y2x. (4.43)

Escreva o problema na forma F(𝒙)=𝟎 e use o Método de Newton para encontrar o ponto de interseção próximo de (x,y)=(1.5,1.5).

Resposta.

x=1.842996e+0, y=1.165148e+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!