introdução à resolução de sistemas não lineares

Propaganda
87
RESOLUÇÃO DE SISTEMAS NÃO LINEARES
y
, sen(x), ex+z,
z
etc, é chamada não-linear em x, y, z, ..., porque ela não pode ser escrita como
Uma equação que contenha uma expressão do tipo x2, y-2, x.y,
ax + by + cz + ... = cte
que é uma equação linear em x, y, z, ...
Um sistema de n equações e n incógnitas x1, x2, ..., xn é chamado de não-linear se
uma ou mais equações é não-linear. Trazendo todos os termos diferentes de zero à esquerda
de todas as equações, tem-se uma forma geral que pode ser usada para qualquer sistema
não-linear.
 f1 ( x1 , x2 ,..., xn )  0
 f ( x , x ,..., x )  0
 2 1 2
n


 f n ( x1 , x2 ,..., xn )  0
ou simplesmente
 f1 ( x )  0
 f ( x)  0
 2


 f n ( x)  0
em que xT= ( x1 , x2 ,..., xn ).
Em notação vetorial, o sistema linear acima pode ser escrito como: F(x) = 0, em que
 x1 
 
x
x  2
 
 
 xn 
e
 f1  x  


 f 2  x 
F(x) = 




 f  x 
n


Um vetor que x  ( x1 , x2 ,..., x n ) que satisfaz F( x) = 0 é denominado raiz do sistema
não-linear.
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
88
Exemplos:
 x 2  y 2  4
 2
 x  y 2  1
1)
Reescrevendo este sistema na forma do sistema, temos:
Este sistema não-linear admite quatro soluções, que são os pontos onde as curvas
x + y = 4 e x2 - y2 = 1 se interceptam.
2
2
 f1 x, y   x 2  y 2  0.2  0

 f 2 x, y   x 2  y  1  0
2)
Este sistema não tem solução, ou seja, não existem pontos onde as curvas
x  y  0.2  0 e x 2  y  1  0 se interceptem.
2
2
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
89
Método de Newton
O método mais amplamente estudado e conhecido para resolver sistemas de
equação não lineares é o Método de Newton.
No caso de uma equação não linear a uma variável, o Método de Newton consiste
em se tomar um modelo local linear da função f(x) em torno de xk, e este modelo é a reta
tangente à função em xk.
Considerando inicialmente um sistema de equações não lineares com duas equações
e duas incógnitas, temos:
 f 1  x, y   0

 f 2  x, y   0
