Buscar

Apostila desenho mecanico 2 raizes2(metodo de newton raphson

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Zeros de Func¸o˜es – Parte 2
Jorge C. Lucero
16 de Marc¸o de 2009
1 Me´todo de Newton-Raphson
Seja o ca´lculo de um zero ξ de uma func¸a˜o f(x), cont´ınua em um intervalo que conte´m a ξ.
Este me´todo esta´ baseado em aproximar a func¸a˜o f(x) por uma reta tangente, como mostra
o seguinte gra´fico
x
y
x0
(x0,f(x0))
x1
(x1,f(x1))
y = f(x)
x2ξ
Figura 1: Me´todo de Newton-Raphson
Seja x0 uma aproximac¸a˜o inicial ao zero ξ. A reta tangente a` curva y = f(x) no ponto
(x0, f(x0)) tem coeficiente angular f ′(x0), e sua equac¸a˜o e´
y − f(x0) = f ′(x0)(x− x0) (1)
O valor de x = x1 onde reta corta o eixo x pode ser determinado fazendo y = 0 a equac¸a˜o
acima, obtendo
0− f(x0) = f ′(x0)(x1 − x0)
e isolando x1
x1 = x0 − f(x0)
f ′(x0)
O valor de x1 passa a ser uma nova aproximac¸a˜o a ξ, a partir da qual calculamos novas
aproximac¸o˜es, repetindo o processo descrito. Apo´s k iterac¸o˜es, teremos
xk+1 = xk − f(xk)
f ′(xk)
1
que e´ a fo´rmula iterativa de Newton-Raphson.
Paramos as iterac¸o˜es quando a diferenc¸a entre aproximac¸o˜es consecutivas e´ suficientemente
pequena, e tomamos como aproximac¸a˜o final o valor da u´ltima aproximac¸a˜o calculada. Se ε e´
um valor de toleraˆncia dado (normalmente um nu´mero pequeno), enta˜o o crite´rio de parada
esta´ dado pela condic¸a˜o |xk − xk−1| < ε.
Algoritmo 1 (Me´todo de Newton-Raphson). Dada uma func¸a˜o f(x) e uma aproximac¸a˜o
inicial x0 a um zero ξ de f(x), este algoritmo calcula uma aproximac¸a˜o x∗ ao zero com erro
menor que ε. Caso as aproximac¸o˜es na˜o convirjam, o algoritmo para ao atingir Imax iterac¸o˜es.
k = 0
Error = ε+ 1
while Error > ε
k = k + 1
if k > Imax
Mostre a mensagem “O algoritmo na˜o converge apo´s Imax iterac¸o˜es”
end
xk+1 = xk − f(xk)/f ′(xk)
Error = |xk+1 − xk|
end
x∗ = xk+1
�
Exemplo 1. Consideremos o ca´lculo de
√
A, onde A e´ qualquer nu´mero positivo. Este
problema pode ser expressado como o ca´lculo do zero positivo da func¸a˜o f(x) = x2 − A.
Sendo f ′(x) = 2x, a fo´rmula de Newton Raphson e´
xk+1 = xk − x
2
k −A
2xk
=
xk
2
+
A
2xk
=
1
2
(
xk +
A
xk
)
Curiosamente, esta e´ a mesma fo´rmula iterativa do conhecido me´todo babiloˆnico. Por
exemplo, com A = 19 e x0 = 4, obtemos
k xk
0 5
1 4,4
2 4,359090909
3 4,358898948
4 4,358898944
5 4,358898944
Note a velocidade de convergeˆncia do algoritmo: em apenas 4 iterac¸o˜es obtemos
√
19 =
4,35889844 com erro menor que 10−9. Como comparac¸a˜o, podemos calcular a quantidade de
2
iterac¸o˜es que seriam necessa´rias para fazer o ca´lculo pelo me´todo da Bissecc¸a˜o, com a mesma
precisa˜o. Usando a fo´rmula ja´ vista, e considerando [4, 5] como intervalo inicial, obtemos
k >
log(5− 4)− log(10−9)
log 2
= 28,89
Seriam necessa´rias, enta˜o, pelo menos 29 iterac¸o˜es. �
Uma desvantagem do me´todo, que na˜o existe no me´todo da Bissecc¸a˜o, e´ a possibilidade de
na˜o convergeˆncia das iterac¸o˜es. Por exemplo, se em algum momento obtivermos f ′(xk) = 0,
deveremos parar o ca´lculo, e tentar uma nova aproximac¸a˜o inicial. Tambe´m, um valor de
f ′(xk) muito pequeno pode produzir um valor de xk+1 muito grande e longe do intervalo no
qual estamos trabalhando.
E´ poss´ıvel demonstrar que as aproximac¸o˜es ira˜o convergir ao zero ξ de f(x) se a aproxi-
mac¸a˜o inicial x0 estiver “suficientemente pro´xima”de ξ. No entanto, geralmente na˜o sabemos,
a priori, se a aproximac¸a˜o inicial escolhida satisfaz essa condic¸a˜o. Caso as aproximac¸o˜es na˜o
convirjam, podemos tentar uma nova aproximac¸a˜o inicial, ou mudar para o algoritmo da
bissecc¸a˜o, por exemplo, que tem convergeˆncia garantida.
O seguinte e´ um exemplo “perverso” [Mol04].
Exemplo 2. A seguinte func¸a˜o possui um zero em x = 2
f(x) =
{ √
x− 2, se x ≥ 2,
−√2− x, se x < 2.
Sua derivada e´
f ′(x) =
⎧⎪⎨
⎪⎩
1
2
√
x− 2 , se x ≥ 2,
1
2
√
2− x, se x < 2.
Tomando, por exemplo, x0 = 2,7, obtemos f(x0) = 0,83666, f ′(x0) = 0,59761, e logo
x1 = 1,3. Repetindo, a partir de x1, obtemos f(x1) = −0,83666, f ′(x1) = 0,59761, e x2 = 2,7,
voltando ao ponto inicial. De fato, e´ simples mostrar que para qualquer aproximac¸a˜o inicial
teremos sempre x2 = x0.
�
Analisemos agora a velocidade de convergeˆncia do me´todo. Para isso, precisamos lembrar
da fo´rmula de Taylor: a expansa˜o em se´rie de poteˆncias de uma func¸a˜o f(x) em torno a um
ponto x0 e´
f(x) = f(x0) + f ′(x0)(x− x0) + f
′′(x0)
2!
(x− x0)2 + · · ·+ f
(n)(x0)
n!
(x− x0)n + · · ·
(supomos que todas as derivadas de f(x) existem, e que a se´rie e´ convergente em alguma
vizinhanc¸a de x0). A fo´rmula acima diz que f(x) e´ igual a` soma da se´rie. Se truncamos a
se´rie no n-e´ssimo termo, obteremos um polinoˆmio de Taylor de grau n
pn(x) = f(x0) + f ′(x0)(x− x0) + f
′′(x0)
2!
(x− x0)2 + · · ·+ f
(n)(x0)
n!
(x− x0)n
Neste caso, f(x) �= pn(x), pois estamos desprezando todos os termos apo´s o n-e´ssimo. Pode-
mos considerar que pn(x) e´ uma aproximac¸a˜o a f(x), com erro Rn(x) = f(x)−pn(x) (chamado
3
1
−1
−2
1 2 3
x
y
y = f(x)
(x0,f(x0))
(x1,f(x1))
x0 = x2x1
Figura 2: Exemplo 2
de erro de truncamento ou resto). Segundo o Teorema de Taylor, existe um nu´mero ζ entre
x e x0 tal que
Rn(x) =
f (n+1)(ζ)
(n + 1)!
(x− x0)n+1
Se agora fazemos n = 1, obtemos
p1(x) = f(x0) + f ′(x0)(x− x0) (2)
e o resto e´
R1(x) =
f ′′(ζ)
2
(x− x0)2
Comparando as Eqs. (1) e (2), percebemos que y = p1(x) e´ a equac¸a˜o da reta tangente
utilizada pelo me´todo de Newton-Raphson, e enta˜o R1(x) e´ o erro cometido ao substituir a
curva y = f(x) pela reta y = p1(x).
Fac¸amos x = ξ (zero de f(x)), e f(x) = f(ξ) = 0. Substituindo em R1(x) = f(x)− pn(x),
obtemos
f ′′(ζ)
2
(ξ − x0)2 = −f(x0)− f ′(x0)(ξ − x0)
Dividindo por f ′(x0) (supondo f ′(x0) �= 0),
f ′′(ζ)
2f ′(x0)
(ξ − x0)2 = − f(x0)
f ′(x0)
− ξ + x0
4
No lado direito, podemos substituir x0 − f(x0)f ′(x0) = x1, e enta˜o
f ′′(ζ)
2f ′(x0)
(ξ − x0)2 = x1 − ξ
Tomando valor absoluto, e generalizando para k iterac¸o˜es,
|ξ − xk+1| = |f
′′(ζ)|
2|f ′(xk)| |ξ − xk|
2
onde ζ esta´ entre ξ e xk.
Se as aproximac¸o˜es xk convergem ao zero ξ, enta˜o, para k suficientemente grande, f ′(xk) ≈
f ′(ξ) e f ′′(ζ) ≈ f ′′(ξ). Podemos escrever (supondo f ′(ξ) �= 0)
|ξ − xk+1| ≈ |f
′′(ξ)|
2|f ′(ξ)| |ξ − xk|
2 = C|ξ − xk|2
onde C ≥ 0 e´ uma constante. Em geral, C > 0, e a equac¸a˜o acima diz que o erro |ξ −
xk+1| em cada iterac¸a˜o e´ aproximadamente proporcional ao quadrado do erro |ξ − xk| na
iterac¸a˜o anterior. Tal caracter´ıstica e´ denominada convergeˆncia quadra´tica. Por exemplo,
suponhamos C = 1 e um erro inicial |ξ − x0| = 0,1. Nas iterac¸o˜es seguintes, o erro sera´
10−2, 10−4, 10−8, 10−16, 10−32, . . ., o que indica que a quantidade de d´ıgitos corretos duplica
em cada iterac¸a˜o.
Exemplo 3. O polinoˆmio p3(x) = x3 − 2x− 5 foi utilizado por John Wallis ao apresentar o
me´todo de Newton a` Academia de Cieˆncias Francesa. Possui um par de ra´ızes complexas, e
uma raiz real entre 2 e 3. A seguinte tabela mostra resultados da aplicac¸a˜o do me´todo com
x0 = 2,5. Vemos que os d´ıgitos corretos das aproximac¸o˜es (sublinhados) aproximadamente
duplicam a cada iterac¸a˜o.
k xk d´ıgitos corretos
0 2,500000000000000 1
1 2,164179104477612 1
2 2,097135355810555 3
3 2,094555232390448 6
4 2,094551481550247 11
5 2,094551481542327 > 16
6 2,094551481542327
�
As concluso˜es acima exigem f ′′(ξ) �= 0, f ′(ξ) �= 0, a continuidade de f(x) e suas derivadas
no intervalo de trabalho, e uma boa aproximac¸a˜o inicial que produza convergeˆncia. Se alguma
dessas condic¸o˜es falha, as aproximac¸o˜es podera˜o na˜o convergir, ou convergir de maneira na˜o
quadra´tica. Em particular, e´ poss´ıvel mostrar que, quando f ′(ξ) = 0 (i.e., quando ξ e´ um zero
de f(x) e tambe´m um ponto cr´ıtico),as aproximac¸o˜es podera˜o convergir, mas a convergeˆncia
sera´ linear
Exemplo 4. A func¸a˜o f(x) = (x− 1) ln x tem um zero e um um mı´nimo local em x = 1. A
aplicac¸a˜o do algoritmo de Newton-Raphson com x0 = 2 produz
5
1
1 2 x
y
y = (x− 1) ln x
Figura 3: exemplo 1.13
k xk d´ıgitos corretos
0 2.000000000000000 0
1 1.419059784196405 1
2 1.191773181862321 1
3 1.091745000606795 2
4 1.044873379776890 2
5 1.022191381700575 2
6 1.011034918720469 2
7 1.005502335432813 3
8 1.002747395356304 3
9 1.001372755664817 3
10 1.000686142463597 4
11 1.000343012406407 4
12 1.000171491498957 4
13 1.000085742073679 5
14 1.000042870117923 5
15 1.000021434829236 5
Neste caso, a quantidade de d´ıgitos corretos aumenta linearmente, e verificamos que existe
uma relac¸a˜o linear |1− xk+1|/|1 − xk| ≈ 0,5. �
Me´todo da Secante
Este me´todo e´ uma variac¸a˜o do me´todo de Newton-Raphson, para casos em que a derivada
f ′(x) na˜o esta´ dispon´ıvel (e.g., quando o ca´lculo de f ′(x) na˜o e´ poss´ıvel ou e´ muito complicado).
No lugar da derivada, o me´todo da secante utiliza uma aproximac¸a˜o da mesma calculada a
partir das duas u´ltima aproximac¸o˜es. A fo´rmula do me´todo pode ser escrita na forma
xk+1 = xk − xk
sk
6
onde
sk =
f(xk)− f(xk−1)
xk − xk−1
Note que, se xk1 → xk a fo´rmula acima produz sk = f ′(xk).
x
y
x0
(x0,f(x0))
x1
(x1,f(x1))
y = f(x)
x2
(x2,f(x2))
x3ξ
Figura 4: Me´todo da Secante
Como ilustra a Fig. 3, partimos de duas aproximac¸o˜es iniciais x0 e x1. Trazemos uma reta
tangente a` curva y = f(x) pelos pontos (x0, f(x0)) e (x1, f(x1)), e chamemos de x2 ao valor
de x onde a reta intersecta o eixo x. O coeficiente angular m dessa reta e´
m =
f(x0)− f(x1)
x0 − x1
=
f(x1)− f(x0)
x1 − x0
e a equac¸a˜o da reta e´
y − f(x1) = m(x− x1) (3)
Procedendo em forma similar ao me´todo de Newton-Raphson, determinamos o valor de x = x2
onde reta corta o eixo x fazendo y = 0 a equac¸a˜o acima, de onde obtemos
x2 = x1 − f(x1)
m
que concorda com a fo´rmula geral do me´todo vista acima. Numa nova iterac¸a˜o, trac¸amos
uma nova secante por (x1, f(x1)) e (x2, f(x2)), obtendo uma nova aproximac¸a˜o x3 no ponto
de intersec¸a˜o com o eixo x, e o me´todo continua repetindo este processo.
Algoritmo 2 (Me´todo da Secante). Dada uma func¸a˜o f(x) e duas aproximac¸o˜es iniciais, x0
e x1, a um zero ξ de f(x), este algoritmo calcula uma aproximac¸a˜o x∗ ao zero com erro menor
que ε. Caso as aproximac¸o˜es na˜o convirjam, o algoritmo para ao atingir Imax iterac¸o˜es.
7
k = 0
Error = |x1 − x0|
while Error > ε
k = k + 1
if k > Imax
Mostre a mensagem “O algoritmo na˜o converge apo´s Imax iterac¸o˜es”
end
sk =
f(xk)− f(xk−1)
xk − xk−1
xk+1 = xk − f(xk)/sk
Error = |xk+1 − xk|
end
x∗ = xk+1
�
Exemplo 5. Consideremos novamente o ca´lculo de
√
A, com onde A = 19. Como vimos, o
problema e´ resolvido calculando o zero positivo da func¸a˜o f(x) = x2 −A. Tomando x0 = 4 e
x1 = 5, obtemos
k xk
0 4
1 5
2 4,333333333
3 4,357142857
4 4,358904110
5 4,358898942
6 4,358898944
7 4,358898944
�
Como ilustra o exemplo, este me´todo e´ um pouco mais lento que o Newton-Raphson (i.e.,
exige uma maior quantidade de iterac¸o˜es para atingir a mesma precisa˜o). De fato, e´ poss´ıvel
demonstrar que a convergeˆncia ja´ na˜o e´ mais quadra´tica, e o erro em cada iterac¸a˜o segue uma
lei da forma
|ξ − xk+1| ≈ C|ξ − xk|φ
onde, curiosamente, φ e´ o nu´mero a´ureo (1 +
√
5)/2 = 1,618 . . ..
Igualmente ao me´todo Newton-Raphson, o me´todo da secante pode apresentar problemas
de convergeˆncia. Por exemplo, se f(xk) = f(xk−1 teremos uma divisa˜o por zero no ca´lculo de
sk. Ainda, se f(xk) ≈ f(xk−1, poderemos obter um valor de xk+1 muito grande e longe do
intervalo no qual estamos trabalhando.
Refereˆncias
[Mol04] Cleve Moler. Numerical Computing with MATLAB. The Mathworks, online em
http://www.mathworks.com/academia/ (u´ltimo accesso em 27/05/2007), 2004.
8
	Método de Newton-Raphson

Outros materiais