Escolar Documentos
Profissional Documentos
Cultura Documentos
'
0 x , , x , x f
0 x , , x , x f
0 x , , x , x f
n 2 1 n
n 2 1 2
n 2 1 1
K
M
K
K
Exemplo 3.1:
( )
( )
'
+
0 1
9
x
x x , x f
0 2 x x x , x f
2
2 2
1 2 1 2
2
2
2
1 2 1 1
Figura 3.1 Grfico das funes do exemplo 1.
0 = xx+yy-2
0 = xx-yy/9-1
56
Este sistema no linear admite quatro solues, que so os pontos onde as curvas
2 x x
2
2
2
1
+ e 1
9
x
x
2
2 2
1
se interceptam.
Exemplo 3.2:
( )
( )
'
+
0 1 x x x , x f
0 2 . 0 x x x , x f
1
2
2 2 1 2
2
2
1 2 1 1
Figura 3.2 Grfico das funes do exemplo 2.
Este sistema no tem soluo, ou seja, no existem pontos onde as curvas
2 . 0 x x
2
2
1
e 1 x x
1
2
2
se interceptem.
3.1- Notaes e Definies bsicas
No que segue ser usada a seguinte notao:
,
_
n
2
1
x
x
x
x
M
e F(x) =
( )
( )
( )
,
_
x f
x f
x f
n
2
1
M
Cada funo f
i
(x) uma funo no linear em x, f
i
:
n
, i = 1, ..., n, e
portanto F(x) uma funo no linear em x, F:
n n
.
No caso de sistemas lineares, F(x) = Ax b, onde A
n n
.
0 = xx-y-0.2
0 = -x+yy+1
57
Estamos supondo que F(x) est definida num conjunto aberto D
n
e que tem
derivadas contnuas nesse conjunto. Ainda mais, supomos que existe pelo menos um ponto
x*D, tal que F(x*)=0.
O vetor das derivadas parciais da funo f
i
(x
1
, x
2
, ..., x
n
) denominado vetor
gradiente de f
i
(x) e ser denotado por ( ) x f
i
, i = 1, ..., n:
( ) x f
i
=
( ) ( ) ( )
T
n
i
2
i
1
i
x
x f
, ,
x
x f
,
x
x f
,
_
L
A matriz das derivadas parciais de F(x) chamada matriz Jacobiana e ser
denominada por J(x):
( )
( )
( )
( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
,
_
,
_
n
n
2
n
1
n
n
2
2
2
1
2
n
1
2
1
1
1
T
n
T
2
T
1
x
x f
x
x f
x
x f
x
x f
x
x f
x
x f
x
x f
x
x f
x
x f
x f
x f
x f
x J
L
M
L
L
M
Exemplo 3.3:
Para o sistema no linear
F(x) =
'
+
0 x x x 3
0 1 x x 3 x
3
2 2
2
2 1
3
1
1
A matriz Jacobiana correspondente ser:
J(x) =
,
_
2
2 2 1
2 1
2
2
2
1
x 3 x x 6
x x 6 x 3 x 3
Os mtodos para resoluo de sistemas no lineares so iterativos, isto , a partir
de um ponto inicial x
(0)
, geram uma seqncia {x
(k)
} de vetores e, na situao de
convergncia:
( ) * x k x lim
0 k
onde x* uma das solues dos sistema no linear.
Em qualquer mtodo iterativo, preciso estabelecer critrios de parada para se
aceitar um ponto x
(k)
como aproximao para a soluo exata x* ou para se detectar a
divergncia do processo.
58
Uma vez que, na soluo exata x* temos F(x*) = 0, um critrio de parada consiste
em verificar se todas as componentes de F(x
(k)
) tem mdulo pequeno.
Como F(x
(k)
) um vetor no
n
, verificamos se
( )
k
x F
<
onde . uma
norma de vetores.
Em testes computacionais comum usarmos a norma infinito:
para v
n
,
n i 1
i
v mx v
Outro critrio de parada verificar se
( ) ( ) k 1 k
x x
+
est prximo de zero, isto ,
( ) 1 k
x
+
escolhido como aproximao para x* se, por exemplo:
( ) ( )
k 1 k
x x < ;
este denominado de critrio de erro absoluto. Pode ser utilizado tambm o critrio de erro
relativo:
( ) ( )
( )
1
1
k
k k
x
x x
< ;
Para se detectar a divergncia e interromper o processo de clculos, usamos o teste
com o nmero mximo de iteraes. Pode-se tambm interromper o processo se, para
algum k,
( )
( )
k
x F for maior que uma tolerncia, por exemplo, se
( )
( )
k
x F > 10
20
. Neste
caso o processo divergente.
3.2- O Mtodo de Newton para Sistemas No-Lineares
O mtodo mais amplamente estudado e conhecido para resolver sistemas de
equao no lineares o Mtodo de Newton.
No caso de uma equao no linear a uma varivel, o mtodo de Newton consiste
em se tomar um modelo local linear da funo f(x) em torno de x
k
, e este modelo a reta
tangente funo em xk.
Ampliando a motivao de se construir um modelo local linear para o caso de um
sistema de equaes no lineares, teremos: conhecida a aproximao x
(k)
D, para
qualquer x D, existe c
i
D, tal que:
( )
( )
( ) ( ) ( )
k T
i i
k
i i
x x c f x f x f + i = 1, ..., n
Aproximando ( )
i i
c f por
( )
( )
k
i
x f , i = 1, ..., n
E, portanto, o modelo local linear para F(x) em torno de x
(k)
fica:
59
F(x) ( )
( )
( )
( )
( )
( )
( )
k k k
k
x x x J x F x L +
A nova aproximao x
(k+1)
ser o zero do modelo local linear Lk(x).
Agora,
( )
( )
( )
( )
( )
( )
( )
k k k
k
x F x x x J 0 x L .
Se denotamos
( )
( )
k
x x por
( ) k
s , temos que
( ) ( ) ( ) k k 1 k
s x x +
+
, onde
( ) k
s a
soluo do sistema linear:
( )
( )
( ) ( )
( )
k k k
x F s x J
Observe que dado o ponto x
(k)
, a matriz J(x
(k)
) obtida avaliando-se J(x) em x
(k)
e,
em seguida, o passo de Newton, s
(k)
, obtido a partir da resoluo do sistema linear acima.
Portanto, uma iterao de Newton requer basicamente:
i) a avaliao da matriz Jacobiana em x
(k)
;
ii) a resoluo do sistema linear
( )
( )
( ) ( )
( )
k k k
x F s x J e, por esse motivo,
cada iterao e considerada computacionalmente cara.
Em relao ao item (ii) pode-se empregar mtodos baseados em fatorao da
matriz Jacobiana. Mtodos iterativos podem ser tambm aplicados; por serem iterativos,
obtm uma aproximao para a soluo exata do sistema linear e, consequentemente, o
passo de Newton, s
(k)
, no calculado exatamente. Por essa razo, o mtodo de Newton
com a resoluo do sistema linear atravs de um mtodo iterativo denominado mtodo de
Newton inexato.
3.2.1- Algoritmo:
Dados x
(0)
,
1
> 0 e
2
> 0, faa:
Passo 1: calcule F(x
(k)
) e J(x
(k)
);
Passo 2: se
( )
( )
k
x F <
1
, faa
( ) k
x x e pare;
caso contrrio:
Passo 3: obtenha s
(k)
, soluo do sistema linear: J(x
(k)
)s = -F(x
(k)
);
Passo 4: faa: x
(k+1)
= x
(k)
+ s
(k)
;
Passo 5: se
( ) ( ) k 1 k
x x
+
<
2
, faa
( ) 1 k
x x
+
e pare;
60
caso contrrio:
Passo 6: k = k + 1;
volte ao passo 1.
Exemplo 3.4:
Aplicar o mtodo de Newton resoluo do sistema no linear F(x) = 0 onde F(x)
dada por:
( )
,
_
+
+
9 x x
3 x x
x F
2
2
2
1
2 1
, cujas solues so x* =
,
_
0
3
e x** =
,
_
3
0
,
Figura 3.3 Grfico das funes do exemplo 5.
Usando
4
2 1
10
,
J(x) =
,
_
2 1
x 2 x 2
1 1
.
Comecemos com x
(0)
=
,
_
5
1
.
Para k = 0:
0 = x+y-3
0 = xx+yy-9
61
F(x
(0)
) =
,
_
17
3
;
( )
( ) 17 x F
0
>>
J(x
(0)
) =
,
_
10 2
1 1
,
_
,
_
,
_
,
_
375 . 1
625 . 1
8 11
8 13
s
17
3
s
10 2
1 1
( ) ( )
,
_
,
_
,
_
,
_
+
8 29
8 5
625 . 3
625 . 0
8 11
8 13
5
1
s x x
0 1
e1 =
( ) ( )
{ } 375 . 1 , 625 . 1 mx x x
0 1
= 1.625 >> ou
e1 =
( ) ( )
( )
1
0 1
x
x x
= 0.448276 >> ;
Para k = 1:
F(x
(1)
) =
,
_
,
_
53125 . 4
0
32 145
0
;
( )
( ) 53125 . 4 x F
1
>>
1
J(x
(1)
) =
,
_
,
_
,
_
533088 . 0
533088 . 0
531 . 4
0
4 29 4 5
1 1
s s
( ) ( )
,
_
,
_
+
+
,
_
+
091912 . 3
091912 . 0
533 . 0
533 . 0
625 . 3
625 . 0
1 2
s x x
e
2 =
( ) ( )
533 . 0 x x
1 2
>>
2
ou e
2 =
( ) ( )
( )
1
0 1
x
x x
= 0.172414 >
2
Prosseguir as iteraes at que
( )
( )
k
x F < 10
-4
ou
( ) ( )
k 1 k
x x < 10
-4
.
A caracterstica mais atraente do mtodo de Newton que sob condies
adequadas envolvendo o ponto inicial x
(0)
, a funo F(x) e a matriz Jacobiana J(x), a
seqncia gerada {x
(k)
} converge a x* com taxa quadrtica. importante observar que os
resultados de convergncia obtidos so locais no sentido de que a aproximao inicial x
(0)
deve estar suficientemente prxima de x*.
62
3.3 Mtodo de Newton Modificado
De maneira anloga ao caso de uma equao no linear, a modificao sobre o
mtodo de Newton consiste em se tomar a cada iterao k a matriz J(x
(0)
), em vez de J(x
(k)
):
a partir de uma aproximao inicial x
(0)
, a seqncia {x
(k)
} gerada atravs de x
(k+1)
= x
(k)
+ s
(k)
, onde s
(k)
a soluo do sistema linear:
J(x
(0)
)s = - F(x
(k)
)
Desta forma, a matriz Jacobiana avaliada apenas uma vez e, para todo k, o
sistema linear a ser resolvido a cada iterao ter a mesma matriz de coeficientes: J(x
(0)
).
Se usarmos a fatorao LU para resolv-lo, os fatores L e U sero calculados
apenas uma vez e, a partir da 2 iterao, ser necessrio resolver apenas dois sistemas
triangulares para obter o vetor s
(k)
.
Exemplo 3.5:
Vamos usar aqui o mtodo de Newton Modificado para o sistema no linear do
exemplo 5:
'
+
+
0 9 x x
0 3 x x
2
2
2
1
2 1
, comeando com x
(0)
=
,
_
5
1
Temos J(x) =
,
_
2 1
x 2 x 2
1 1
.
Assim,
F(x
(0)
) =
,
_
17
3
e J(x
(0)
) =
,
_
10 2
1 1
.
Ento:
J(x
(0)
)s =
,
_
17
3
'
+
+
17 s 10 s 2
3 s s
2 1
2 1
,
_
,
_
375 . 1
625 . 1
8 11
8 13
s
x
(1)
= x
(0)
+ s =
,
_
,
_
,
_
625 . 3
625 . 0
8 11
8 13
5
1
Agora para calcular x
(2)
, resolvemos
63
J(x
(0)
)s =
( )
( )
,
_
53125 . 4
0
x F
1
'
+
+
53125 . 4 s 10 s 2
0 s s
2 1
2 1
,
_
+
56640625 . 0
56640625 . 0
s
Assim, x
(2)
= x
(1)
+ s =
,
_
,
_
56640625 . 0
56640625 . 0
625 . 3
625 . 0
( )
,
_
05859375 . 3
05859375 . 0
x
2
.
Prosseguir as iteraes at obter convergncia.
Deixa-se, como exerccio, escrever formalmente um algoritmo para este mtodo.