Você está na página 1de 4

5.

RAIZ DE UMA FUNÇÃO – MÉTODO DE NEWTON-RAPHSON

João Daniel de Oliveira Klein

O método de Newton-Raphson apresenta uma forma alternativa ao método da Dicotomia para


determinação da raiz de uma função qualquer. Esse método apresenta as seguintes características:
• Não é necessário informar um intervalo de valor que contenha a (e uma única) raiz e
sim apenas um ponto próximo à raiz desejada;
• O método só identifica uma raiz por vez, geralmente (mas nem sempre) a mais próxima
ao ponto inicial adotado (‫ݔ‬଴ );
• Para a maioria das funções, esse método resulta em melhor precisão com menor número
de iterações quando comparado ao método da Dicotomia, sendo, portanto, mais rápido;
• Como desvantagem, dependendo a função ݂(‫ )ݔ‬e ponto inicial ‫ݔ‬଴ adotado, o método
pode divergir, ou seja, é possível que se chegue a uma solução. Nesses casos, pode ser
necessário adotar outro ponto ‫ݔ‬଴ .
O método consiste em definir como a melhor aproximação para a raiz da função o zero da
equação da reta tangente à curva ݂(‫ )ݔ‬no ponto inicialmente calculado.
No gráfico abaixo, ݃଴ (‫ )ݔ‬é a reta tangente à ݂(‫ )ݔ‬no ponto ‫ݔ‬଴ . O valor de ‫ݔ‬ଵ é a primeira
aproximação para a raiz de ݂(‫)ݔ‬, sendo a própria raiz de ݃଴ (‫)ݔ‬. Já a próxima aproximação ‫ݔ‬ଶ é obtida a
partir da reta tangente ݃ଵ (‫ )ݔ‬no ponto ‫ݔ‬ଵ , e assim sucessivamente.

Para o primeiro ponto, a reta tangente à ݂(‫ݔ‬଴ ) é definida por:


݃଴ (‫ܽ = )ݔ‬଴ ‫ ݔ‬+ ܾ଴

Sendo que a inclinação da reta é dada pela derivada de ݂(‫ݔ‬଴ ):


ܽ଴ = ݂ ᇱ (‫ݔ‬଴ )

Ainda tem-se que no ponto ‫ݔ‬଴ as funções ݃଴ (‫ )ݔ‬e ݂(‫ )ݔ‬são iguais:
݃଴ (‫ݔ‬଴ ) = ݂(‫ݔ‬଴ )

Assim, no ponto ‫ݔ‬଴ :


݂(‫ݔ‬଴ ) = ݂ ᇱ (‫ݔ‬଴ )‫ ݔ‬+ ܾ଴
ܾ଴ = ݂(‫ݔ‬଴ ) − ݂ ᇱ (‫ݔ‬଴ )‫ݔ‬଴

A próxima aproximação para o valor de ‫ݔ‬, que será ‫ݔ‬ଵ , é obtida a partir da raiz da função ݃଴ (‫)ݔ‬:
ܽ଴ ‫ݔ‬ଵ + ܾ଴ = 0
ܾ଴
‫ݔ‬ଵ = −
ܽ଴

17
݂(‫ݔ‬଴ ) − ݂ ᇱ (‫ݔ‬଴ )‫ݔ‬଴
‫ݔ‬ଵ = −
݂ ᇱ (‫ݔ‬଴ )
Simplificando:
݂(‫ݔ‬଴ )
‫ݔ‬ଵ = ‫ݔ‬଴ −
݂ ᇱ (‫ݔ‬଴ )
Ou, de forma genérica:
݂(‫ݔ‬௜ )
‫ݔ‬௜ାଵ = ‫ݔ‬௜ −
݂ ᇱ (‫ݔ‬௜ )

5.1. Exemplo:
5.1.1. Determine a raiz positiva da função ݂(‫ ݔ = )ݔ‬ଶ − 2‫ ݔ‬− 10:

