| | | |

Matemática Numérica I

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

4.1 Método de Newton

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.7)

e 𝒓20 quando 𝒙(0)𝒙0.

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

JF(𝒙(0))(𝒙𝒙(0))F(𝒙(0)). (4.8)

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

𝒙𝒙(0)JF1(𝒙(0))F(𝒙(0)) (4.9)

e, também,

𝒙𝒙(0)JF1(𝒙(0))F(𝒙(0)). (4.10)

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.11a)
𝒙(k+1)=𝒙(k)JF1(𝒙(k))F(𝒙(k)), (4.11b)

com k=0,1,2,.

Exemplo 4.1.1.

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

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

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

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

Com isso, identificamos a função objetivo

F(𝒙) =[f1(𝒙)f2(𝒙)] (4.14)
=[x1x22x12x2+6x1+x12x237] (4.15)

e calculamos sua matriz jacobiana

JF(𝒙) =(f1,f2)(x1,x2) (4.16)
=[f1x1f1x2f2x1f2x2] (4.17)
=[x222x1x22x1x2x121+2x1x233x12x22] (4.18)

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

𝒙(0)=(1.5,1.5) (4.19)

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.20)

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.21)

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.22)
x1+x12x237 =0. (4.23)

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.24a)
x12+x224=1 (4.24b)
Resposta 0.

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.25a)
sen(x2)=2cos(x1) (4.25b)
Resposta 0.

𝒙=(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.26a)
4x12+2x2x1=0 (4.26b)
Resposta 0.

𝒙=(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.27)
x1x2sen(x2)+0.2 =0, (4.28)
x32+cos(x1x2)4.5 =0. (4.29)

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

Resposta 0.

𝒙=(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.30)

com a curva

x=y2x. (4.31)

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 0.

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

Matemática Numérica I

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

4.1 Método de Newton

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.7)

e 𝒓20 quando 𝒙(0)𝒙0.

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

JF(𝒙(0))(𝒙𝒙(0))F(𝒙(0)). (4.8)

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

𝒙𝒙(0)JF1(𝒙(0))F(𝒙(0)) (4.9)

e, também,

𝒙𝒙(0)JF1(𝒙(0))F(𝒙(0)). (4.10)

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.11a)
𝒙(k+1)=𝒙(k)JF1(𝒙(k))F(𝒙(k)), (4.11b)

com k=0,1,2,.

Exemplo 4.1.1.

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

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

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

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

Com isso, identificamos a função objetivo

F(𝒙) =[f1(𝒙)f2(𝒙)] (4.14)
=[x1x22x12x2+6x1+x12x237] (4.15)

e calculamos sua matriz jacobiana

JF(𝒙) =(f1,f2)(x1,x2) (4.16)
=[f1x1f1x2f2x1f2x2] (4.17)
=[x222x1x22x1x2x121+2x1x233x12x22] (4.18)

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

𝒙(0)=(1.5,1.5) (4.19)

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.20)

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.21)

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.22)
x1+x12x237 =0. (4.23)

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.24a)
x12+x224=1 (4.24b)
Resposta 0.

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.25a)
sen(x2)=2cos(x1) (4.25b)
Resposta 0.

𝒙=(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.26a)
4x12+2x2x1=0 (4.26b)
Resposta 0.

𝒙=(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.27)
x1x2sen(x2)+0.2 =0, (4.28)
x32+cos(x1x2)4.5 =0. (4.29)

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

Resposta 0.

𝒙=(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.30)

com a curva

x=y2x. (4.31)

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 0.

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