Você está na página 1de 12

Estudo de Mtodos Numricos

Iterativos para Determinao de


Razes de Funes No-Lineares
1. Introduo:
A determinao de solues para equaes no-lineares
um problema corriqueiro em muitas reas da matemtica.
Porm, nem sempre algo intuitivo encontrar precisamente as
razes que resultem em f(x) = 0. A partir desta dificuldade, os
mtodos iterativos possibilitam encontrar estas razes por meio
de aproximaes numricas. O presente trabalho tem como
objetivo exemplificar a aplicao e comparar os resultados
obtidos com 3 desses mtodos: o da Bisseo, o de Newton e o
mtodo das Secantes.
Mtodos iterativos diferem entre si pela quantidade de
iteraes necessrias para chegar em um resultado dentro de
uma margem esperada. Isto porque, quando se trata de
memria computacional, a quantidade de operaes realizadas
determinante para a eficincia de um programa ou mquina.
Assim, aplicando os 3 mtodos para uma mesma funo, ser
possvel comparar as velocidades de cada um, isto , analisar a
ordem de convergncia de cada um desses mtodos.
Antes de partir para a anlise dos mtodos, utilizamos o
software Wolfram Alpha e determinamos as razes exatas da
funo. Em seguida, recorremos ajuda de um software de
programao em C para comparar os resultados obtidos pelas
aproximaes numricas.

2. Mtodos / Procedimentos:
Toda a aplicao de mtodos numricos foi feita baseada
na funo:

f(x) = 42x4 - 23x3 +163x2 92x 20

Em primeiro lugar, verificamos a existncia de razes nos


intervalos [-1,0] e [0,1]. Para isso, foi necessrio utilizar o fato
que se em um intervalo fechado [a,b], o valor de f(x) em um
extremo possuir sinal oposto ao do outro extremo, certamente
haver uma raiz neste intervalo. Isto porque se uma funo
contnua e o valor de f(x) passa de negativo para positivo ou
vice-versa, em algum momento este valor passou pelo 0 (raiz).
Assim, para verificar a existncia de raiz em um intervalo
[a,b], basta calcular o valor de f(a) e de f(b) e analisar seus
sinais. Na funo em questo, por se tratar de um polinmio,
certamente contnua, e tambm fcil perceber que, no
intervalo [-1,0]:

f(-1) = 300
f(0) = -20
Os extremos possuem sinais contrrios

E no intervalo [0,1]:
f(0) = -20
f (1) = 70
Os extremos possuem sinais contrrios

Como em ambos os casos f(a).f(b) < 0, certo que haver


pelo menos 1 raiz real em cada um dos intervalos em questo:
[-1,0] e [0,1].
Em seguida, recorremos ao auxlio do software
matemtico Wolfram Alpha, para que pudssemos
compreender melhor o comportamento da funo bem como
encontrar suas razes reais exatas.

f(x) = 42x4 - 23x3 +163x2 92x 20

imagem 1: grfico de f(x) com suas razes indicadas


Assim, encontramos as razes exatas da funo em
estudo, como esto representadas na imagem 1 acima:
x1 = -1/6 ( -0,166666666667) e x2 = 5/7 (
0,714285714286).
Estes valores so condizentes com a anlise terica da
funo, j que atravs desta pudemos verificar a existncia de
razes no intervalo [-1,0]: -1/6 e no intervalo [0,1]: 5/7.
Para realizar a comparao de resultados, comeamos
nosso estudo pelo mtodo da Bisseo. Este mtodo consiste
em partir de um intervalo [a,b] que certamente contm uma
raiz, isto , f(a).f(b) < 0, e ento dividir este intervalo em 2: [a,
(a+b)/2] e [(a+b)/2,b]. Depois analisado em qual dos dois
intervalos se encontra a raiz, excluindo ento o outro. O
processo se repete a cada iterao at chegar em um valor
aproximado suficientemente prximo da raiz exata que se
encontra no intervalo [a,b] inicial. A condio deste mtodo
comear em um intervalo que certamente contm uma raiz, o
que no nosso caso j foi garantido na explicao acima.
O prximo mtodo analisado foi o de Newton, que
consiste em procurar a raiz partindo de um valor prximo e
aplicar o algoritmo:
xk+1 = xk - f(xk)/f(xk)