Solução: Incialmente verificou-se que existe uma raiz positiva próxima a 3,0, que será o valor
inicia de ‫ݔ‬଴ .
Para aplicar o método, ainda é necessário calcular a derivada da função:
݂ ᇱ (‫ = )ݔ‬2‫ ݔ‬− 2
Na quarta iteração, a precisão obtida já é menor que 0,01, ou seja, podemos que o último valor
de ‫ݔ‬௖ (‫ݔ‬ସ = 4,3166) é a melhor aproximação para a raiz da função ݂(‫)ݔ‬, com duas casas decimais (neste
caso específico, já se obteve uma precisão de quatro casas decimais!).

࢏ ࢞࢏ ࢌ(࢞࢏ ) ࢌ′(࢞࢏ ) ࢞࢏ା૚ ࢖࢘ࢋࢉ࢏࢙ã࢕


0 3,0000 -7,0000 4,0000 4,7500
1 4,7500 3,0625 7,5000 4,3417 1,7500
2 4,3417 0,1667 6,6833 4,3167 0,4083
3 4,3167 0,0006 6,6334 4,3166 0,0249
4 4,3166 0,0000 6,6332 4,3166 0,0001

As equações a serem digitadas no MS Excel, para se obter a solução do problema e a tabela


acima, são apresentas a seguir:

5.1.2. Implementação em linguagem C:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

float f (float x){


float y;
y = pow(x,2.0) - 2*x - 10;
return y;
}

18
float df (float x){
float y;
y = 2*x - 2;
return y;
}

int main(int argc, char *argv[]) {


float x, anterior;
float precisao = 0.001;
printf("Digite o valor inicial para x (x0):");
scanf("%f",&x);

anterior = x + 2*precisao;

while(fabs(x-anterior)>precisao){
anterior = x;
x = anterior - f(x)/df(x);
printf(" = %f\t",x);
printf("delta = %f\n",fabs(x-anterior));
}

printf("A raiz da função é %f.", x);

return 0;
}

5.1.3. Implementação em Python

precisao = 0.001

def f (x):
y = x**2 - 2*x - 10
return y

def df (x):
y = 2*x - 2
return y

x = float(input("Digite o valor inicial de (x0): "))

anterior = x + 2*precisao

while(abs(x-anterior)>precisao):
anterior = x
x = anterior - f(x)/df(x)
print("x = ",x);
print("delta = ",abs(x-anterior));

print("A raiz da função é ", x)

5.2. Deve-se observar que nem sempre a derivada analítica de uma função é simples de ser obtida.
Em alguns casos, isso pode nem ser possível. Nesses casos, pode-se utilizar a derivada numérica
da função, que é baseada no seu conceito matemático em si:

݂(‫ ݔ‬+ Δ‫ )ݔ‬− ݂(‫)ݔ‬


݂ ᇱ (‫ = )ݔ‬lim
୼௫→଴ Δ‫ݔ‬

19
O gráfico a seguir ilustra esse conceito, no qual o incremento Δ‫ ݔ‬de ser um valor suficientemente
pequeno.

5.2.1. Exemplo: Determine a raiz positiva da função ݂(‫ ݔ = )ݔ‬ଶ − 2‫ ݔ‬− 10:

Solução: Resolvendo o mesmo exemplo anterior, porém utilizando a derivada numérica, onde
foi adotado Δ‫ = ݔ‬0,001, tem-se:

࢏ ࢞࢏ ࢌ(࢞࢏ ) ࢌ(࢞࢏ + ઢ࢞) ࢌ′(࢞࢏ ) ࢞࢏ା૚ ࢖࢘ࢋࢉ࢏࢙ã࢕


0 3,0000 -7,0000 -6,9960 4,0010 4,7496
1 4,7496 3,0592 3,0667 7,5001 4,3417 1,7496
2 4,3417 0,1668 0,1735 6,6843 4,3167 0,4079
3 4,3167 0,0006 0,0073 6,6344 4,3166 0,0250
4 4,3166 0,0000 0,0066 6,6342 4,3166 0,0001

As equações a serem digitadas no MS Excel, para se obter a solução do problema e a tabela


acima, são apresentas a seguir:

20

Você também pode gostar