Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ricardo Biloti
biloti@ime.unicamp.br
1S/2016
http://goo.gl/rYq41
Método de Newton Métodos Quase-Newton Sistemas não-lineares Seus direitos e deveres são:
• Você é livre para copiar e redistribuir este material, em qualquer meio ou formato,
Licença para adaptá-lo, transformá-lo ou utilizá-lo para construir seu próprio material.
• Você deve dar os créditos apropriados, fornecendo link para a licença e indicando se
alterações foram feitas. Você pode fazer isto de qualquer forma razoável, porém sem
tentar passar a ideia ou sugerir que o autor endosse suas alterações ou seu uso do
material.
• Se você alterar, transformar ou construir seu próprio material com base neste
trabalho, você deverá distribuı́-lo sob a mesma licença usada no original.
y 00 (t) = −g
y (0) = 0, y 0 (0) = v0 sin θ
g 2
y (t) = (v0 sin θ)t − t
2
g 2
y (t) = (v0 sin θ)t − t
2
Impacto:
2v0 sin θ
y (T ) = 0 ⇒ T =
g
Distância percorrida:
Exemplo • A equação tem solução? O que poderia acontecer com um método numérico para
aproximar a solução de equações quando aplicado a uma equação que não tenha
solução?
• Havendo solução, será que ela é única? Como um método numérico se comportaria se
a equação que ele tenta resolver tivesse mais de uma solução? Ele deveria encontrar
2v02 sin θ cos θ todas? Ele encontraria alguma? Ele ficaria indeciso sobre qual solução aproximar?
f (θ) ≡ −d =0
g
• Será que todas as soluções da equação fazem sentido fı́sico? O método numérico tem
obrigação de encontrar a solução que eu quero? É possı́vel guiar o método para
I Pode não ter solução (d > v02 /g ) buscar uma solução especı́fica?
I Pode não haver unicidade • Será que não tem como simplificar a equação, antes de aplicar um método numérico?
Isto pode fazer a diferença entre o método ser bem sucedido ou não, ou mesmo na
velocidade com que a uma aproximação é obtida.
I Nem todas as soluções fazem sentido
• Por fim, como muito métodos (como veremos) utilizam informação de derivada, é
I f pode ser simplificada? preciso saber se f pode ou não ser diferenciada. Isso influencia a escolha do método
numérico.
I f pode ser diferenciada?
Mesmo que a função não troque de sinal nos extremos de um intervalo, ainda pode haver
Teorema de Bolzano pontos onde a função se anula. Observe o gráfico e imagine que o intervalo de interesse,
ao invés de ser [a, b] fosse [0, b]. A função é positiva tanto em 0 como em b, mas mesmo
Seja f é contı́nua em [a, b]. Se f (a) · f (b) < 0, então existe assim, se anula em dois pontos no interior deste intervalo.
x ∈ (a, b) tal que f (x) = 0.
A dificuldade em aplicar esse resultado é conseguir exibir um intervalo [a, b] onde f (a) e f (b)
têm sinais opostos. Isso é feito principalmente por tentativa e erro.
a
x b
f (x) = x 3 − 6x + 3
a
x b
f (x) = x 3 − 6x + 3, f 0 (x) = 3x 2 − 6
b
a
Método da bissecção
b
a
Método da bissecção
b
a a
Método da bissecção
b
a a
Método da bissecção
b b
a a
Método da bissecção
b b
a a
Método da bissecção
b b
a a a
Método da bissecção
b b
a a a
Método da bissecção
b b
a a a
I [a, b]?
I Convergência lenta
xk+1 xk x
f (xk )
r (xk+1 ) = 0 ⇒ xk+1 = xk −
f 0 (xK )
f (xk ) Observe o quão rápido conseguimos progredir de uma aproximação inicial grosseira para uma
xk+1 = xk − aproximação aceitável. De fato, uma grande vantagem do método de Newton é sua velocidade
f 0 (xk ) de convergência.
f (x) = x 2 − 3, f 0 (x) = 2x
x2 − 3
1 3
xk+1 = xk − k = xk +
2xk 2 xk
x0 = 2, f (x0 ) = 1
x02
−3
x1 = x0 − = 1.7500, f (x1 ) = 0.0625
2x0
x2 − 3
x2 = x1 − 1 = 1.7321, f (x2 ) = 0.0002
2x1
http://goo.gl/rYq41 Ricardo Biloti Métodos para equações não-lineares
Se f ∈ C 2 então
f 00 (a) f (n) (a) f (n+1) (c)
f (x∗ ) = f (x) + f 0 (x)(x∗ − x) + O(|x∗ − x|2 ) f (b) = f (a) + f 0 (a)(b − a) + (b − a)2 + · · · + (b − a)n + (b − a)n+1 .
2 n! (n + 1)!
| {z }
Tn (b)
Se x for uma aproximação razoável para x∗ , então |x∗ − x| é
pequeno. Logo Isto significa que
|f (b) − Tn (b)| ≤ K (b − a)n+1 .
0 = f (x∗ ) ≈ f (x) + f 0 (x)(x∗ − x)
ou, se f 0 (x) 6= 0,
f (x)
x∗ ≈ x −
f 0 (x)
História
Por fim, como a fórmula de interação do Método de Newton realiza uma divisão, pode
I Para k = 0, 1, 2, . . . Até quando? acontecer do denominador ser zero. O que fazer então nessa situação?
f (xk )
I Se f 0 (xk ) 6= 0, xk+1 = xk − E se f 0 (xk ) = 0?
f 0 (xk )
Outra estratégia é Globalizar o método de Newton, ou seja, modifica-lo para que o método
convirja independentemente de ponto de partida. As duas principais formas de globalizar o
método de Newton são através da inserção de uma busca linear na direção apontada pelo
método de Newton ou através da definição de uma Região de confiança, dentro da qual
a aproximação linear é válida. Ambas as estratégias são melhor discutidas no contexto de
métodos de otimização e fogem ao escopo desta notas.
I Aplicar um método menos restritivo para começar
I Região de confiança
|ek | ≤ |e0 |
ek = xk − x∗
Pelos três gráficos é possı́vel observar que se |f 0 (x∗ )| 1, a função corta o eixo x muito
“rasante”, o que significa que mesmo para pontos ainda relativamente distantes de x∗ , já
terı́amos a condição |f (xk )| ≤ satisfeita.
Por outro lado, se |f 0 (x∗ )| 1, a função cortaria o eixo x muito abruptamente. Desta
|f (xk )| ≤ forma, apenas quando xk estivesse realmente muito próximo de x∗ é que o critério de parada
seria satisfeito.
I |f (xk )| ≤ 1 |f (x0 )| + 2
I Trocar de ponto
x1 x2
x0
Já a taxa de convergência quadrática é observada quando o erro em cada passo é, a grosso
Convergência linear modo, o quadrado do erro no passo anterior. Na prática, é como se a cada passo o número
de dı́gitos corretos na aproximação dobrasse.
|ek+1 | ≤ C |ek |, 0 < C < 1, ∀k > K
Convergência superlinear
ek+1
lim =0
k→∞ ek
Convergência quadrática
|ek+1 |
lim = C, C >0
k→∞ |ek2 |
Exercı́cio
Propriedades
I Convergência local
Exemplo
f (z) = z 3 − 1 = 0, z ∈C
Repare que próximo a cada um dos zeros, não há dúvida e o método converge como esperado.
Porém se o ponto inicial não está assim tão próximo de um dos zeros, é impossı́vel saber para
onde o método convergirá.
aproximação da derivada.
x2 x1 x0 x
f (xk )
xk+1 = xk −
f 0 (x0 )
x2 x1 x0 x
f (xk )
xk+1 = xk −
gk
f (xk ) − f (xk−1 )
gk =
xk − xk−1
Método de Newton
x2 x1 x
f (xk )
xk+1 = xk −
f 0 (xk )
√
Exemplo: aproximando 3 (Newton)
f (xk )
xk+1 = xk −
f 0 (xk )
f (x) = x 2 − 3, f 0 (x) = 2x
x0 = 2, f (x0 ) = 1
x02
−3
x1 = x0 − = 1.7500, f (x1 ) = 0.0625
2x0
x2 − 3
x2 = x1 − 1 = 1.7321, f (x2 ) = 0.0002
2x1
√
Exemplo: aproximando 3 (Secante)
f (x) = x 2 − 3, f 0 (x) = 2x
x0 = 2, f (x0 ) = 1
x1 = 1.7500, f (x1 ) = 0.0625
x12 −3
x2 = x1 − = 1.7333, f (x2 ) = 0.0044
g1
f (x) = 3x 2 − e x
Cada função fj que compõe o sistema é uma função escalar, ou seja, fj : Rn → R, que a cada
(x1 , x2 , . . . , xn ) 7→ f (x1 , x2 , . . . , xn ) ∈ R.
Queremos agora resolver o sistema não-linear Atenção: Na discussão que se segue, vamos nos restringir a sistema com igual número de
equações e variáveis.
f1 (x1 , x2 , . . . , xn ) = 0
f2 (x1 , x2 , . . . , xn ) = 0
..
.
fn (x1 , x2 , . . . , xn ) = 0
Exemplo
(x − x0 )2 + (y − y0 )2 − 1 = 0
ax + by + c = 0
y0
x0
Caracterı́sticas
F (x ∗ ) = 0
Hipótese: F é diferenciável
Exemplo
x12 − e −x1 x2
(
= 0
x1 x2 + sin x1 = 0
Neste caso,
x12 − e −x1 x2
F (x) =
x1 x2 + sin x1
∇T f1 (x)
∇T f2 (x)
J(x) =
..
.
∇T fn (x)
Exemplo
x12 − e −x1 x2
!
F (x) =
x1 x2 + sin x1
F (x + s) ≈ F (x) + J(x)s
J(x)s = −F (x)
Nova aproximação
x + s = x − J(x)−1 F (x)
Algoritmo
I Para k = 0, 1, 2, . . .
! !
4.1353 0.2707 3.8647
s (0) = −
0.5839 2.0000 2.9093
!
0.0453
F (x (1) ) = kF (x (1) )k∞ = 0.6760
−0.6760
! !
2.0297 1.4466 0.0453
s (1) = −
0.2088 1.1443 −0.6760
−1.5239
!
(2)
F (x )= kF (x (2) )k∞ = 1.5239
−0.4097
Método de Newton Métodos Quase-Newton Sistemas não-lineares Nesse exemplo, temos que
k kF (x (k) )k
Exemplo: terceira iteração 0
1
3.8647
0.6760
2 1.5239 ← aumentou!
3 0.3256
−0.3256
!
F (x (3) ) = kF (x (3) )k∞ = 0.3256
−0.0115
x0
Critérios de parada
I kF (x (k) )k ≤ 1 kF (x (0) )k + 2
Algoritmo
I k ←k +1
I Métodos diretos
I Métodos iterativos
I Solução exata
I Solução aproximada (Newton Inexato)
Exercı́cio
x12 + x22 − 2 = 0
x1 x2 − 1 =0