Você está na página 1de 10

IFBA campus Salvador 1

Clculo Numrico

4. Solucionando Equaes No-Lineares: Razes


4.1 Mtodos iterativos continuao
4.1.1 Mtodos domnios abertos continuao item 3.2.2
(b) Mtodo de Newton
O mtodo de Newton, tambm conhecido como Newton-Raphson, um esquema para
determinar a soluo numrica de uma equao f(x)=0, em que a funo seja contnua e
diferencivel.
O processo se inicia com um ponto inicial x1 sendo uma suposio, a segunda estimativa x2
obtida na tangente da funo f(x), no ponto (x1, f(x1)) que cruza o eixo x. A terceira estimativa
obtida quando a tangente da funo f(x) no ponto (x2,f(x2)) cruza o eixo x.

Fonte: Gilat, [1].

O mtodo de Newton pode ser obtido da srie de Taylor:

Se x2 uma soluo da equao f(x)=0 e x1 um ponto prximo de x2 tem-se:

Ao considerar os dois primeiros termos srie x2 dado por:

O valor da soluo para a prxima iterao pode ser dada pela equao geral do processo:

O mtodo converge quando o erro relativo for menor do que a tolerncia predeterminada.

Prof. Alessandra Picano

IFBA campus Salvador 2


Clculo Numrico

O algoritmo de Newton-Raphson segue os seguintes passos:


(1) Estimativa inicial e do erro: as estimativas iniciais so essenciais para garantir a
convergncia do mtodo;
(2) Primeira iterao;
(3) Clculo do valor de x;
(4) Se o erro entre o novo valor de x e o valor anterior de x for menor que a tolerncia:
a. Sim Ento termina;
b. No Prxima iterao e retorna ao passo (3);
O mtodo apresenta como vantagem uma convergncia quadrtica, ou seja, rpida. Porm, a
convergncia s ocorre se a estimativa inicial estiver prxima da soluo.
Exemplo 1: Determine a raiz de f(x) = x10 1 usando o mtodo de Newton-Raphson com
estimativa inicial de x = 0,5.

No MATLAB: http://www.mathworks.com/products/matlab/
clear
clc
iter=100;
tol=0.01;
x(1)=0.5;
for i=1:iter
y(i)=x(i)^10-1;
yd(i)=10*x(i)^9;
x(i+1)=x(i)-(y(i)/yd(i));
erro(i)=abs((x(i+1)-x(i))/x(i+1));
if erro (i) <= tol
disp('a raiz ')
disp(x(i+1))
break
end
end
figure

Prof. Alessandra Picano

IFBA campus Salvador 3


Clculo Numrico
subplot(2,1,1)
plot(erro)
xlabel('iteraes')
ylabel('erro')
subplot(2,1,2)
plot(x)
xlabel('iteraes')
ylabel('x')

erro

0.5

10

15

20
25
iteraes

30

35

40

45

10

15

20
25
iteraes

30

35

40

45

60

40

20

No SCILAB: http://www.scilab.org/

Exemplo 2: Determinar a raiz da funo f(x) = x3 9x + 3 usando o mtodo de Newton-Raphson


com estimativa inicial de x = 1,5.

Prof. Alessandra Picano

IFBA campus Salvador 4


Clculo Numrico

erro

1.5
1
0.5
0

6
iteraes

10

11

20

10

-10

6
iteraes

10

12

O valor de x 2,8169 na 11 iterao.


Observaes:
O mtodo, quando funciona com sucesso, trabalha bem e converge rpido;

Prof. Alessandra Picano

IFBA campus Salvador 5


Clculo Numrico
A divergncia muitas vezes se deve ao fato da escolha inadequada da estimativa
inicial;
O mtodo de Newton converge se:
o a funo f(x) e suas primeiras e segundas derivadas so contnuas;
o f'(x) no zero na soluo;
o a estimativa inicial prxima da soluo atual.

Fonte: Gilat, [1].


Exemplo 3: Determinar a soluo da equao 2 = 0 pelo mtodo de Newton para os
seguintes pontos iniciais: (a) x=1,4; (b) x=1; (c) x=0,4.

syms x
F(x)=(1/x)-2
D(x)=diff(F(x))
x(1)=1.4

Prof. Alessandra Picano

IFBA campus Salvador 6


Clculo Numrico

for k=2:20
x(k)=x(k-1)-(F(x(k-1))/D(x(k-1)))
Erro(k)=abs((x(k)-x(k-1))/x(k))
end

260

x 10

-1.2
-1.4

-1.6

-2

-1.8
-4

f(x)

-2
-6

-2.2
-8

-2.4
-10

-2.6
-12

-2.8
-14

10
Iteraes

12

14

16

18

20

-3
-60

-50

-40

-30

-20

-10

10

Considerando 4 iteraes

Diverge.
Para x=0,4
Converge.
0.5

0.55

0.45
0.4
0.35

0.5

f(x)

0.3
0.25
0.2

0.45

0.15
0.1
0.4

0.05
1

1.5

2.5
Iteraes

