Escolar Documentos
Profissional Documentos
Cultura Documentos
Ainda tem-se que no ponto ݔ as funções ݃ ( )ݔe ݂( )ݔsão iguais:
݃ (ݔ ) = ݂(ݔ )
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!).
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
18
float df (float x){
float y;
y = 2*x - 2;
return y;
}
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));
}
return 0;
}
precisao = 0.001
def f (x):
y = x**2 - 2*x - 10
return y
def df (x):
y = 2*x - 2
return y
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));
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:
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:
20