Sei sulla pagina 1di 10

IFSP - Campûs São Paulo

Instituto Federal de São Paulo


Curso de Licenciatura em Matemática

Plano de Aula
Dados de Identicação
Professores: Eduardo Palhares Júnior
Disciplina: Cálculo Numérico
Tema: Método de Newton-Raphson
Turma: 6º Semestre
Duração da aula: 2 horas/aula

1 Objetivos

1.1 Geral
Estudar aspectos conceituais e técnicos relacionados ao método de Newton-Raphson.

1.2 Especícos
ˆ Apresentar a motivação geométrica do método;

ˆ Construir a denição formal e discutir as condições de aplicação;

ˆ Estudar aspectos ligados à convergência.

2 Conteúdos

ˆ Denição;

ˆ Convergência;

ˆ Aplicações.

3 Procedimentos metodológicos

ˆ Resolução de exemplos por parte dos discentes com mediação do professor;

ˆ Discussão sobre o tema da aula (motivação);

ˆ Exposição dos conceitos principais com a participação dos alunos;

ˆ Utilização de recursos tecnológicos como softwares de simulação, planilhas e grácos.


4 Recursos didáticos

ˆ Quadro;

ˆ Giz;

ˆ Computador;

ˆ Data show;

5 Avaliação

A avalição será de caráter formativa e comparativa, conforme tópicos abaixo:

ˆ Participação efetiva dos discentes nas discussão propostas em sala de aula;

ˆ Realização da atividade no CALC (LibreOce), conforme Anexo I;

Referências

[1] RUGGIERO, Márcia A. Gomes ; LOPES, Vera Lúcia da Rocha Cálculo numérico:
aspectos teóricos e computacionais. 2.ed. Makron Books do Brasil, 1997.
[2] CUNHA, M. Cristina C. Métodos Numéricos. Editora da UNICAMP, 2003.
[3] FRANCO, N. B. Cálculo Numérico. Pearson, 2006.
A Anexo - Atividade

A.1 Exercício
A função f (x) = x2 − x − 2 possui duas raizes no intervalo [−2, 4]. Utilize o método de
Newton-Raphson e determine cada uma das raizes com uma precisão de 10−6 .

Dicas
1. Divida o intervalo;
2. Calcule a função geradora;
3. Calcule manualmente alguns passos;
4. Utilize uma ferramenta computacional para vericar seus resultados.
B Anexo - Plano de Atividade

B.1 Denição
B.1.1 Motivação geométrica
O método de Newton-Raphson busca utlizar a idéia de linearização em torno de um ponto de
forma iterativa, para aproximar a solução de problemas, à priori, não-lineares. Ele foi publicado
por Isaac Newton em 1687, mas foi sistematizado por Joseph Raphson em 1690.
O processo de linearização consiste em tentar substituir, dentro de uma certa região, um
problema complicado por sua aproximação linear, de modo que possa ser facilmente resolvido.
Para realizar essa linearização em torno de uma região, podemos utilizar como exemplo, a série
de Taylor de 1ª ordem.
Quando aplicamos o processo de linearização, obtemos em geral uma solução aproximada
para o problema. Mas se o método é aplicado novamente nessa solução encontrada, a nova
solução se torna melhor. Dessa forma, a idéia por traz do método é repetir o método até
encontrar uma solução cuja aproximação esteja dentro de um intervalo de convergência desejado.
O método de Newton-Raphson utiliza uma aproximação da função y = f (x) baseada na
substituição pela reta tangente em torno do ponto (x0 , f (x0 )), como pode ser observado na
gura B.1.1. Encontrando o ponto de intersecção da reta tangente com o eixo x, obtemos uma
primeira aproximação para a raiz x1 .

Repetindo o método, agora em torno do ponto encontrado (x1 , f (x1 )), encontraremos um
novo ponto x2 que se aproxima ainda mais da solução desejada. Expressando em termos
algébricos, temos:
f (x0 ) f (x0 )
tan α = = f 0 (x0 ) ⇒ x1 = x0 − 0 (1)
x 0 − x1 f (x0 )
De forma generica, podemos utilizar a expressão 1 para expressar a fórmula iterativa do
método:
f (xk )
xk+1 = xk − (2)
f 0 (xk )
B.1.2 Denição formal
Função geradora Considere a expressão mais geral para a função φ(x) e as condições do
teorema do ponto xo.