Porm, para que este mtodo possa ser aplicado,


necessrio que sua convergncia seja garantida. Para tanto,
f(x), f(x) e f(x) devem ser contnuas, o que no nosso caso so,
j que so polinmios:
f(x) = 168x3 -69x2 +326x - 92
f(x) = 504x2 - 138x +326
Alm disso, para que o mtodo possa ser aplicado
necessrio que
f(x) 0 nas proximidades da raiz procurada. Assim calculamos
o limite da funo nas vizinhanas dos x escolhidos para
garantir:
lim f(x) = 333 0
x 1

lim f(x)= -655 0


x 1
Para garantir a convergncia necessrio que |f(x)| < 1
Em seguida, aplicamos o mtodo das Secantes, que
uma particularidade do mtodo de Newton e apresenta
portanto as mesmas condies de convergncia. Este mtodo
consiste em partir de 2 pontos suficientemente prximos da
raiz procurada e aplicar o algoritmo:
xk+1 = [xk.f(xk-1) - xk-1.f(xk)]/[f(xk) - f(xk-1)]

3. Resultados:

Nesta seo do trabalho vamos descrever como foram


implementados os algoritmos dos mtodos citados.

3.1 Mtodo da bisseo

Foram definidas no incio do programa principal as


seguintes entradas: o nmero mximo de iteraes (1000), a
preciso (0,000001), os intervalos [-1,0] e [0, 1] e a raiz exata
calculada pelo Wolfram Alpha que ser usada posteriormente
para calcular o erro relativo.
Em seguida, verifica se os valores dos extremos (a,b) so
razes; se sim retorna a ou b como raiz; se no continua
verificando o intervalo de convergncia (f(a)*f(b)<0).
Cria um documento de sada em branco no formato .dat e
imprime nesse documento o cabealho da tabela.
Entra em um lao em que as condies de parada so:
ocorrncia de convergncia e numero mximo de iteraes.
Nesse lao, em cada iterao calculado xk, f(xk), erro, imprimi
os resultados na tabela no documento de sada e recalcula os
novos extremos do intervalo.
Aps encontrar a raiz negativa com a preciso necessria,
o programa repete os passos para encontrar a raiz positiva.
Segue a tabela gerada pelo programa com os valores para
o intervalo [-1,0].
imagem 2: sada para a raiz negativa do mtodo da Bisseco

A sada do programa mostra a aproximao para raiz -


0,16666698 com 19 iteraes.

Tabela com os valores para o intervalo [0, 1].

imagem 3: sada para a raiz positiva do mtodo da Bisseco


No intervalo positivo, a raiz encontrada 0,71428585 com
19 iteraes.
3.2 Mtodo de Newton

Foram definidas no incio do programa principal as


seguintes entradas: o nmero mximo de iteraes (1000), a
preciso (0,000001), x0 = -1 e a raiz exata calculada pelo
software Wolfram Alpha que ser usada posteriormente para
calcular o erro relativo.
Cria um documento de sada em branco no formato .dat e
imprime nesse documento o cabealho da tabela. Em seguida,
verifica se o valor de x 0 raiz; se sim retorna x 0 como raiz; se
no continua o algoritmo.
f ( xk )
x k+1=x k ' ;
f ( xk )
f ( x k +1) ;
erro=x k+1x k ;

Aps isso entra em um lao em que as condies de


parada so: ocorrncia de convergncia e numero mximo de
iteraes.
Nesse lao, em cada iterao calculado x k, f(xk),f(xk),
erro, imprimi os resultados na tabela no documento de sada e
verifica a convergncia para ver se j suficiente ou
necessrio mais iteraes.
Aps encontrar a raiz negativa com a preciso necessria,
o programa repete os passos para encontrar a raiz positiva.
Segue a tabela gerada pelo programa com os valores para
o intervalo [-1,0].
imagem 4: sada para a raiz negativa do mtodo de Newton

Na sada deste mtodo encontramos a raiz 0,16666667


com 6 iteraes.

imagem 5: sada para a raiz positiva do mtodo de Newton


Tabela com os valores para o intervalo [0, 1].
Na parte positiva, encontramos a raiz 0,71428571 com 5
iteraes.

3.3 Mtodo da secante

Foram definidas no incio do programa principal as