3.5

0
0.4

0.41

0.42

0.43

0.44

0.45
x

0.46

0.47

0.48

0.49

0.5

(c) Mtodo da Secante


O mtodo da secante um mtodo numrico para determinar a raiz da funo f(x) = 0. Este
mtodo aplicado quando a funo apresenta uma derivada difcil de avaliar. Por isso, o
mtodo aproxima a funo da derivada por uma funo de diferena dividida:

Prof. Alessandra Picano

IFBA campus Salvador 7


Clculo Numrico
O mtodo usa dois pontos prximos da soluo para realizar a estimativa do novo valor.
Apesar do procedimento ser parecido com os mtodos de domnio fechado, este mtodo de
domnio aberto por no utilizar a tcnica de mudanas de sinais para isolar as razes.
Desse modo, o mtodo da secante calcula a soluo da raiz por

Fonte: Gilat, [1].


Exemplo 4: Determinar a raiz da funo f(x) = x3 9x + 3 usando o mtodo da Secante com
estimativas iniciais de 0 e 1.

Prof. Alessandra Picano

IFBA campus Salvador 8


Clculo Numrico
function [e,x]=secante_ex4(a,b,tol,iter)
x(1)=a;
x(2)=b;
y(1)=x(1)^3-9*x(1)+3;
y(2)=x(2)^3-9*x(2)+3;
for i=3:iter
x(i)=x(i-1)-(y(i-1)*(x(i-2)-x(i-1)))/(y(i-2)-y(i-1));
e(i)= abs((x(i)-x(i-1))/x(i));
y(i)=x(i)^3-9*x(i)+3;
if e(i)<tol
break
end
end

1.8

0.9

1.6
0.8

1.4
0.7

1.2

1
0.5

Erro

Valor de x

0.6

0.8

0.4

0.3

0.6

0.2

0.4

0.1

0.2

4
Iteraes

4
Iteraes

O valor de x 0,3376.
Observaes Gerais:
Garantias de convergncia, rapidez de convergncia, esforo computacional;
O nmero de iteraes efetuadas no o nico parmetro para avaliar o tempo
computacional do mtodo;
O tempo de execuo de uma iterao varia com o mtodo.
Esforo computacional: nmero de operaes efetuadas, da complexidade das
operaes, do nmero de decises lgicas, do nmero de avaliaes da funo e
nmero total de iteraes.

Prof. Alessandra Picano

IFBA campus Salvador 9


Clculo Numrico
PYTHON
Python: www.python.org e www.python.org.br
Editor Python: https://www.jetbrains.com/pycharm/download/
NumPy:
um pacote necessrio para clculo numrico http://www.numpy.org/
para instalao: http://www.pythonize.org/blog/tutorial-basico-numpy/
SciPy:
pacote para ferramentas uteis para clculos cientficos e de engenharia
http://sourceforge.net/projects/scipy/files/
para instalao: http://pyscience-brasil.wikidot.com/module:scipy
o Estatsticas, otimizao, integrao numrica, processamento de sinais e
imagens, soluo de equaes diferenciais, polinmios, funes especiais
como de Bessel.
o Utiliza como base o NumPy.
Porm, ao instalar o ANACONDA tem-se os dois pacotes juntos:
https://www.continuum.io/downloads/

LISTA DE EXERCCIOS
CAMPOS, F.F. FILHO, Algoritmos Numricos, Ed. LTC. Captulo 6
(a) 6.1-6.6-6.7-6.8
(b) Resolver os 6.11-6.12-6.13 apenas pelos mtodos da Secante e Regula Falsi
(c) Resolver os 6.21-6.22-6.23 apenas pelo mtodo de Newton

Prof. Alessandra Picano

IFBA campus Salvador 10


Clculo Numrico
CHAPRA, S.C., Applied Numerical Methods with MATLAB for Engineers and Scientists,
McGraw-Hill Captulos 5 e 6.
(a) Captulo 5: 5.7 itens (b) e (c) ;
(b) Captulo 6: 6.2-6.3(b)-6.3(c)-6.12
GILAT, A., SUBRAMANIAM, V., Numerical Methods for Engineers and Scientists: An
Introduction with Applications using MATLAB, John Wiley & Sons, Inc Captulo 3
(a) Resolver os exerccios 3.1 3.5-3.7-3.8-3.13 at a 3 iterao.

Bibliografia:
[1] GILAT, A., SUBRAMANIAM, V., Numerical Methods for Engineers and Scientists: An
Introduction with Applications using MATLAB, John Wiley & Sons, Inc.
[2] CHAPRA, S.C., Applied Numerical Methods with MATLAB for Engineers and Scientists,
McGraw-Hill.
[3] RUGGIERO, M.A.G.;LOPES, V.L.R., Clculo Numrico: aspectos tericos e computacionais,
Ed. Makron Books, 2 Ed., 1996.
[4] CAMPOS, F.F. FILHO, Algoritmos Numricos, Ed. LTC, 2 Ed., 2010.

Prof. Alessandra Picano

Você também pode gostar