φN (x) = x + A(x)f (x) (3)


onde A(x) é contínua e sua derivada é contínua. Dessa forma, garantimos que tanto φN (x)
quanto φ0N (x) sejam contínuas.
Derivando a expressão 3, temos:

φ0N (x) = 1 + A0 (x)f (x) + A(x)f 0 (x) (4)


Escolhendo φ0N (α) = 0, grantimos que ∃x ∈ [a, b] tal que max |φ0 (x)| < 1. Dessa forma, a
convergência está garantida, visto que satifaz as condições do teorema. Substituindo φ0N (α) = 0,
temos:

0
z}|{
1 + A (α) f (α) +A(α)f 0 (α) = 0
0

A(α)f 0 (α) = −1

1
A(α) = − (5)
f 0 (α)
Assumindo que a estrutura algébrica se preserva no intervalo [a, b], podemos extender 5
∀x ∈ [a, b]. Finalmente, substituindo em 3, temos:

f (x)
φN (x) = x − (6)
f 0 (x)

Observações
ˆ A derivada da função f deve ser diferente de zero em todo intervalo [a, b] que contém a
raiz isolada (∀x ∈ [a, b], f 0 (x) =
6 0);
ˆ Quando temos raizes múltiplas, o método de Newton ainda pode ser aplicado, mas sua
convergência ca mais lenta.

B.2 Convergência
Seja f (x) uma função e sua derivada diferente de zero, denimos uma função φ(x) como:
f (x)
φ(x) = x −
f 0 (x)
Consideramos x∗ uma aproximação da solução x de f (x) = 0 tal que f 0 (x∗ ) 6= 0 e |x − x∗|
seja "pequeno". Expandimos φ(x) por Série de Taylor em torno de x∗ e obtemos:

(x − x∗ )2 00 ∗
φ(x) = φ (x∗ ) + (x − x∗ ) φ0 (x∗ ) + φ (x ) + O (x − x∗ )3

2
Para a dedução do método de Newton, vamos supor que |x − x∗ | é pequeno, logo, o termo
(x − x∗ )2 será muito menor. Com isso, dizemos que:

φ(x) ≈ φ (x∗ ) + (x − x∗ ) φ0 (x∗ ) (7)


Pelo processo iterativo do método do ponto xo, sabemos que:

f (x∗ )
φ (x∗ ) =x∗ − = x∗ (8)
f 0 (x∗ )
f 0 (x∗ ) f 0 (x∗ ) − f (x∗ ) f 00 (x∗ )
0 ∗
φ (x ) =1 − =0 (9)
(f 0 (x))2
[f 0 (x∗ ) f 00 (x∗ ) + f (x∗ ) f 000 (x∗ )] [f 0 (x∗ )]2 − 2f (x∗ ) f 00 (x∗ ) f 0 (x∗ ) f 00 (x∗ )
φ00 (x∗ ) = = (10)
(f 0 (x))4 f 0 (x∗ )
Substituindo 8, 9 e 10 em 7, temos:

φ00 (x∗ )
φ (x∗ ) = x∗ + (x − x∗ )2 + O (x − x∗ )3

2

φ00 (x∗ )
φ (x∗ ) ≈ x∗ + (x − x∗ )2 (11)
2
Mas zn+1 = φ (xn ), ou seja, substituindo 11, temos:

φ00 (x∗ )2
(x − x∗ ) ≈ (x − x∗ )2 (12)
2
Finalmente, lembrando que (x − x∗ ) é o erro absoluto, temos:

φ00 (x∗ )2
εn+1 ≈ ε2n
00 2 ∗
1 f (x )
≈ 0 ∗ ε2n
2 f (x )
Com isso, observamos que o erro n é de ordem quadrática e, por isso, a iteração convergirá
rapidamente para a raiz da função.
Devemos ter em mente que, mesmo se a condição estabelecida na introdução for satisfeita,
o método de Newton poderá não convergir para a raiz.

B.3 Aplicações
A função f (x) = x2 − x − 2 possui duas raizes no intervalo [−2, 4]. Utilize o método de
Newton-Raphson e determine cada uma das raizes.
B.3.1 Isolando as raizes

f (−2) = 4
f (0) = −2
f (4) = 10

portanto [−2, 0] contém uma raiz negativa e [0, 4] contém uma raiz positiva.

B.3.2 Função geradora

x2 − x − 2
φN (x) = x −
2x − 1

B.3.3 Calculando as raizes - planilha Calc


Para implementar o método de Newton-Raphson em uma planilha eletrônica, utilizaremos
a seguinte estrutura:

Tabela 1: Código em Calc


xk f (xk ) f 0 (xk ) xk+1
-2,00000 B32 − B3 − 2 2B3 − 1 B3 − C3/D3
E3 B42 − B4 − 2 2B4 − 1 B4 − C4/D4
E4 B52 − B5 − 2 2B5 − 1 B5 − C5/D5
E5 B62 − B6 − 2 2B6 − 1 B6 − C6/D6
E6 B72 − B7 − 2 2B7 − 1 B7 − C7/D7
E7 B82 − B8 − 2 2B8 − 1 B8 − C8/D8

onde a célula B3 é justamente onde colocamos o nosso chute inicial (−2.00000). Separado o
calculo de f (xk ) e f 0 (xk ) para observar como cada um evoluí no tempo.

Tabela 2: Chute inicial em -2 Tabela 3: Chute inicial em 0


xk f (xk ) f 0 (xk ) xk+1 xk f (xk ) f 0 (xk ) xk+1
-2,00000 4,00000 -5,00000 -1,20000 0,00000 -2,00000 -1,00000 -2,00000
-1,20000 0,64000 -3,40000 -1,01176 -2,00000 4,00000 -5,00000 -1,20000
-1,01176 0,03543 -3,02353 -1,00005 -1,20000 0,64000 -3,40000 -1,01176
-1,00005 0,00014 -3,00009 -1,00000 -1,01176 0,03543 -3,02353 -1,00005
-1,00000 0,00000 -3,00000 -1,00000 -1,00005 0,00014 -3,00009 -1,00000
-1,00000 0,00000 -3,00000 -1,00000 -1,00000 0,00000 -3,00000 -1,00000
Tabela 4: Chute inicial em 1 Tabela 5: Chute inicial em 4
0
xk f (xk ) f (xk ) xk+1 xk f (xk ) f 0 (xk ) xk+1
1,00000 -2,00000 1,00000 3,00000 4,00000 10,00000 7,00000 2,57143
3,00000 4,00000 5,00000 2,20000 2,57143 2,04082 4,14286 2,07882
2,20000 0,64000 3,40000 2,01176 2,07882 0,24267 3,15764 2,00197
2,01176 0,03543 3,02353 2,00005 2,00197 0,00591 3,00393 2,00000
2,00005 0,00014 3,00009 2,00000 2,00000 0,00000 3,00000 2,00000
2,00000 0,00000 3,00000 2,00000 2,00000 0,00000 3,00000 2,00000

Tabela 6: Chute inicial em 0,5


xk f (xk ) f 0 (xk ) xk+1
0,50000 -2,25000 0,00000 #DIV/0!
#DIV/0! #DIV/0! #DIV/0! #DIV/0!
#DIV/0! #DIV/0! #DIV/0! #DIV/0!
#DIV/0! #DIV/0! #DIV/0! #DIV/0!

Podemos notar que para x = 0, 5 o método falha, justamente porque esse é um ponto crítico,
ou seja, f 0 (x) = 0. Vamos então, investigar a região em torno desse ponto crítico.

Tabela 7: Chute inicial em 0,499


xk f (xk ) f 0 (xk ) xk+1
0,49900 -2,25000 -0,00200 -1124,50050
-1124,50050 1265623,87500 -2250,00100 -562,00125
-562,00125 316405,40625 -1125,00250 -280,75262
-280,75262 79100,78907 -562,50525 -140,13031
-140,13031 19774,63478 -281,26062 -69,82316
-69,82316 4943,09626 -140,64631 -34,67758
-34,67758 1235,21182 -70,35515 -17,12077
-17,12077 308,24148 -35,24154 -8,37423
-8,37423 76,50195 -17,74846 -4,06389
-4,06389 18,57906 -9,12777 -2,02844
-2,02844 4,14303 -5,05689 -1,20916
-1,20916 0,67123 -3,41832 -1,01280
-1,01280 0,03856 -3,02560 -1,00005
-1,00005 0,00016 -3,00011 -1,00000
-1,00000 0,00000 -3,00000 -1,00000
Tabela 8: Chute inicial em 0,501
xk f (xk ) f 0 (xk ) xk+1
0,50100 -2,25000 0,00200 1125,50050
1125,50050 1265623,87500 2250,00100 563,00125
563,00125 316405,40625 1125,00250 281,75262
281,75262 79100,78907 562,50525 141,13031
141,13031 19774,63478 281,26062 70,82316
70,82316 4943,09626 140,64631 35,67758
35,67758 1235,21182 70,35515 18,12077
18,12077 308,24148 35,24154 9,37423
9,37423 76,50195 17,74846 5,06389
5,06389 18,57906 9,12777 3,02844
3,02844 4,14303 5,05689 2,20916
2,20916 0,67123 3,41832 2,01280
2,01280 0,03856 3,02560 2,00005
2,00005 0,00016 3,00011 2,00000
2,00000 0,00000 3,00000 2,00000

Podemos notar que na região em torno do ponto crítico x = 0, 5, o método converge, porém
necessita realizar mais passos iterados. Quanto maior for a precisão exigida, ou seja, maior
número de casas decimais que aproximam do ponto crítico, maior esforço computacional será
necessário e o método necessitará de mais iteradas para convergir.

B.3.4 Calculando as raizes - Octave


Utilizando o código proposto a seguir, obtemos o seuginte resultado.
chute inicial


 x0 = 4.00000
número de iterações

 i=6

 ε = 1 × 10−6 erro
raiz

xf = 2.00000

Figura 1: Passos de iteração para x0 = 4.00000

Podemos notar que a solução é igual a encontrada utilizando a planilha eletrônica CALC.
Método de Newton-Raphson - Código Octave Uma das vantagens de utilizar um código
via script é que podemos utiliza-lo como uma função, ou seja, transforma-lo em uma biblioteca
e utilizarmos como uma ferramenta dentro de outros processos/projetos. Além disso, com
acesso integral ao código, temos liberdade para acessar certos parâmetros e otimiza-lo para
nossa necessidade.

clc
clear all
close all

x0 = 4.0; % chute inicial


erro = 10^-6; % tolerancia para convergencia
syms x % define a variavel simbolica x
funcao = x^2-x-2; % funcao escolhida
derivada = diff(sym(funcao)); % derivada da funcao

f = subs(funcao,x0); % constroi a funcao em torno de x0


df = subs(derivada,x0); % constroi a derivada em torno de x0

v(1,:)= [x0 f df (x0 - f/df)]; % passo inicial


i = 1; % numero de iteracoes

while abs(f)>erro % repete ate convergir dentro da tolerancia


a = x0 - f/df; % aplica o metodo de Newton-Raphson
f = subs(funcao,a); % constroi a funcao em torno de a
df = subs(derivada,a); % constroi a derivada em torno de a
i = i+1; % calculo o numero de iteracoes
v(i,:)= [x0 f df a]; % armazena os passos intermediarios
x0 = a; % calcula o novo ponto de aproximacao
end

i = double(i) % mostra o numero de interacoes


erro= double(erro) % mostra o erro
a = double(a) % mostra o ponto de convergencia
v = double(v) % mostra os passos intermediarios

Potrebbero piacerti anche