Você está na página 1de 4

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMTICA DISCIPLINA MAT-174 CLCULO NUMRICO PROFESSORA CLUDIA POSSA ALUNO GUSTAVO FERNANDO

O FRANA MENEZES MTODO DE NEWTON


INTRODUO O mtodo de Newton para determinar razes de uma equao no linear consiste na iterao: LEIA a5, a4 , a3, a2 , a1 , a0, a, b P(a) <- P(x=a) P'(a) <- P'(x=a) P(b) <- P(x=b) P'(b) <- P'(x=b) !Escolha SE P'(a) Xn SE NO Xn FIM SE do valor inicial Xn! > 0 OU P'(b) > 0 ENTO <- b <- a

x n +1 = x n
Tendo como mtodo:

( x n ) ( x n )
de uso deste

condies

I - (a) (b) < 0 II - ( x0 ) ( x0 ) > 0


Onde "a" e "b" so os extremos do intervalo em que se procura determinar a raiz e x0 o valor inicial da iterao, xn para n=0. A condio I indica mudana de sinal da funo no intervalo, que nos indica a presena de pelo menos uma raiz dentro deste intervalo. A condio II garante a convergncia da srie gerada pela iterao do mtodo, convergncia para o valor da raiz. O ALGORITMO O algoritmo desenvolvido neste trabalho calcula a raiz real de um polinmio de at grau 5, dentro de um intervalo que informado pelo o usurio do programa, bem como os coeficientes do polinmio e o critrio de parada, neste caso foi adotado o erro associado ao valor da raiz. Uma outra opo adotada como critrio de parada, pode ser com o usurio informando o nmero de iteraes desejadas. Tomando P(x) como o polinmio e P'(x) a sua derivada primeira e P"(x) a derivada segunda, dentro de um intervalo [a,b] temos:

!Testa se existe raiz no intervalo! SE P(a).P(b) < 0 ENTO IMPRIMA "Existe raiz no Intervalo" SE P(xn).P"(xn) > 0 ENTO IMPRIMA 'Erro = 10 -E, Digite E' LEIA E ERRO <- 10-E CRITRIO DE PARADA <- 1 ITERAES <- 0 !Lao com a iterao do mtodo! ENQUANTO (CRITRIO DE PARADA >ERRO) P(xn) P"(xn) xn+1=xn-P(xn)/P"(xn) CRITRIO <- |xn1-xn| xn <- xn1 ITERAES <- ITERAES + 1 FIM ENQUANTO IMPRIMA [RESULTADOS] SE NO IMPRIMA 'A srie no converge' FIM SE SE NO IMPRIMA 'No tem raiz no intervalo' FIM SE FIM

EXERCCIO RESOLVIDO Tendo como critrio de parada, Sendo

( x) = 3 x x 3
4

encontre

as

razes reais utilizando o mtodo de Newton. Resoluo: Tomando [1;2] como candidato a intervalo, temos que,

xn+1 xn 10 4
Agora, A fim de encontrar a outra raiz real deste polinmio, utilizamos um novo intervalo, [-1;0]

(1) = 3(1) 4 1 3 = 1 < 0 (2) = 3(2) 4 2 3 = 43 > 0


Como,

( 1) = 3(1) 4 + 1 3 = 1 > 0 (0) = 3(0) 4 0 3 = 3 < 0 (1) (0) < 0 (1) = 11 < 0 (0) = 1 < 0 x0 = 1
Verifica-se a convergncia,

(1) (2) < 0

Existe pelo menos uma raiz no intervalo.

( x) = 3 x 4 x 3 ( x) = 12 x 3 1 ( x) = 36 x 2
Como,

( x0 ) ( x0 ) > 0 (1) (1) > 0


Temos,

(1) = 11 > 0 (2) = 95 > 0


Fazemos

x0 = 2

xn +1 = xn x 0 = 1

( xn ) ( xn )

Verifica-se a convergncia,

( x0 ) ( x0 ) > 0 (2) (2) > 0


Sabendo que,

x1 = 0,92307 x2 = 0,91338 x3 = 0,91324 x4 = 0,91324


Ento

x n +1 = x n x1 = x 0 x 2 = x1 x3 = x 2

( x n ) ( x n )

x = 0,9132 e x = 1,0789 so as

( x0 ) 3 (2) 4 2 3 = 2 = 1,54736 ( x 0 ) 12(2) 3 1 ( x1 ) = 1,25626 ( x1 ) ( x 2 ) = 1,11516 ( x 2 )

razes reais para o polinmio em questo. Usando apenas 4 casas decimais. CRITRIO DE PARADA Utilizando intervalos pequenos a srie converge rapidamente. Sendo assim, o critrio de parada utilizado :

x n +1 x n rro
Evitando assim, iteraes desnecessrias.

( x3 ) = 1,08483 x 4 = x3 ( x3 ) x5 = 1,07990 x6 = 1,07989 x7 = 1,07989

EXERCCIOS RESOLVIDOS PELO PROGRAMA Exemplo 1

( x ) = 3 x 4 x 3
C:\Fortran>newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 3 0 0 -1 -3 Digite "a" e "b" p/ verificar se ha raizes no intervalo 1 2 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 5 ********************************************* A raiz eh 1.07989607 **Em 6 Iteracoes O erro associado ao resultado = 4.50401236E-006 ********************************************* C:\Fortran>Newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 3 0 0 -1 -3 Digite "a" e "b" [sendo a < b] para o intervalo -1 0 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 5 ********************************************* A raiz eh -0.913245472 **Em 4 Iteracoes O erro associado ao resultado = 2.94342127E-008 ********************************************* Exemplo 2

(x ) = x 2 5 x + 4
C:\Fortran>newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 0 0 1 5 4 Digite "a" e "b" p/ verificar se ha raizes no intervalo 0.5 1.5 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 4 ********************************************* A raiz eh 1. **Em 4 Iteracoes O erro associado ao resultado = 5.20399577E-007 ********************************************* C:\Fortran>newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 0 0 0 1 5 4 Digite "a" e "b" p/ verificar se ha raizes no intervalo 3 5 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 4 ********************************************* A raiz eh 4. **Em 4 Iteracoes O erro associado ao resultado = 4.57763672E-005 *********************************************

Exemplo 3

(x ) = x 4 5 x 3 + 6 x 2 + 4 x 8
C:\Fortran>newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 1 -5 6 4 -8 Digite "a" e "b" p/ verificar se ha raizes no intervalo 1 3 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 5 ********************************************* A raiz eh 2.00001452 **Em 28 Iteracoes O erro associado ao resultado = 5.4477884E-006 ********************************************* C:\Fortran>newton Insira os coeficientes do polinomio [a4 a3 a2 a1 a0] 1 -5 6 4 -8 Digite "a" e "b" [sendo a < b] para o intervalo -2 -0.5 Existe Raizes no Intervalo Erro a partir de qual casa decimal? 5 ********************************************* A raiz eh -1. **Em 6 Iteracoes O erro associado ao resultado = 1.89127944E-008 *********************************************

Você também pode gostar