Documente Academic
Documente Profesional
Documente Cultură
Equaes no lineares
Vamos estudar mtodos numricos para resolver o seguinte problema. Dada uma funo f
contnua, real e de uma varivel, queremos encontrar uma soluo x que satisfaa a equao no
linear:
f (x ) = 0.
(2.1)
Em geral a equao (2.1) no pode ser resolvida exatamente, isto , a soluo x no pode ser
descrita a partir de uma combinao finita de operaes algbricas simples (+, , /, , exp, log) e
funes elementares (polinmios, razo entre polinmios, potncias racionais, e as funes trans-
lim xn = x
n+
soluo da equao (2.1). Portanto os mtodos numricos para encontrar a soluo de equaes
no lineares so mtodos iterativos. A cada iterao, utilizamos um subconjunto das aproximaes
xn1 , xn2 , . . . , x0 , obtidas anteriormente, para determinar a prxima aproximao xn .
Estudaremos os mtodos separados em trs classes principais:
Mtodos de quebra: o ponto de partida encontrar um intervalo que contenha pelo menos
1 soluo. Segundo o teorema de Bolzano, basta determinar um intervalo em que a funo f
muda de sinal. Os mtodos de quebra consistem na descrio de como subdividir o intervalo
inicial em intervalo cada vez menores que ainda contenham a mesma soluo. Nesse caso, a
seqncia x0 , x1 , x2 , . . . , xn formada pelos extremos dos intervalos. A soluo numrica ser
encontrada quando a largura do intervalo em uma m-sima iterao for pequeno o suficiente
para satisfazer as exigncias de exatido.
Mtodos de ponto fixo:
21
xn+1 = (xn ). A convergncia do mtodo garantida pelo teorema do ponto fixo, da o nome
dos mtodos.
Mtodos de mltiplos passos: Uma generalizao do mtodo anterior onde a funo depende
de mais de uma aproximao anterior, i. e., xn+1 = (xn , xn1 , . . . , xnp ) para algum p n.
Portanto, se encontrarmos um intervalo [a, b] tal que, por exemplo, f (a) < 0 e f (b) > 0, ento pelo
teorema de Bolzano existe, um ponto x [a, b] tal que f (x ) = 0.
O que difere os mtodos de quebra entre si a maneira com que os intervalos so subdivididos.
2.1.1. Mtodo da bisseco
A aproximao inicial consiste em um intervalo [x0 , x1 ] tal que f (x0 )f (x1 ) < 0. Ento divix0 + x1
dimos o intervalo ao meio, ou seja, no ponto x2 =
. Entre os intervalos [x0 , x2 ] e [x2 , x1 ]
2
escolhemos aquele que possui pelo menos 1 soluo, ou seja, aquele em que f (x2 )f (xi ) < 0 para
i = 0, 1. Pode ainda ocorrer que x2 seja soluo, ou seja, x2 = x ou ainda que ambos os intervalos
sejam tais que f (x0 )f (x2 ) < 0 e f (x2 )f (x1 ) < 0, nesse caso, ambos subintervalos contm pelo
menos 1 soluo e podemos continuar o procedimento em cada um deles em separado.
Observao. Se a aproximao inicial [x0 , x1 ] for tal que f (x0 )f (x1 ) > 0 isto no quer dizer
que no exista soluo nesse intervalo, apenas o teorema no permite uma concluso sobre a
existncia ou no de soluo nesse intervalo. Nesse caso necessrio escolher outro intervalo
ou ento realizar um diviso adicional. Por exemplo, se f (x) = x(1 x), a equao no linear
f (x ) = 0 possui solues x = 0 e x = 1, porm f (1)f (3) > 0.
O seguinte algoritmo descreve com maior detalhe todos os passos. A entrada do programa
consiste nos extremos do intervalo inicial [a, b], a funo f , os parmetros de exatido 1 e 2 e o
nmero mximo de passos aceitvel N . A sada pode ser mensagens de erro, o intervalo mnimo
(de comprimento 1 ) onde a soluo se encontra (se no for possvel obter a exatido pretendida,
2 ) ou a soluo x com exatido dada pelo parmetro 2 . Por comodidade, os comentrios esto
colocados aps o algoritmo.
22
1. entrada {a, b, f, 1 , 2 , N }
2. x0 a; x1 b; f0 f (x0 ); f1 f (x1 ); i 1
3. se f0 f1 > 0, ento:
final
sada{x0, x1 }; v para:
b) x2 0, 5 (x0 + x1 ); f2 f (x2 )
c) se f2 f0 < 0, ento:
d) i i + 1
5. se i > N , ento:
v para:
7. final:
x0 x2 ; f0 f2
passos.}; v para:
6. se f0 2 ento:
x1 x2 ; f1 f2 , seno:
final
final
sada{x0}; v para:
final, seno:
sada{x1};
final
termina o programa.
Comentrios:
linha 2: as variveis x0 e x1 guardam o valor dos extremos dos intervalos, f0 e f1 guardam o
valor da funo nesses extremos. A varivel i um contador.
linha 4: lao em que os intervalos so divididos. Se alguma das condies for satisfeita encontramos a soluo com exatido desejada ou excedemos o nmero mximo de passos.
linha 4(a): os intervalo atingiu o menor valor admissvel. O intervalo que contem a soluo
retornado como sada, porm a exatido no foi atingida.
linha 4(c): teste para encontrar o intervalo que contem pelo menos 1 soluo com certeza.
linha 4(d): incremento do contador
linha 5: se o cdigo est nesse ponto, o lao 4 terminou, ou seja, ou encontramos a soluo ou
excedemos o nmero mximo de passos.
linha 6: no necessrio testar f1 pois se i > N falso e f0 2 falso, s resta f1 2
Como exemplo do mtodo, vamos estudar a equao no linear para f (x) = xex . A soluo
dada em termos da funo especial W de Lambert:
x = W (1) = 0, 5671432904097839 . . .
A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xex = 0
com intervalo inicial (0.0 , 1.0):
Aps 20 iteraes chegamos ao intervalo (0.567142 . . . , 0.567143 . . .). O valor 0, 567143
satisfatrio como soluo com 6 casa decimais exatas.
Limitaes do mtodo
No caso de razes mltiplas de polinmios, pode no existir um intervalo onde a funo troca
de sinal. Ou pelo menos pode ser difcil encontrar tal intervalo. Veja os grficos abaixo.
23
iterao
1
2
3
4
5
6
x0
0, 5
0, 5
0, 5
0, 5625
0, 5625
0, 5625
x1
1,0
0, 75
0, 625
0, 625
0, 59375
0, 578125
f HxL
0.5
0.25
1
-0.25
1 *
x
2
-0.5
-0.75
-1
f HxL
f HxL
(x) =
(x0 x1 )
f (x0 ).
f (x0 ) f (x1 )
A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xex = 0
com intervalo inicial (0.0 , 1.0):
24
x0
xm x1
Figura 2.2. A reta que une os pontos (x0 , f (x0 )) e (x1 , f (x1 )) est pontilhada. Ela cruza o eixo x no ponto
que divide o intervalo, xm
iterao
1
2
3
4
5
6
x0
0, 0
0, 0
0, 0
0, 0
0, 0
0, 0
x1
0,6127
0, 572181
0, 567703
0, 567206
0, 567150
0, 567144
Tabela 2.2. Tabela das primeiras iteraes para o mtodo da falsa posio.
Aps 7 iteraes chegamos ao resultado nas mesmas condies (6 casas decimais de exatido)
utilizadas no mtodo anterior.
(2.2)
na forma
(x ) = x
e utilizar o teorema do ponto fixo que veremos logo adiante para garantir a convergncia da
seqncia xn+1 = (xn ) para o ponto fixo x que soluo de (2.2).
Seja portanto a funo : [a, b] R
(x) = x + (x)f (x),
onde (x) 6= 0 no intervalo [a, b]. Nesse caso, se (x ) = x , ento como (x) 6= 0 para todo
x [a, b], f (x ) = 0.
x , onde xn+1 = (xn ). A garantia da convergncia estabelecida pelo teorema do ponto fixo:
25
Ento dado qualquer x0 I, existe um nico ponto x I tal que a seqncia xn+1 = (xn )
converge para x = (x ).
inicial x0 pertence a I ento (xn ) e (xn1 ) tambm lhe pertencem. Como c [xn , xn1 ]
(2.3)
lim |xn+1 xn | = 0.
Ou seja, a seqncia converge para um x = (x ). Dessa forma, existe pelo menos um ponto
x no intervalo [a, b] que satisfaz a equao x = (x ). A seguir vamos verificar que esse
ponto nico.
Sejam x1 e x2 dois pontos distintos no intervalo I = [a, b] que satisfazem a equao
x = (x), ou seja, x1 = (x1 ) e x2 = (x2 ). Ento, de acordo com o teorema do valor
mdio, existe um c [x1 , x2 ] tal que
|x1 x2 | = |0 (c)||x1 x2 |.
26
Observao. Note que na demonstrao do teorema do ponto fixo, fundamental que a derivada
de seja estritamente menor do que 1 em alguma vizinhana I que contm a soluo. Caso
contrrio, se |0 (x)| 1 em um intervalo I, no podemos excluir a possibilidade de que as
iteradas transitem por uma seqncia cclica de pontos sem convergir para a soluo x , ou mesmo
a possibilidade de haver mais de uma soluo nesse intervalo. Naturalmente isto no quer dizer
que esses comportamentos ocorram sempre que as hipteses do teorema no forem vlidas.
2.2.1. Mtodo da iterao linear
Trata-se de encontrar uma funo que satisfaa as hipteses do teorema do ponto fixo para
alguma vizinhana em torno da soluo x da equao f (x ) = 0.
Como a funo construda a partir de uma outra funo (x) 6= 0 em um intervalo que
contem a soluo de f (x ) = 0, encontr-la significa determinar (x) 6= 0. A condio de convergncia garantida ento pelo teorema do ponto fixo se as suas hipteses forem satisfeitas.
f (x) = 0 x = ex = (x). Portanto, como por definio, (x) = x + (x)f (x), no nosso
exemplo (x) 1. Assim (x) 6= 0 para qualquer valor de x. Como |0 (x)| = ex , as hipteses
do teorema do ponto fixo so vlidas apenas nos intervalos1 I [W (1), 1], onde (I) I e
|0 (x)| < 1.
Vamos escolher ento a aproximao inicial x0 = 0, 5. a seqncia dada em seus primeiros
termos por
iterao n
1
2
3
4
5
6
xn
0, 606531
0, 545239
0, 579703
0, 560065
0, 571172
0, 565863
Tabela 2.3. Tabela das primeiras iteraes para o mtodo da iterao linear com (x) = ex .
27
garantias de convergncia. Podemos perceber que logo nas primeiras iteraes, a seqncia toma
valores negativos e, dessa forma, como (x) = ln x, a seqncia no estar definida apenas nos
nmeros reais. Em particular essa seqncia no converge para nenhuma soluo de f (x) no plano
complexo (a equao possui infinitas solues l).
(2.4)
f 0 (x)
f (x)
.
f 0 (x)
(2.5)
Vamos novamente utilizar o exemplo f (x) = x ex , nesse caso a iterao dada pela funo :
(x) = x
x ex
(x + 1)
=
.
1 + ex
1 + ex
xn
0, 566311
0, 567143
Tabela 2.4. Tabela das primeiras iteraes para o mtodo Newton-Raphson com (x) =
(x+1)
1+ex .
a seqncia converge para a soluo exata at a 6a casa decimal em duas iteraes. Se utilizarmos x0 = 1, 0 como aproximao inicial obteramos o mesmo resultado aps trs iteraes.
28
2
= (x ) + (x )|xn x | + (x )|xn x | x
2
1
|0 (x )||xn x | + |00 (x )||xn x |2 + O(|xn x |3 ).
2
f (x)f 00 (x)
,
(f 0 (x))2
(2.6)
(2.7)
|xn x |
1 00
| (x )||xn1 x |2 + O(|xn1 x |3 )
2
f 00 (x )
. Ou seja, se f 0 (x ) 6= 0 ento a convergncia quadrtica pelo menos.
f 0 (x )
No entanto se f 0 (x ) = 0 (por exemplo, no caso de razes mltiplas), a derivada de no ponto x
com |00 (x )| =
no se anula. Se realizarmos uma expanso de Taylor para (2.7) encontraremos (devemos expandir
o numerador e o denominador independentemente), no caso em que f 0 (x ) = 0 e f 00 (x ) 6= 0,
0 (xn ) =
ou seja 0 (x ) =
1 f 000 (x )
1
+
(xn x ) + O((xn x )2 ),
2 3! f 00 (x )
1
se f 0 (x ) = 0. E assim a desigualdade (2.6) assume a forma
2
1
|xn x | |xn1 x | + O(|xn1 x |2 )
2
29
(xn xn1 )
f (xn ).
f (xn ) f (xn1 )
De maneira semelhante que ocorre nos mtodos de ponto fixo, para que ocorra convergncia, em
geral, as duas primeiras aproximaes devem estar em uma vizinhana suficientemente prxima da
soluo.
possvel demonstrar que existe um constante K tal que
|xn+1 x |
= K,
n |xn x |
lim
1+ 5
1, 618. Ou seja, apesar de ser mais lenta que no mtodo Newton-Raphson, a
onde =
2
convergncia mais rpida que a convergncia linear de alguns mtodos de ponto fixo.
iterao n
1
2
3
4
xn
0, 544221
0, 568826
.567150
.567143
Tabela 2.5. Tabela das primeiras iteraes para o mtodo da secante para f (x) = xex , com aproximaes
iniciais x0 = 0, 9 e x1 = 1, 0.
a seqncia converge para a soluo exata at a 6a casa decimal em quatro iteraes. Se utilizarmos x0 = 0, 5 e x1 = 1, 0 como primeiras aproximaes obteramos o mesmo resultado aps
trs iteraes.
2.4. Exerccios
1) Seja a equao no linear
x ex = 0.
A soluo dada em termos da funo W de Lambert, x = W (1) 0, 567143290 . . . Se utilizar-
mos o mtodo da bisseco e o intervalo inicial (0, 1) sero necessrias 20 iteraes para obter um
resultado com 6 casas decimais exatas. Utilizando o mesmo intervalo inicial mas com o mtodo da
falsa posio sero necessrias apenas 8 iteraes para obter um resultado com a mesma exatido.
Se no entanto, o intervalo inicial for (10, 10) sero necessrias 22029 iteraes no mtodo da
falsa posio enquanto que no mtodo da bisseco sero necessrias apenas 24 iteraes. Como
voc explicaria essa diferena?
2
8
>
>
<
xn+1 =
>
>
:
xn
f (x )
(xn xn1 ) f (x n )
n1
xn
f (x )
1 f (x n )
n1
(xn xn1 )
f (x
n1
1 f (x
n)
30