Desta forma, buscamos determinar o vetor solução (𝑥̅ , 𝑦̅) tal que 𝐹(𝑥̅ , 𝑦̅) = 0 e
𝑓 (𝑥, 𝑦)
𝐹(𝑥, 𝑦) = ( 1
).
𝑓2 (𝑥, 𝑦)
Seja (x0,y0) uma aproximação inicial para a solução (𝑥̅ , 𝑦̅) do sistema. Expandindo
𝑓1 (𝑥, 𝑦) e 𝑓2 (𝑥, 𝑦) por série de Taylor em torno do ponto (x0,y0) até a derivada de primeira
ordem e igualando a zero a série truncada, temos:
𝑓1 (𝑥, 𝑦) ≈ 𝑓1 (𝑥0 , 𝑦0 ) +
𝑓2 (𝑥, 𝑦) ≈ 𝑓2 (𝑥0 , 𝑦0 ) +
{
 𝑓1 (𝑥0 , 𝑦0 )
𝑥
 𝑓2 (𝑥0 , 𝑦0 )
𝑥
(𝑥 − 𝑥0 ) +
(𝑥 − 𝑥0 ) +
 𝑓1 (𝑥0 , 𝑦0 )
𝑦
 𝑓2 (𝑥0 , 𝑦0 )
𝑦
(𝑦 − 𝑦0 ) = 0
(𝑦 − 𝑦0 ) = 0
Este sistema pode ser reescrito como:
−𝑓1 (𝑥0 , 𝑦0 ) =
−𝑓2 (𝑥0 , 𝑦0 ) =
{
 𝑓1 (𝑥0 , 𝑦0 )
𝑥
 𝑓2 (𝑥0 , 𝑦0 )
𝑥
(𝑥 − 𝑥0 ) +
(𝑥 − 𝑥0 ) +
 𝑓1 (𝑥0 , 𝑦0 )
𝑦
 𝑓2 (𝑥0 , 𝑦0 )
𝑦
(𝑦 − 𝑦0 )
(𝑦 − 𝑦0 )
A solução deste sistema fornece uma nova aproximação para a solução (𝑥̅ , 𝑦̅)
desejada. Na forma matricial, temos:
 f1 f1 


 x y   x  x0     f1 ( x0 , y0 ) 
 f 2 f 2   y  y0    f 2 ( x0 , y0 ) 
 x y 

J  x0 , y0 
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
90
Definindo J(x0, y0) a matriz Jacobiana avaliada no ponto (x0, y0), temos:
 x  x0    f1 ( x0 , y0 ) 
  

J x0 , y0 
y

y

f
(
x
,
y
)
0

 2 0 0 
Denotando dx = (x – x0) e dy = (y – y0), temos o sistema linear:
 dx    f (x , y ) 
J  x0 , y0      1 0 0 
 d y    f 2 ( x0 , y0 ) 
Resolvendo este sistema por um método numérico, temos os valores de dx e dy.
Desta forma, a nova aproximação (x, y) é determinada por:
x = x0 + dx
e
y = y0 + dy
Os valores obtidos para x e y não são os valores de 𝑥̅ e 𝑦̅, mas são os valores de uma
nova aproximação, ou seja:
x1 = x0 + d x0
y1 = y0 + d y0
Repetindo o procedimento de linearização em torno do ponto obtido (x0,y0), isto é,
fazendo a expansão das funções f1 e f2 por série de Taylor até a derivada de 1ª ordem,
obtemos uma nova aproximação (x2, y2). Assim, sucessivamente, no ponto (xi,yi), temos o
processo iterativo:
 x  x    f (x , y ) 
J xk , yk  k 1 k    1 k k   Processo iterativo de Newton
 yk 1  yk    f 2 ( xk , yk ) 
Denotando ri = (xi+1 – xi) e si = (y i+1 – yi), resolvemos o sistema de equações lineares
obtido anteriormente e determinamos a nova aproximação (xk+1, yk+1) por:
xk+1 = xk + d xk
yk+1 = yk + d yk
Convergência:
Condições para a convergência do método de Newton:
1. As funções fi = (x, y), i = 1, 2 e as derivadas até 2ª ordem devem ser contínuas e
limitadas numa vizinhança da raiz (𝑥̅ , 𝑦̅).
2. Det[ J ( xk , yk ) ] ≠ 0.
3. A solução inicial (x0, y0) deve ser próxima da raiz (𝑥̅ , 𝑦̅).
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
91
Critério de Parada:

Erro absoluto:
xk 1  xk   e yk 1  yk   .



Erro relativo:
xk 1  xk
xk 1
 e
yk 1  yk
yk 1
 .
Análise de F(x,y) = 0
f1 ( xk , yk )  
e
f 2 ( xk , yk )   .
Se um dos critérios acima estiver satisfeito pare o método.
Generalização do Processo Iterativo de Newton:
Seja
 f1 ( x1 , x2 ,..., xn )  0
 f1 ( x1 , x2 ,..., xn ) 



f
(
x
,
x
,...,
x
)

0
 2 1 2
n
 f 2 ( x1 , x2 ,..., xn ) 

F
(
x
,
x
,...,
x
)

0;
em
que,
F
(
x
,
x
,...,
x
)


1
2
n
1
2
n






 f n ( x1 , x2 ,..., xn )  0
 f n ( x1 , x2 ,..., xn ) 
O processo iterativo de Newton é dado por:
 f1
 x
 1
 f 2

 x1


 f n
 x
 1
f1
x2
f1
xn
f 2
x2
f 2
xn
f n
x2
f n
xn
k 1
k
  x1  x1    f ( x k , x k ,..., x k ) 
n
  x k 1  x k   1 1 2

2
 2




   f ( x k , x k ,..., x k ) 


n
 2 1 2














k
k
k 

  k 1 k    f n ( x1 , x 2 ,..., x n ) 
  xn  xn 
De modo simplificado, temos:
k
k
k
 x1k 1  x1k    f1 ( x1 , x 2 ,..., x n ) 

 k 1
 
x  x 2k    f 2 ( x1k , x 2k ,..., x nk ) 
k
k
k  2
J ( x1 , x 2 ,..., x n ) 




 
 x k 1  x k    f ( x k , x k ,..., x k ) 
n 
 n
n
 n 1 2

Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
92
em que J ( xk , xk ,..., xk ) é a matriz Jacobiana avaliada no ponto ( xk , xk ,..., xk ) .
1
2
1
n
Denotando d  x
k
1
k 1
1
 x1 ; d  x
k
k
2
k 1
2
x
k
2
k 1
n
... d  x
k
n
2
n
 xn , temos o sistema de equações
k
lineares para ser resolvido:
k
k
k
 d1k    f1 ( x1 , x 2 ,..., x n ) 


 k
k
k
k



f
(
x
,
x
,...,
x
)
d
2
(k )
(k )
(k )
1
2
n
J ( x1k , x 2k ,..., x nk )  2   
  J ( x )  d   F ( x )
 


 k 
 d n    f n ( x1k , x 2k ,..., x nk ) 
em que:
d (k )
 f1 ( x ( k ) ) 
 d1k 
 x1k 


 k
 
(k )
d 2  ( k )  x2k 
 f2 ( x ) 
(k )


; x 
e F (x )  

 
 


 k 
 k 
 f ( x( k ) ) 
 dn 
 xn 
 n

Utilizando um método direto para resolver este sistema linear obtido, temos os
valores de d1k ; d 2k ... d nk e a nova solução aproximada x1k 1 , x2k 1 , ..., xnk 1 é dada por:
 x1k 1   x1k   d1k 
 k 1   k   k 
 x2    x2    d 2   ( x ( k 1) )  ( x ( k ) )  (d ( k ) )

    
 k 1   k   k 
 xn   xn   d n 
Convergência:
Condições para a convergência do método de Newton generalizado:
1. As funções fi ( x1 , x2 ,..., xn ) ; i = 1, 2, ..., n e suas derivadas até 2ª ordem devem ser
contínuas e limitadas numa vizinhança da raiz ( x1 , x2 ,...., xn )T .
2. Det[ J ( xk , xk ,..., xk ) ] ≠ 0, para k = 0,1,...
1
2
n
3. A solução inicial ( x0 , x0 ,..., x0 )T deve ser próxima da ( x1 , x2 ,...., xn )T .
1
2
n
OBS: A sequência gerada pelo Método de Newton ( xk , xk ,..., xk )T , a partir de uma solução
1
0
0
0 T
2
n
2
n
inicial ( x , x ,..., x ) suficientemente próxima da solução do sistema, converge para
1
T
( x1 , x2 ,...., xn )
, e a convergência é quadrática.
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
93
Critério de Parada:

Análise de F ( x1 , x2 ,..., xn ) = F ( x) = 0:
F ( x( k ) )


max fi ( x( k )  

1i  n
Análise do Erro absoluto:
x( k 1)  x( k )



max xik 1  xik  
1i  n
Análise do Erro relativo:

x( k 1)  x( k )
x ( k 1)


max
1i  n
xik 1  xik
 .
xik 1

Nas expressões acima as fórmulas podem ser simplificadas considerando-se:
x( k 1)  x( k )  d ( k ) e xik 1  xik  dik
Exemplo:
Resolver o sistema de equações não lineares utilizando o método de Newton com
(x0, y0) = (0.5, 0.5) e ε = 0.01.
 x 2  y 2  1
 2
 x  y  0
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
94
Exercício:
Resolver o sistema de equações não lineares utilizando o método de Newton com
(x0, y0) = (1, 5) e ε = (0.01).
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
95
 x2  y 2  9  1

x  y  3  0
Profa. Adriana Cherri
 x   0.002654 
Solução :  

 y   3.002654 
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
96
Método de Newton Modificado
A modificação sobre o Método de Newton consiste em tomar a cada iteração k a
matriz J(x0, y0, ..., z0), em vez de J(xk, yk, ..., zk). A partir de uma aproximação inicial (x0, y0,
..., z0), uma sequência de soluções é gerada a partir da solução do sistema linear:
 rk    f1 ( xk , yk ,..., z k ) 
 s    f ( x , y ,..., z ) 
k
2
k
k
k 
J ( x0 , y0 , ,..., z0 )   
 


  

 t k    f n ( xk , yk ,..., z k ) 
Desta forma, a matriz Jacobiana é avaliada apenas uma vez e, para todo k, o
sistema linear a ser resolvido a cada iteração terá a mesma matriz de coeficientes:
J ( x0 , y0 , ,..., z0 ) .
Se usarmos a fatoração LU para resolvê-lo, os fatores L e U serão calculados
apenas uma vez e, a partir da 2ª iteração, será necessário resolver apenas dois sistemas
triangulares para obter os valores de rk, sk, ..., tk.
Exemplo:
Resolver o sistema de equações não lineares utilizando o método de Newton
Modificado com (x0, y0) = (1, 3) e ε = 0.01.
y  x  2
 2
2
x  y  9
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
97
Exercícios
1
Resolva pelo Método de Newton, com ε =10-3, os sistemas a seguir.
a.
 x12  x22  1
1.5 

0
 
com
x

 2
1
2
 3.2 
 x1  x2  
2

b.
3.x12 .x2  x23  4
 2.1 
0
 
com
x

 2
 x1  x1.x23  9
 2.5 
c.
( x1  1) 2  x22  4
0
0
 
com
x

 2
 x1  ( x2  1) 2  4
 2
d.
 x12  x22  1
 1
com x 0   
 3
 x1  x2  0
  1
e.
 x12  4.x1  x22  0
 3
0
 
com
x

 2
 x1 .x2  2.x12  1
  2
f.
 x1  3. ln x1  x22  0
 3.5 
com x 0   
 2
2.x1  x1.x2  5.x1  1  0
 2.2 
g.
 x12  x22  x32  1
 0.5 
 
 2
2
0
2.x1  x2  4.x3  0 com x   0.5 
 2
 0.5 
 
3.x1  4.x2  x3  0
 x13  2.x2  x3  4
 1
 
 2
h. 2.x1  x22  4.x3  1 com x 0   1
 2
 2
 
3.x1  4.x2  x3  0
2
Resolva pelo Método de Newton Modificado, com ε =10-3, os sistemas 2, 3, 4 e 5 do
exercício anterior.
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
98
Profa. Adriana Cherri
Métodos Numéricos Computacionais
Profa. Andréa Vianna
Prof. Antonio Balbo
Profa Edméa Baptista
Download