Reta tangente e o método de Newton
Construção geométrica do método de Newton para zero de funções escalares
Vamos lá?
O método de Newton para estimar o zero de uma função diferenciável é um dos métodos mais importante da área de Análise Numérica. Nesta aula, eu mostro como obter o método de Newton a partir de uma construção geométrica.
- 1
- 2
- 3
Qual seria o problema mais simples a que o vídeo se refere?
Se $f'(x_k) = 0,$ não é possível computar $x_{k+1}.$ O que isto significa?
A essência do método de Newton é usar, da melhor forma possível, o valor da derivada da função, além do próprio valor da função .
Na ilustração a seguir, vemos como a função é sucessivamente aproximada por retas. Partindo de uma aproximação inicial $x_0$, uma reta é construída passando por sobre o ponto $(x_0,f(x_0)),$ e tendo a mesma inclinação local da função, ou seja, esta reta é tangente à função. Supondo que a reta tangente seja uma aproximação para a função, ao invés de tentar descobrir o zero da função (problema difícil), encontramos o zero da reta tangente (problema fácil) e esse é a nova aproximação para $x_*$, a partir da qual o processo pode ser repetido.
A próxima figura ilustra essa ideia na iteração $k$, onde partimos de $x_k$ para obter $x_{k+1}$.
Observe que a reta tangente à $f$ em $x_k$ é dada por $$ r(x) = f(x_k) + f'(x_k)(x-x_k), $$ uma vez que $r(x_k) = f(x_k)$ e $r'(x_k) = f'(x_k)$. O zero desta reta será a nova aproximação, $x_{k+1}$. Para determiná-lo basta resolver $$r(x_{k+1}) = 0.$$ Como este raciocínio, chegamos à conhecida fórmula da iteração de Newton, dada por $$x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)},$$ desde que $f'(x_k)\neq 0.$
Um algoritmo para descrever esse processo de construção da sequência de aproximações $\{x_1,x_2,\ldots\}$ pode ser esquematizado como
- Seja $x_0$ uma aproximação razoável para $x_*$, o zero de $f.$
- Para $k=0,1,2,\ldots$
- $x_{k+1} \leftarrow x_k - f(x_k)/f'(x_k),$ desde que $f'(x_k)\neq 0$
Que tal um exemplo? Considere $f(x) = x^2+2x- \sin(2x-1),$ cuja derivada é $f'(x) = 2(x+1)-2\cos(2x-1).$ Vejamos como realizar algumas iterações do método de Newton usando o Octave.
f = @(x) x.^2 + 2*x - sin(2*x-1); # função f g = @(x) 2*(x+1) - 2*cos(2*x-1); # derivada de f x = 0; # aproximação inicial f(x) # valor de f no ponto inicial ans = 0.84147 x = x - f(x)/g(x), f(x) # 1ª iteração de Newton e valor de f x = -0.91524 ans = -0.68671 x = x - f(x)/g(x), f(x) # 2ª iteração de Newton e valor de f x = -0.58406 ans = -0.00015520 x = x - f(x)/g(x), f(x) # 3ª iteração de Newton e valor de f x = -0.58398 ans = -0.0000000041128 x = x - f(x)/g(x), f(x) # 4ª iteração de Newton e valor de f x = -0.58398 ans = -2.2204e-16
Nesta aula, não entramos nos detalhes que ficaram em aberto no algoritmo. Por exemplo, o que significa $x_0$ ser uma aproximação razoável, qual é um critério de parada apropriado, ou o que fazer se $f'(x_k)$ for nulo. Antes de entrar nesses detalhes, a próxima aula vai discutir em que situações o método de Newton converge e por que ele funciona tão bem.
1. Observe a função do gráfico abaixo.
- Partindo do ponto $a$ indicado, construa geometricamente a sequência gerada pelo método de Newton. Observe para qual dos zeros da função a sequência converge.
- Repita o processo partindo do ponto $b$ indicado.
- Tente identificar diferentes regiões do eixo $x$ em relação ao comportamento do método de Newton, quando iniciado por um ponto nessas regiões.
2. Partindo de $f(x) = x^3 − A,$ onde $A$ é um número real qualquer, e usando o método de Newton para estimar o zero de $f,$ obtenha a fórmula $$ x_{k+1} = \frac{2x_k+A/x_k^2}{3}. $$ Utilize esta fórmula para calcular $\sqrt[3]{10}.$
3. Aplique o método de Newton para cada função abaixo, partindo do ponto inicial indicado. Observe o valor de $f(x)$ em cada iteração e tente entender o que está acontecendo. Depois disso, trace o gráfico de $f$ e veja se coincide com o que você pensou.
- $f(x) = x^2 − x − 3,$ $x_0 = 1.6$
- $f(x) = x^3 − 3x − 2,$ $x_0 = 2.1$
- $f(x) = x^2 − x + 2,$ $x_0 = −1.5$