Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Calculo numerico -Zeros de Funções-parte 2, Notas de estudo de Física

Notas de aula de cálculo numerico

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 19/08/2010

vagner-chagas-6
vagner-chagas-6 🇧🇷

3

(1)

4 documentos

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Zeros de Fun¸oes Parte 2
Jorge C. Lucero
30 de Julho de 2009
1M´etodo de Newton-Raphson
Seja o alculo de um zero ξde uma fun¸ao f(x), cont´ınua em um intervalo que cont´em a ξ.
Este etodo est´a baseado em aproximar a fun¸ao f(x) por uma reta tangente, como mostra
oseguintegr´afico
x
y
x0
(x0,f(x0))
x1
(x1,f(x1))
y=f(x)
x2
ξ
Figura 1: etodo de Newton-Raphson
Seja x0uma aproxima¸ao inicial ao zero ξ. A reta tangente `acurvay=f(x)noponto
(x0,f(x0)) tem coeficiente angular f(x0), e sua equa¸ao ´e
yf(x0)=f(x0)(xx0)(1)
O valor de x=x1onde reta corta o eixo xpode ser determinado fazendo y=0aequa¸ao
acima, obtendo
0f(x0)=f(x0)(x1x0)
e isolando x1
x1=x0f(x0)
f(x0)
O valor de x1passa a ser uma nova aproxima¸aoaξ, a partir da qual calculamos novas
aproxima¸oes, repetindo o processo descrito. Ap´os kitera¸oes, teremos
xk+1 =xkf(xk)
f(xk)
1
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Calculo numerico -Zeros de Funções-parte 2 e outras Notas de estudo em PDF para Física, somente na Docsity!

Zeros de Fun¸c˜oes – Parte 2

Jorge C. Lucero

30 de Julho de 2009

1 M´etodo de Newton-Raphson

Seja o c´alculo de um zero ξ de uma fun¸c˜ao f (x), cont´ınua em um intervalo que cont´em a ξ. Este m´etodo est´a baseado em aproximar a fun¸c˜ao f (x) por uma reta tangente, como mostra o seguinte gr´afico

x

y

x 0

(x 0 ,f (x 0 ))

x 1

(x 1 ,f (x 1 ))

y = f (x)

ξ^ x^2

Figura 1: M´etodo de Newton-Raphson

Seja x 0 uma aproxima¸c˜ao inicial ao zero ξ. A reta tangente `a curva y = f (x) no ponto (x 0 , f (x 0 )) tem coeficiente angular f ′(x 0 ), e sua equa¸c˜ao ´e

y − f (x 0 ) = f ′(x 0 )(x − x 0 ) (1)

O valor de x = x 1 onde reta corta o eixo x pode ser determinado fazendo y = 0 a equa¸c˜ao acima, obtendo 0 − f (x 0 ) = f ′(x 0 )(x 1 − x 0 )

e isolando x 1

x 1 = x 0 − f (x 0 ) f ′(x 0 ) O valor de x 1 passa a ser uma nova aproxima¸c˜ao a ξ, a partir da qual calculamos novas aproxima¸c˜oes, repetindo o processo descrito. Ap´os k itera¸c˜oes, teremos

xk+1 = xk − f (xk) f ′(xk)

que ´e a f´ormula iterativa de Newton-Raphson. Paramos as itera¸c˜oes quando a diferen¸ca entre aproxima¸c˜oes consecutivas ´e suficientemente pequena, e tomamos como aproxima¸c˜ao final o valor da ´ultima aproxima¸c˜ao calculada. Se ε ´e um valor de tolerˆancia dado (normalmente um n´umero pequeno), ent˜ao o crit´erio de parada est´a dado pela condi¸c˜ao |xk − xk− 1 | < ε.

Algoritmo 1 (M´etodo de Newton-Raphson). Dada uma fun¸c˜ao f (x) e uma aproxima¸c˜ao inicial x 0 a um zero ξ de f (x), este algoritmo calcula uma aproxima¸c˜ao x∗^ ao zero com erro menor que ε. Caso as aproxima¸c˜oes n˜ao convirjam, o algoritmo para ao atingir Imax itera¸c˜oes.

k = 0 Error = ε + 1 while Error > ε if k > Imax Mostre a mensagem “O algoritmo n˜ao converge ap´os Imax itera¸c˜oes” end xk+1 = xk − f (xk)/f ′(xk) Error = |xk+1 − xk| k = k + 1 end x∗^ = xk



Exemplo 1. Consideremos o c´alculo de

