Title | Newton Rapshon 1 variavel |
---|---|
Author | Welberta De Sousa Gomes |
Course | Metodos Numericos E Programacao |
Institution | Universidade Luterana do Brasil |
Pages | 4 |
File Size | 251.8 KB |
File Type | |
Total Downloads | 45 |
Total Views | 136 |
Newton Raphson 1 VARIAVEIS, Python, Linguagem C e Excel...
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 #include #include 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...