Cálculo Numérico
Equações não Lineares – Métodos Iterativos
MÉTODOS ITERATIVOS
Definição: Um método numérico é dito iterativo se gera uma
sequência de aproximações xk a partir de uma equação de
iteração xk+1=ψ(xk) e uma aproximação inicial x0 .
Exemplo: O método iterativo xk+1=xk
2+c
2xk calcula √c a
partir de x0≠0 .
Considerando c=2 e x0=1 , temos:
x1=x0
2+2
2x0
=12+22⋅1
=32=1.5
x2=x1
2+2
2x1
=1.52+22⋅1.5
=4.25
3=1.417
x3=x2
2+2
2x2
=1.4172+22⋅1.417
=4.0082.834
=1.414
x4=x3
2+2
2x3
=1.4142+22⋅1.414
=3.9992.828
=1.414
Questão: Quando devo parar um método iterativo?
CRITÉRIOS DE PARADA
• Seja um método iterativo xk+1=ψ(xk)
• Dizemos que a aproximação xk+1 tem erro relativo ε>0
se:
∣xk+1−xk∣
∣xk+1∣<ε
• Neste caso, tomamos xk+1 como a solução aproximada
para o problema.
Exemplo: Considerando os valores do exemplo anterior,temos:
∣x1−x0∣
∣x1∣=
∣1.5−1∣∣1.5∣
=0.3333
∣x2−x1∣
∣x2∣=
∣1.417−1.5∣∣1.417∣
=0.05857
∣x3−x2∣
∣x3∣=
∣1.414−1.417∣∣1.414∣
=0.002122
∣x4−x3∣
∣x4∣=
∣1.414−1.414∣∣1.414∣
=0.0
sendo que o erro zero ocorreu apenas devido aoarredondamento em 4 casas.
Obs. 1) Critério de parada do tipo ∣f (xk)∣<ε deve ser
evitado, pois depende do comportamento da função. Por
exemplo, para f (x)=x−3 ln(x) temos uma única raiz em
x=1, mas se considerando a sequência 2, 4, 8, … , ou seja,
xk=2k+1 , temos:
∣f (xk)∣=∣xk−3 ln (xk)∣=
k+1
23k+3→0
quando k→∞ .
Obs. 2) Em alguns casos podese considerar o erro absoluto,
na forma ∣xk+1−xk∣<ε . O erro absoluto deve ser evitado
quando a sequência gera número muito grandes, que tornariam
o erro desejado muito pequeno e difícil de ser alcançado.
Obs. 3) Para implementações computacionais, considerase o
critério de parada para erro relativo na forma de:
|xk+1−xk|<ε⋅max { 1 , |xk+1| }
para evitar que o programa não convirja quando xk+1 estiver
próximo de zero.
Cálculo Numérico
Equações não Lineares – Métodos Iterativos Lineares
MÉTODOS ITERATIVOS LINEARES
Definição: Um método numérico iterativo xk+1=ψ(xk) é dito
iterativo linear se f (x)=0 se, e somente se, x=ψ(x) .
Exemplo: O método xk+1=xk
2+c
2xk é um método iterativo
linear para calcular √c
De fato: Seja f (x)=x2−c , cujas raízes são ±√c .
Além disso,
f (x)=0⇔ x2−c=0⇔
⇔−x2−c
2=0⇔
⇔ x2=x2−x2−c
2⇔
⇔ x=x−x2−c
2 x⇔ x=ψ(x)
Logo é um método iterativo linear.
Obs. 1) Há muitas formas de se transformar o problema
f (x)=0 no problema de ponto fixo x=ψ(x) . Por exemplo,
dada uma função qualquer A (x)≠0 , podemos considerar
ψ(x)=x+A (x) f (x) .
Obs. 2) Nem todo método iterativo linear converge. Por
exemplo, f (x)=x2−c=0⇔ x2=c⇔ x=cx, se x≠0 . Assim
temos o método iterativo linear xk+1=cxk
.
Mas, tomando c=2 e x0=1 , a sequência obtida x1=2 ,
x2=1 , x3=2 ,... não converge.
Teorema: Seja ψ(x) uma função com derivada de segunda
ordem contínua num intervalo fechado I=[x−h , x+h] ,
sendo x=ψ(x) . Seja x0∈I e 0<M<1 tal que
∣ψ ' (x)∣⩽M<1 . Então:
a) xk∈I , ∀ k , ou seja, a iteração pode ser executada
indefinidamente.
b) ∣xk−x∣→0 , quando k→∞ .
Obs.: Este teorema estabelece apenas a condição necessária
para a convergência.
Exemplo 1) No método iterativo linear xk+1=cxk
temos
ψ(x)=cx
. Logo, ψ ' (x)=−c
x2.
Assim, ∣ψ ' (x)∣= c
x2<1⇔ x2>c⇔ x<−√c ou x>√c
Não podemos garantir ∣ψ ' (x)∣⩽M<1 em um intervalo
contendo a raiz. Então nada podemos afirmar sobre a
convergência do método.
Exemplo 2) No método iterativo linear xk+1=xk
2+c
2xk temos
ψ(x)=x2+c2x
.
Logo, ψ ' (x)=2x⋅2x−(x2+c)⋅2
4x2=x2−c
2x2=
12−c
2x2
Assim, ∣ψ ' (x)∣<1⇔∣12−c
2x2∣<1⇔−1<12−c
2x2<1⇔
⇔−32<
−c
2x2<
12⇔−1<
c
x2<3
Temos duas desigualdades:
−1<c
x2⇔−x2<c que é sempre verdadeira.
e
c
x2<3⇔3x2>c⇔ x2>
c3⇔ x<−√ c3 ou x>√ c3
Como c> c3⇔√c>√ c3 e, portanto, ∣ψ ' (x)∣⩽M<1 em um
intervalo contendo a raiz. Logo, o método converge.
ORDEM DE CONVERGÊNCIA
• Indica a velocidade com que as aproximações de ummétodo iterativo se aproximam da solução correta.
Definição: Seja xk a sequência de aproximações geradas pelométodo iterativo e x a solução correta. Se existirem umnúmero p⩾1 e uma constante c>0 tal que
limk→∞
∣xk+1−x∣
∣xk−x∣p=c
então p é a ordem de convergência do método.
Obs.: Podemos determinar numericamente a ordem de
convergência observando que, para k suficientemente grande:
∣xk+1−x∣≈c∣xk−x∣p
Além disso ∣xk−x∣≈∣xk−xk−1∣=ek . Logo
ek+1≈c ekp e ek≈c ek−1
p
Assim, ek+1
ek≈ekp
ek−1p
⇒ p≈
log(ek+1
ek )log(
ekek−1
)
Exemplo: Para encontrar a raiz da função f (x)=x2−x−2 ,
consideremos o método iterativo linear xk+1=√xk+2
k xk xk+1 ek p0 2.5 2.1213203436 0.37867965641 2.1213203436 2.0301035303 0.09121681332 2.0301035303 2.0075117759 0.0225917544 0.98047201963 2.0075117759 2.0018770631 0.0056347127 0.99497337794 2.0018770631 2.0004692107 0.0014078524 0.99873396685 2.0004692107 2.0001172992 0.0003519115 0.99968290016 2.0001172992 2.0000293246 8.7974e-005 0.9999206887 2.0000293246 2.0000073311 2.1993E-005 0.99998016978 2.0000073311 2.0000018328 5.4983E-006 0.9999950422
Cálculo Numérico
Equações não Lineares – Métodos Iterativos Lineares –
Método de Newton
MÉTODO DE NEWTON
● Seja um método iterativo linear da forma
ψ(x)=x+A (x) f (x) com A (x)≠0
● Para garantir a convergência do método, vamos encontrar
A (x) de modo que ψ ' (x)=0 para x raiz de f (x) .
● Assim,
ψ ' (x)=1+A ' (x) f (x)+A (x) f ' (x)⇒
⇒ψ ' (x)=1+A ' (x) f (x)+A (x) f ' (x)
• Mas f (x)=0 e ψ ' (x)=0
• Logo, 0=1+A (x) f ' (x)⇒ A (x)=−1
f ' (x)
• Vamos considerar então A (x)=−1
f ' (x)
• Assim ψ(x)=x−f (x)f ' (x)
e o método iterativo linear é dado
por xk+1=xk−f (xk)
f ' (xk)
• Este método é conhecido como Método de Newton.
Obs.: A ordem de convergência do método de Newton é 2
(convergência quadrática).
Exemplo 1: Encontre uma aproximação para a raiz de
f (x)=cos x−sen x , com erro < 0.01.
Solução: Sabemos que a raiz está no intervalo [0, π2 ]
Temos que f ' (x)=− sen x−cos x . Assumindo que x0=0 :
k xk f(xk) f'(xk) f(xk)/f'(xk) xk+1 Erro0 0 1 -1 -1 1 11 1 -0.3012 -1.382 0.2179 0.7821 0.27862 0.7821 0.004664 -1.414 -0.003298 0.7854 0.004202
Portanto x3=0.7854 é uma aproximação para a raiz.
(valor exato: 0.7853981634)
Exemplo 2: Usando o método de Newton, encontre um
método iterativo para calcular √c
Solução: Sabemos que √c é raiz de f (x)=x2−c .
Como f ' (x)=2x , o método de Newton fica:
xk+1=xk−f (xk)
f ' (xk)=xk−
xk2−c
2xk=xk
2+c
2xk
Portanto xk+1=xk
2+c
2xk é o método iterativo linear para calcular
√c .
EXERCÍCIOS
1. Usando o método de Newton, encontre um método
iterativo para calcular 3√c .
2. Usando o método do exercício 1, calcule 3√5 , com erro
de 10−4 , ponto flutuante com 6 casas e arredondamento.
Exercícios Adicionais: Franco, ex. 3.3 à 3.6 e 3.8, pg. 75 e
76, ex. 3.9 e 3.10, pg. 79 e 80.