seguintes entradas: o nmero mximo de iteraes (1000), a
preciso (0,000001), x0 = -1, x1 = 0(para o intervalo negativo e
x0 = 0 , x1 = 1 para o intervalo positivo) e a raiz exata calculada
pelo Wolfram Alpha que ser usada posteriormente para
calcular o erro relativo.
Em seguida, verifica se os valores dos extremos x 0 ou x1
so razes; se sim retorna x0 ou x1 como raiz; se no continua o
algoritmo.
Cria um documento de sada em branco no formato .dat e
imprime nesse documento o cabealho da tabela.
Entra em um lao em que as condies de parada so:
ocorrncia de convergncia e numero mximo de iteraes.
Nesse lao, em cada iterao calculado xk, f(xk), erro, imprimi
os resultados na tabela no documento de sada e recalcula os
novos valores de x0 e x1.
Aps encontrar a raiz negativa com a preciso necessria,
o programa repete os passos para encontrar a raiz positiva.
Segue a tabela gerada pelo programa com os valores para
o intervalo [-1,0]
No mtodo das secantes encontramos a raiz 0,16666667
com 7 iteraes.

imagem 6: sada para a raiz negativa do mtodo das Secantes

Tabela com os valores para o intervalo [0, 1].

imagem 7: sada para a raiz positiva do mtodo das Secantes

Na parte positiva encontramos a raiz 0,71428571 com 12


iteraes.
4. Concluses:

Aps aplicarmos os mtodos iterativos para resoluo de


equaes no-lineares, pudemos compreender melhor seu
funcionamento. Alm disso, foi possvel comparar a eficincia
de cada mtodo e as dificuldades de implementao de cada
um. O mtodo da Bisseo necessitou, em ambos o casos, de
19 iteraes para chegar na raiz com a preciso desejada. J o
mtodo de Newton foi o mais eficiente, que foi capaz de chegar
s razes com apenas 5 a 6 iteraes. J o das Secantes,
necessitou de 7 e 12 iteraes em cada intervalo considerado.
Assim, alm de verificarmos na prtica o que vimos na
teoria nos livros e na sala de aula, tivemos a possibilidade de
aprender um pouco mais sobre a lgica de programao
matemtica em linguagem C. Os resultados obtidos foram ao
encontro do que a teoria diz, afinal o mtodo de Newton o
que possui maior ordem de convergncia, p = 2, porm
apresenta a dificuldade de ter que calcular a derivada da
funo a cada iterao. J o das Secantes, se aproxima, mas
no chega a ser to rpido quando ele, tendo uma ordem de
aproximadamente p = 1,6. Ele tem como vantagem no ter que
trabalhar com derivadas da funo, porm um pouco mais
lento e tambm necessita partir de 2 pontos iniciais
conhecidos, o que nem sempre to simples. O da Bisseo,
por outro lado, possui um algoritmo de mais fcil
implementao, porm necessita de um nmero muito maior
de iteraes para chegar na raiz. Sua vantagem que a nica
condio para aplicar o mtodo escolher um um intervalo que
possui certamente pelo menos uma raiz.
5. Referncias:
[1] FRANCO, Neide Bertoldi. Clculo Numrico. So Paulo.
Pearson - Prentice Hall, 2007. 505p, 9 edio.
[2] AE-TIDIA, 4.0 (http://ae4.tidia-
ae.usp.br/access/content/group/da9d7235-c267-4125-b360-
b0eba3509f55/Aulas/Turma%204/sme0300_t4_aula04.pdf) .
Acesso em 18/09/2016.
[3] AE-TIDIA, 4.0 (http://ae4.tidia-
ae.usp.br/access/content/group/da9d7235-c267-4125-b360-
b0eba3509f55/Aulas/Turma%204/sme0300_t4_aula05.pdf) .
Acesso em 18/09/2016.
[4] AE-TIDIA, 4.0 (http://ae4.tidia-
ae.usp.br/access/content/group/da9d7235-c267-4125-b360-
b0eba3509f55/Aulas/Turma%204/sme0300_t4_aula06.pdf) .
Acesso em 19/09/2016.
V. WOLFRAMALPHA (https://www.wolframalpha.com/input/?
i=42x%5E4+-+23x%5E3+%2B163x%5E2+%E2%80%93+92x+
%E2%80%93+20+%3D+0). Acesso em 16/09/2016.