A, onde A ´e qualquer n´umero positivo. Este problema pode ser expressado como o c´alculo do zero positivo da fun¸c˜ao f (x) = x^2 − A. Sendo f ′(x) = 2x, a f´ormula de Newton Raphson ´e

xk+1 = xk − x^2 k − A 2 xk = xk 2

A

2 xk

xk +

A

xk

Curiosamente, esta ´e a mesma f´ormula iterativa do conhecido m´etodo babilˆonico. Por exemplo, com A = 19 e x 0 = 4, obtemos

k xk 0 5 1 4, 2 4, 3 4, 4 4, 5 4,

Note a velocidade de convergˆencia do algoritmo: em apenas 4 itera¸c˜oes obtemos

4 ,35889844 com erro menor que 10−^9. Como compara¸c˜ao, podemos calcular a quantidade de

x

y

y = f (x)

(x 0 ,f (x 0 ))

(x 1 ,f (x 1 ))

x 1 x 0 = x 2

Figura 2: Exemplo 2

de erro de truncamento ou resto). Segundo o Teorema de Taylor, existe um n´umero ζ entre x e x 0 tal que

Rn(x) = f (n+1)(ζ) (n + 1)! (x − x 0 )n+

Se agora fazemos n = 1, obtemos

p 1 (x) = f (x 0 ) + f ′(x 0 )(x − x 0 ) (2)

e o resto ´e

R 1 (x) =

f ′′(ζ) 2 (x − x 0 )^2

Comparando as Eqs. (1) e (2), percebemos que y = p 1 (x) ´e a equa¸c˜ao da reta tangente utilizada pelo m´etodo de Newton-Raphson, e ent˜ao R 1 (x) ´e o erro cometido ao substituir a curva y = f (x) pela reta y = p 1 (x). Fa¸camos x = ξ (zero de f (x)), e f (x) = f (ξ) = 0. Substituindo em R 1 (x) = f (x) − pn(x), obtemos f ′′(ζ) 2 (ξ − x 0 )^2 = −f (x 0 ) − f ′(x 0 )(ξ − x 0 )

Dividindo por f ′(x 0 ) (supondo f ′(x 0 ) = 0),

f ′′(ζ) 2 f ′(x 0 ) (ξ − x 0 )^2 = −

f (x 0 ) f ′(x 0 ) − ξ + x 0

No lado direito, podemos substituir x 0 − (^) ff ′((xx^00 )) = x 1 , e ent˜ao

f ′′(ζ) 2 f ′(x 0 ) (ξ − x 0 )^2 = x 1 − ξ

Tomando valor absoluto, e generalizando para k itera¸c˜oes,

|ξ − xk+1| = |f ′′(ζ)| 2 |f ′(xk)|

|ξ − xk|^2

onde ζ est´a entre ξ e xk. Se as aproxima¸c˜oes xk convergem ao zero ξ, ent˜ao, 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 equa¸c˜ao acima diz que o erro |ξ − xk+1| em cada itera¸c˜ao ´e aproximadamente proporcional ao quadrado do erro |ξ − xk| na itera¸c˜ao anterior. Tal caracter´ıstica ´e denominada convergˆencia quadr´atica. Por exemplo, suponhamos C = 1 e um erro inicial |ξ − x 0 | = 0,1. Nas itera¸c˜oes seguintes, o erro ser´a 10 −^2 , 10 −^4 , 10 −^8 , 10 −^16 , 10 −^32 ,.. ., o que indica que a quantidade de d´ıgitos corretos duplica em cada itera¸c˜ao.

Exemplo 3. O polinˆomio p 3 (x) = x^3 − 2 x − 5 foi utilizado por John Wallis ao apresentar o m´etodo de Newton `a Academia de Ciˆencias Francesa. Possui um par de ra´ızes complexas, e uma raiz real entre 2 e 3. A seguinte tabela mostra resultados da aplica¸c˜ao do m´etodo com x 0 = 2,5. Vemos que os d´ıgitos corretos das aproxima¸c˜oes (sublinhados) aproximadamente duplicam a cada itera¸c˜ao.

k xk d´ıgitos corretos 0 2 ,500000000000000 1 1 2 ,164179104477612 1 2 2,09 7135355810555 3 3 2,09455 5232390448 6 4 2,0945514815 50247 11 5 2,094551481542327 > 16 6 2,



As conclus˜oes acima exigem f ′′(ξ) = 0, f ′(ξ) = 0, a continuidade de f (x) e suas derivadas no intervalo de trabalho, e uma boa aproxima¸c˜ao inicial que produza convergˆencia. Se alguma dessas condi¸c˜oes falha, as aproxima¸c˜oes poder˜ao n˜ao convergir, ou convergir de maneira n˜ao quadr´atica. Em particular, ´e poss´ıvel mostrar que, quando f ′(ξ) = 0 (i.e., quando ξ ´e um zero de f (x) e tamb´em um ponto cr´ıtico), as aproxima¸c˜oes poder˜ao convergir, mas a convergˆencia ser´a linear

Exemplo 4. A fun¸c˜ao f (x) = (x − 1) ln x tem um zero e um um m´ınimo local em x = 1. A aplica¸c˜ao do algoritmo de Newton-Raphson com x 0 = 2 produz

onde

sk = f (xk) − f (xk− 1 ) xk − xk− 1

Note que, se xk 1 → xk a f´ormula acima produz sk = f ′(xk).

x

y

x 0

(x 0 ,f (x 0 ))

x 1

(x 1 ,f (x 1 ))

y = f (x)

x 2

(x 2 ,f (x 2 ))

ξ^ x^3

Figura 4: M´etodo da Secante

Como ilustra a Fig. 3, partimos de duas aproxima¸c˜oes iniciais x 0 e x 1. Trazemos uma reta tangente `a curva y = f (x) pelos pontos (x 0 , f (x 0 )) e (x 1 , f (x 1 )), e chamemos de x 2 ao valor de x onde a reta intersecta o eixo x. O coeficiente angular m dessa reta ´e

m =

f (x 0 ) − f (x 1 ) x 0 − x 1 = f (x 1 ) − f (x 0 ) x 1 − x 0

e a equa¸c˜ao da reta ´e y − f (x 1 ) = m(x − x 1 ) (3)

Procedendo em forma similar ao m´etodo de Newton-Raphson, determinamos o valor de x = x 2 onde reta corta o eixo x fazendo y = 0 a equa¸c˜ao acima, de onde obtemos

x 2 = x 1 −

f (x 1 ) m

que concorda com a f´ormula geral do m´etodo vista acima. Numa nova itera¸c˜ao, tra¸camos uma nova secante por (x 1 , f (x 1 )) e (x 2 , f (x 2 )), obtendo uma nova aproxima¸c˜ao x 3 no ponto de interse¸c˜ao com o eixo x, e o m´etodo continua repetindo este processo.

Algoritmo 2 (M´etodo da Secante). Dada uma fun¸c˜ao f (x) e duas aproxima¸c˜oes iniciais, x 0 e x 1 , a um zero ξ de f (x), este algoritmo calcula uma aproxima¸c˜ao x∗^ ao zero com erro menor que ε. Caso as aproxima¸c˜oes n˜ao convirjam, o algoritmo para ao atingir Imax itera¸c˜oes.

k = 0 Error = |x 1 − x 0 | while Error > ε if k > Imax Mostre a mensagem “O algoritmo n˜ao converge ap´os Imax itera¸c˜oes” end sk = f (xk) − f (xk− 1 ) xk − xk− 1 xk+1 = xk − f (xk)/sk Error = |xk+1 − xk| k = k + 1 end x∗^ = xk



Exemplo 5. Consideremos novamente o c´alculo de

A, com onde A = 19. Como vimos, o problema ´e resolvido calculando o zero positivo da fun¸c˜ao f (x) = x^2 − A. Tomando x 0 = 4 e x 1 = 5, obtemos

k xk 0 4 1 5 2 4, 3 4, 4 4, 5 4, 6 4, 7 4, 

Como ilustra o exemplo, este m´etodo ´e um pouco mais lento que o Newton-Raphson (i.e., exige uma maior quantidade de itera¸c˜oes para atingir a mesma precis˜ao). De fato, ´e poss´ıvel demonstrar que a convergˆencia j´a n˜ao ´e mais quadr´atica, e o erro em cada itera¸c˜ao segue uma lei da forma |ξ − xk+1| ≈ C|ξ − xk|φ

onde, curiosamente, φ ´e o n´umero ´aureo (1 +

Igualmente ao m´etodo Newton-Raphson, o m´etodo da secante pode apresentar problemas de convergˆencia. Por exemplo, se f (xk) = f (xk− 1 teremos uma divis˜ao por zero no c´alculo 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.

Referˆencias

[Mol04] Cleve Moler. Numerical Computing with MATLAB. The Mathworks, online em http://www.mathworks.com/academia/ (´ultimo accesso em 27/05/2007), 2004.