Você está na página 1de 148

Unidade 3 Zeros de funes (Razes de Equaes)

3.1 Reviso de conceitos fundamentais Este captulo tratar do problema da determinao de um nmero para o qual uma funo f(x) seja zero, ou seja, ( ) = 0 . Estes valores especiais = so chamados de razes da equao ( ) = 0 ou zeros da funo ( ) = 0, como podem ser vistos na Figura 3.1.

Figura 3.1 Razes da equao ( ) = 0


184

A necessidade de encontrar valores de = que satisfaam equao ( ) = 0 aparece frequentemente em uma ampla variedade de problemas provenientes das Cincias e das Engenharias. Para equaes algbricas de grau at quatro, suas razes podem ser calculadas por meio de uma expresso, tal como 1,2 ( 2 4) = 2 para determinar as duas razes de

( ) = 2 + + = 0. No entanto, para equaes algbricas de grau superior a quatro e para a grande maioria das equaes transcendentes, as razes no podem ser calculadas analiticamente. Nesses casos, tm que ser usados mtodos que encontrem uma soluo aproximada para essas razes. Em geral, o problema s pode ser resolvido por mtodos que aproxima as solues. Embora estes mtodos no forneam razes exatas, elas podem ser calculadas com a exatido que o problema requeira, desde que certas condies sobre f sejam satisfeitas.

185

Para se calcular uma raiz duas etapas devem ser seguidas: a) Isolar a raiz, ou seja, achar um intervalo [a , b], o menor possvel, que contenha uma e somente uma raiz da equao f(x) = 0. b) Refinamento da raiz. A partir de um valor inicial 0 , , - , gerar uma sequncia *0 , 1 , 2 , , , + que convirja para uma raiz exata de ( ) = 0.

Existem alguns mtodos para clculo das razes de equaes polinomiais que no requerem que haja um prvio isolamento de cada raiz. No entanto, a maioria dos mtodos para clculo de razes necessita que a mesma esteja confinada em um dado intervalo sendo nica nesse intervalo. Devido existncia de alguns teoremas da lgebra que fornecem importantes informaes sobre as equaes polinomiais, o isolamento de razes das equaes algbricas e das transcendentes ser visto separadamente.

186

- Equaes algbricas. Seja uma equao algbrica de grau n, 1, escrita na forma de potncias, ( ) = + 1 1 + 2 2 + + 2 2 + 1 + 0 = 0 com os coeficientes sendo reais e 0. Antes de serem abordados mtodos para determinar o nmero e os limites das razes reais de uma equao polinomial, sero vistos modos de avaliar um polinmio e algumas propriedades importantes desse tipo de funo.

- Avaliao de polinmio Para obter o valor de um polinmio () = + 1 1 + 2 2 + + 2 2 + 1 + 0 em um ponto x = a, usualmente, se faz: () = + 1 1 + 2 2 + + 2 2 + 1 + 0 Dessa maneira, para avaliar P(x) de grau n, em x = a, so necessrias n(n+1)/2 multiplicaes e n adies.
187

Exemplo 1 Avaliar ( ) = 3 5 2 4 + 5 3 + 7 2 3 + 1 em x = 2. Soluo (2) = 3 25 2 24 + 5 23 + 7 22 3 2 + 1 = 127 Sendo necessrias 15 multiplicaes e 5 adies. Uma maneira mais eficiente de avaliar um polinmio o mtodo de Horner, que consiste em reescrever o polinmio de forma a evitar potncias. Deste modo, ( ) = + 1 1 + 2 2 + + 2 2 + 1 + 0 ( ) = ( 1 + 1 2 + 2 3 + + 2 + 1 ) + 0 ( ) = (( 1 + 1 2 + 2 3 + + 2 ) + 1 ) + 0 ( ) =
1

( ) = ( ( ( + 1 ) + 2 ) + + 2 ) + 1 ) + 0 O processo de Horner requer apenas n multiplicaes e n adies para avaliar um polinmio de grau n.
188

Exemplo 2 Avaliar ( ) = 3 5 2 4 + 5 3 + 7 2 3 + 1 em x = 2 usando o processo de Horner. Soluo ( ) = (.((3 2) + 5) + 7/ 3) + 1 (2) = (.((3 2 2) 2 + 5) 2 + 7/ 2 3) 2 + 1 = 127

189

O algoritmo de Horner para avaliar um polinmio de grau n no ponto x = a est mostrado abaixo. Os parmetros de entrada so o grau n do polinmio, o vetor c contendo os coeficientes, sendo ( ) = (1) + (2) 1 + + () + ( + 1) e o ponto a onde P(x) deve ser avaliado. O parmetro de sada a ordenada y = P(a). Algoritmo Horner { Objetivo: Avaliar um polinmio de grau n no ponto a } parmetros de entrada n , c , a { grau , coeficientes e ponto a ser avaliado, onde c tal que } { ( ) = (1) + (2) 1 + + () + ( + 1) } parmetros de sada y { ordenada P(a) } { Declarar variveis } {} { Entrada de dados } {}
190

{ Iniciar variveis } Y C(1) { Clculo necessrios } para I 2 at N + 1 faa Y Y * A + C(I) fim para { Sada de dados } {} Fim algoritmo

191

Exemplo 3 Implementar o algoritmo de Horner e avaliar ( ) = 3 5 2 4 + 5 3 + 7 2 3 + 1 em x = 2. Soluo % Os parmetros de entrada n=5 = 3 2 5 7 3 a=2 % produzem o resultado y = 127 1

192

- Propriedades gerais Uma equao algbrica de grau n tem exatamente n razes, reais ou complexas, contando cada raiz de acordo com a sua multiplicidade. Uma raiz multiplicidade m se: ( ) = ( ) = ( ) = = 1 ( ) = 0 e ( ) 0 sendo
() ( ) = | =

de ( ) = + 1 1 + 2 2 + + 2 2 + 1 + 0 = 0 tem

, = 1 , 2 , , .

193

Exemplo 4 Seja ( ) = 4 + 2 3 12 2 + 14 5 ( ) = 4 3 + 6 2 24 + 14 ( ) = 12 2 + 12 24 () = 24 + 12 (1) = 0 , (1) = 0 , (1) = 0 , (1) = 36

Assim, = 1 uma raiz de multiplicidade = 3. Considerando tambm que (5) = 0, o polinmio de grau 4 acima pode ser escrito na forma fatorada ( ) = ( 1)3 ( + 5).

194

Se os coeficientes de uma equao algbrica forem reais, ento suas razes complexas sero complexos conjugados em pares, ou seja, se 1 = + for uma raiz de multiplicidade m, ento 2 = tambm ser uma raiz e com a mesma multiplicidade. Exemplo 5 As razes de ( ) = 2 4 + 13 = 0 so: 4 (4)2 4 1 13 = { 1 2 2 = 2 + 3 = 2 3

Uma equao algbrica de grau mpar com coeficientes reais tem, no mnimo, uma raiz real.

Exemplo 6 As razes da equao ( ) = 3 9 2 + 33 65 so 1 = 5 , 2 = 2 + 3 e 3 = 2 3 . Portanto, esta equao de grau 3 tem uma raiz real.
195

- Relao entre razes e coeficientes Se , = 1 , 2 , , forem as razes de ( ) = 0 , ento o polinmio pode ser escrito na forma fatorada: ( ) = ( 1 )( 2 ) ( ) = 0 Multiplicando os fatores, ( ) = (1 + 2 + + ) 1 + (1 2 + 1 3 + + 1 + 2 3 + + 2 + + 1 ) 2 (1 2 3 + 1 2 4 + + 1 2 + 1 3 4 + + 2 1 ) 3 + (1) (1 2 3 ) = 0

196

Comparando a expresso acima com ( ) = 0 escrita na forma de potncias e aplicando a condio de igualdade das equaes algbricas, tem-se que: 1 (1 + 2 + + ) = , 2 (1 2 + 1 3 + + 1 + 2 3 + + 2 + + 1 ) = , 3 (1 2 3 + 1 2 4 + + 1 2 + 1 3 4 + + 2 1 ) = , (1 2 3 ) = (1) 0

As expresses acima relacionando os coeficientes de uma equao algbrica com as suas razes so conhecidas como relaes de Girard. Essas relaes so vlidas tambm para as razes complexas.

197

- Limites das razes reais Uma equao algbrica na forma () = + 1 1 + 2 2 + + 2 2 + 1 + 0 = 0 pode ter suas razes reais delimitadas usando o Teorema de Lagrange. Teorema de Lagrange Dada a equao () = + 1 1 + 2 2 + + 2 2 + 1 + 0 = 0 se > 0 e (0 1) for o maior ndice de coeficiente escolhido dentre os coeficientes negativos, ento o limite superior das razes positivas de ( ) = 0 pode ser dado por: = 1 +

onde B o valor absoluto do maior coeficiente negativo em mdulo. Desse modo, se for a maior das razes positivas de ( ) = 0 , ento .

198

Exemplo 7 Seja ( ) = 4 + 2 3 13 2 14 + 24 = 0. Os coeficientes negativos so 2 = 13 e 1 = 14 , portanto, = 2 , pois 2 > 1 , = |14| e = 1 +


42

14 4,74 1

O Teorema de Lagrange garante que ( ) = 0 no tem nenhuma raiz maior que 4,74. Se > 0 ( = 0 , 1 , 2 , , ) , ento ( ) = 0 no tem razes positivas, pois

( ) = > 0
=0

para > 0 e > 0.

199

Para determinar os limites superiores e inferiores das razes positivas e negativas, so necessrias trs equaes auxiliares: 1 ( ) = (1 ) = 0 2 ( ) = ( ) = 0 e 3 ( ) = ( 1 ) = 0.

Sendo , = 1 , 2 , , , as razes de ( ) = 0 , ento ( ) na forma fatorada : ( ) = ( 1 )( 2 ) ( ) = 0 Desse modo, 1 ( ) = . 1 / . 2 / . / , 1 ( ) = (1 1 )(1 2 ) (1 ) , cujas razes so , , ,
1 2

200

Similarmente, 2 ( ) = ( 1 ) ( 2 ) ( ) , com razes (1 )(2 ) ( )

3 ( ) = . 1 / . 2 / . / , 3 ( ) = (1 1 )(1 2 ) (1 ) , sendo as razes , , ,


1 2

201

Exemplo 8 Seja ( ) = 4 6 3 5 2 + 42 + 40 = 0 , com razes 1 = 2 , 2 = 1 , 3 = 4 e 4 = 5 , ento as equaes auxiliares e suas respectivas razes so: 1 ( ) = 1 4 ./ = 40 4 + 42 3 5 2 6 + 1 1 = 0,5 , 2 = 1 , 3 = 0,25 e 4 = 0,2 , 2 ( ) = ( ) = 4 + 6 3 5 2 42 + 40 1 = 2 , 2 = 1 , 3 = 4 e 4 = 5 , 3 ( ) = 4 ./ = 40 4 42 3 5 2 + 6 + 1 1 = 0,5 , 2 = 1 , 3 = 0,25 e 4 = 0,2 ,
1 1

202

- Interpretao e definies a partir dos resultados do Exemplo 8. a) Se


1

for a maior das razes positivas de 1 ( ) = 0, ento ser a menor das razes positivas de

( ) = 0 (ver Exemplo 8). Sendo 1 o limite superior das razes positivas de 1 ( ) = 0, calculado pelo Teorema de Lagrange, tem-se que:
1

1 11 ,
1

Consequentemente, o limite inferior das razes positivas de ( ) = 0 .


1

Desse modo, se ( ) = 0 possuir razes positivas + , elas estaro no intervalo:


1 1

203

b)

Se for a maior das razes positivas de 2 ( ) = 0, ento ser a menor das razes negativas Sendo 2 o limite superior das razes positivas de 2 ( ) = 0 , dado pelo Teorema de Lagrange 2 2

de ( ) = 0 (ver Exemplo 8).

c)

Se 1 for a maior das razes positivas de 3 ( ) = 0, ento ser a menor das razes negativas de Sendo 3 o limite superior das razes positivas de 3 ( ) = 0, calculado pelo Teorema de Lagrange,

( ) = 0 (ver Exemplo 8).

tem-se que: 1 3 13 , Ento, se ( ) = 0 tiver razes negativas , elas estaro no intervalo 2 1 3

204

A Figura 3.2 mostra os limites das razes reais de uma equao algbrica. importante notar que esses limites no garantem a existncia das razes reais, mas to somente informam onde as razes reais estaro caso existam.

Figura 3.2- Limites das razes reais de uma equao algbrica.

205

Exemplo 9 Calcular os limites das razes reais de ( ) = 4 + 2 3 13 2 14 + 24 = 0 do Exemplo 7. Soluo - Conforme visto no Exemplo 7 = 1 +
42

14 4,74 1

As equaes auxiliares so: 1 ( ) = 1 4 ./ = 4 . 4 + 3 2


1 1 2 13 14

+ 24/ = 0

1 ( ) = 24 4 14 3 13 2 + 2 + 1 = 0 1 = 1 +
43

14 1 = 0,63 24 1

2 ( ) = ( ) = ( )4 + 2 ( )3 13 ( )2 14 ( ) + 24 = 0 2 ( ) = ( )4 2 ( )3 13 ( )2 + 14 ( ) + 24 = 0
206

2 = 1 +

43

13 1

2 = 14

3 ( ) = 4 ./ = 4 .()4 + ()3 ()2 () + 24/ = 0 3 ( ) = 24 4 + 14 3 13 2 2 + 1 = 0 , 3 = 1 +


42

13

14

13 1 = 0,58 24 3

Ento os limites das razes reais so: Razes positivas


1 1

Razes Negativas 2 1 3

0,63 + 4,74

14 0,58

207

Pode ser construdo um dispositivo prtico para facilitar a determinao dos limites das razes reais. O dispositivo constitudo de dois blocos. No primeiro bloco, so definidos os coeficientes de ( ) = 0 e de suas trs equaes auxiliares 1 ( ) = 0 , 2 ( ) = 0 e 3 ( ) = 0 . Para tal, 1. colocar os coeficientes de ( ) = 0 na coluna P(x) , com cn no topo, 2. inverter a ordem dos coeficientes da coluna P(x) e coloca-los em 1 ( ) = 0 , 3. trocar o sinal dos coeficientes de P(x), cujos ndices sejam mpares e atribu-los a 2 ( ) = 0 , 4. inverter a ordem dos coeficientes da coluna 2 ( ) e coloca-los em 3 ( ) e 5. se algum < 0 , ento trocar o sinal de todos os coeficientes da coluna para garantir que > 0, conforme exige o Teorema de Lagrange.

208

No segundo bloco, so atribudos os parmetros necessrios para aplicar o Teorema de Lagrange a cada uma das quatro equaes. Assim, K o ndice do primeiro coeficiente negativo, N o grau do polinmio, B o valor absoluto do maior coeficiente negativo em mdulo, Li o limite superior das razes positivas de ( ) = 0 dado pelo Teorema de Lagrange e so os limites superiores e inferiores das razes positivas e negativas de ( ) = 0, sendo que () = , (1 ) = 11 , (2 ) = 2 e (3 ) = 13

209

Exemplo 10 Calcular os limites das razes de ( ) = 4 + 2 3 13 2 14 + 24 = 0 do Exemplo 9 usando o dispositivo prtico. Soluo = 4
4 3 2 1 0 k n-k B

( )
1 2 -13 -14 24 2 2 |14| 4,74 4,74

1 ( )
24 -14 -13 2 1 3 1 |14| 1,58 0,63

2 ( )
1 -2 -13 14 24 3 1 |13| 14 -14

3 ( )
24 14 -13 -2 1 2 2 |13| 1,74 -0,58
210

O algoritmo Limites Razes. Esse algoritmo, mostrado a seguir, baseado no dispositivo prtico, determina os limites das razes reais de uma equao polinomial a partir dos seus coeficientes. Os parmetros de entrada so o grau n do polinmio, o vetor c contendo os coeficientes, sendo ( ) = (1) + (2) 1 + + () + ( + 1) . O parmetro de sada o vetor L contendo os limites das razes reais, de forma que (1) = 11 (2) = , L(3)= 2 e (4) = 13

211

Algoritmo Limites Raizes { Objetivo: Achar os limites das razes reais de uma equao polinomial } parmetros de entrada n , c { grau e coeficientes , onde c tal que } { ( ) = (1) + (2) 1 + + () + ( + 1) } parmetros de sada L { limites inferior e superior das razes positivas e negativas, respectivamente } { Declarar variveis } {} { Entrada de dados } {} se C(1) = 0 ento escreva Coeficiente c(1) nulo abandone fim se
212

{ Iniciar variveis } TN+1 C(T + 1) 0 enquanto C(T) = 0 faa T T 1 fim enquanto { Clculo necessrios } para I 1 at 4 faa se (I = 2) ou (I = 4) ento Aux C(J) C(J) C(T-J+1) C(T-J+1) Aux fim para seno
213

{ inverso da ordem dos coeficientes }

para J 1 at (T/2) faa

se I = 3 ento

{ reinverso da ordem e troca de sinais dos coeficientes }

para J 1 at (T/2) faa Aux C(J) C(J) C(T-J+1) C(T-J+1) Aux fim para para J T - 1 at 1 passo -2 faa C(J) - C(J) fim para fim se fim se { se C(1) for negativo, ento trocado o sinal de todos os coeficientes } se C(1) < 0 ento para J 1 at T faa C(J) - C(J)
214

fim para fim se K2 { clculo de k, o maior ndice dos coeficientes negativos }

enquanto (C(K) > 0) e (K < T) faa KK+1 fim enquanto { clculo de B, o maior coeficiente negativo em mdulo } se ento B0 para J 2 at T faa se (C(J) < 0) e (ABS(C(J)) > B) ento B ABS(C(J)) fim se fim para { limite das razes positivas de ( ) = 0 e das equaes auxiliares }
215

L(I) 1 + seno

/(1)

L(I) 10100 fim se fim para { Sada de dados } { limites das razes positivas e negativas de ( ) = 0 } Aux L(1) L(1) 1/L(2) L(2) Aux L(3) - L(3) L(4) - 1/L(4) {} Fim algoritmo

216

Exemplo 11 Calcular os limites das razes reais da equao polinomial ( ) = 4 + 2 3 13 2 14 + 24 = 0 do Exemplo 10 usando o algoritmo Limites Raizes. Soluo % Os parmetros de entrada n=4 = 1 2 13 14 24

% produzem os resultados = 0.6316 4.7417 14.0000 0.5760

217

Pelo grfico mostra na Figura 3.3(a), observa-se que o intervalo original pode ser reduzido a [-5 , 4]. A Figura 3.3(b) revela claramente as quatro razes isoladas nos intervalos [-5 , -3], [-3 , -1], [0 , 2] e [2 , 4].

Figura 3.3 Grficos do polinmio ( ) = 4 + 2 3 13 2 14 + 24 = 0.

218

- Determinando o Nmero de Razes Reais A Regra de sinais de Descartes uma maneira simples para determinar o nmero de razes reais de uma equao algbrica. Sabendo-se os limites e o nmero das razes reais, a tarefa de isolar essas razes ficar grandemente facilitada. Teorema Regra de Sinais de Descartes O nmero de razes reais positivas + de ( ) = 0 igual ao nmero de variaes de sinais na sequncia dos coeficientes ou menor que este nmero por um inteiro par. As razes so contadas de acordo com a sua multiplicidade e no so considerados os coeficientes nulos. Corolrio Se ( ) = 0 no possuir coeficientes nulos, ento o nmero de razes reais negativas (contando multiplicidades) igual ao nmero de permanncias de sinais na sequncia dos coeficientes ou menor que este nmero por um inteiro par. A Regra de sinais de Descartes consegue discernir entre as razes positivas e negativas; no entanto, no consegue separar as razes reais das complexas, as quais aparecem em pares conjugados. Por exemplo, se o nmero de variaes de sinais for 5, ento + = 5 3 1.
219

Exemplo 12
Calcular os limites e o nmero de razes reais de ( ) = 3 3 2 6 + 8 = 0 Soluo Para aplicar o Teorema de Lagrange e obter os Lis, o coeficiente = 3 deve ser positivo em cada um dos quatro polinmios. Como isso no verdadeiro para 2 (), ento todos os coeficientes desse polinmio devem ter os seus sinais trocados. Os zeros do novo polinmio sero iguais aos do polinmio original e, por conseguinte, os dois polinmios tero os mesmo 2 . = 3 3 2 1 0 k n-k B ( ) 1 -3 -6 8 1 ( ) 8 -6 -3 1 2 ( ) -1 -3 6 8 3 ( ) 8 6 -3 -1 = 3 3 2 1 0 k n-k B ( ) 1 -3 -6 8 2 1 |6| 7 7 1 ( ) 8 -6 -3 1 2 1 |6| 1,75 0,57 2 ( ) 1 3 -6 -8 1 2 |8| 3,83 -3,83 3 ( ) 8 6 -3 -1 1 2 |3| 1,61 -0,62


2 ()

Os limites das razes so 0,57 + 7 e 3,83 0,62 e o nmero de razes reais so + = 2 0 e = 1 , significando que existe uma raiz real negativa e as outras duas sero positivas ou complexas.
220

Exemplo 13
Achar os limites e o nmero de razes reais de ( ) = 6 5 5 + 7 4 + 19 3 98 2 104 . Soluo Como 0 = 0 , tem-se, pelas relaes de Girard, que existe pelo menos uma raiz nula. Para obter as equaes auxiliares, () deve ser deflacionado pela diviso por (x 0), resultando em ( ) = 5 5 4 + 7 3 + 19 2 98 104 = 0. Este novo () ter todas as razes do antigo, com exceo da raiz nula. Neste exemplo, como 5 < 0 para ( ) , = 1, 2, 3 , os sinais de todos os coeficientes de 1 ( ) , 2 ( ) 3 ( ) devem ser trocados.
= 3 5 4 3 2 1 0 k n-k B () 1 -5 7 19 -98 -104 1 () -104 -98 19 7 -5 1 2 () -1 -5 -7 19 98 -104 3 () -104 98 19 -7 -5 -1 = 3 () 1 -5 7 19 -98 -104 4 1 |104| 105 105 1 () 104 98 -19 -7 5 -1 3 2 |19| 1,43 0,70 2 () 1 5 7 -19 -98 104 2 3 |98| 5,61 -5,61 3 () 104 -98 -19 7 5 1 4 1 |98| 1,94 -0,51


1 (),2 (),3 ()

3 2 1 0 k n-k B

Assim, os limites das razes so 0,70 + 105 e 5,61 0,51 e o nmero de razes reais so + = 3 1 e = 2 0 , garantindo pelo menos uma raiz real positiva.
221

- Equaes Transcendentes Infelizmente, as equaes transcendentes no dispem de teoremas, como visto para as algbricas, que forneam informaes sobre os limites e o nmero de razes reais. Se as algbricas tm um nmero finito de razes, o mesmo, s vezes, no ocorre com uma transcendente que pode ter um nmero infinito de razes, como, por exemplo, ( ) = ( ) = 0 ou mesmo no ter razes como ( ) = ( ) 2 = 0. O mtodo grfico a maneira mais simples para achar um intervalo que contenha uma nica raiz. Ele consiste em fazer um esboo da funo no intervalo de interesse. No entanto, a maior dificuldade com as equaes transcendentes consiste, justamente, em determinar este intervalo, j que no existe um Teorema de Lagrange para elas. O que se faz na prtica usar a intuio, o conhecimento a respeito da funo e, como ocorre na maioria das vezes, o mtodo da tentativa e erro, ou seja, a partir de um intervalo inicial, tenta-se outro que isole a raiz observando-se a forma da curva.

222

O algoritmo Troca Sinal. Esse algoritmo, mostrado a seguir, fornece um intervalo [a , b], no qual uma funo f(x) troca de sinal, ou seja, ()() < 0. Esse intervalo expandido a partir de um dado valor z. Apesar da raiz no estar necessariamente isolada, pois pode haver um nmero mpar de razes no intervalo, o algoritmo fornecer um intervalo de partida para o isolamento de uma raiz. O parmetro de entra o ponto z a partir do qual o intervalo ser gerado. Os parmetros de sada so o limite inferior a e o superior b do intervalo procurado e a condio de erro CondErro. Se CondErro = 0 significa que ()() < 0 , ou seja, existe um nmero mpar de razes no intervalo [a , b]. Mas, se Se CondErro = 1 , ento ()() > 0 , significando que no intervalo [a , b] no tem razes ou tem um nmero par de razes.

223

Algoritmo Troca Sinal { Objetivo: Achar um intervalo [a , b] onde uma funo troca de sinal } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada z { ponto a partir do qual o intervalo ser gerado } parmetros de sada a , b , CondErro { limites inferior e superior do intervalo e condio de erro, sendo } { CondErro = 0 se ()() < 0 e CondErro = 1 se () () > 0 } { Declarar variveis } {} { Entrada de dados } {} se Z = 0 ento A -0,05 B 0,05 seno A 0,95 x Z B 1,05 x Z fim se { Iniciar variveis }
224

Iter 0 Aureo 2 (5 1) { Avaliar a funo desejada nos pontos a e b } Fa f(a) Fb f(b) escreva Iter, a, b, Fa, Fb { Clculo necessrios } enquanto ( ()() > 0) e ( < 20 ) faa Iter Iter + 1 se ABS(Fa) < ABS(Fb) ento A A Aureo x (B A) { Avaliar a funo no novo ponto a } Fa f(a) seno B B + Aureo x (B A) { Avaliar a funo no novo ponto b } Fb f(b) fim se
225

escreva Iter, a, b, Fa, Fb fim enquanto { Sada de dados } se ()() 0 ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

226

Exemplo 14 Achar um intervalo, a partir de z = 5, onde ( ) = 2 3 cos( + 1) 3 troca de sinal, utilizando o algoritmo Troca Sinal. Soluo % O parmetro de entrada Z=5 % produz os resultados Determinacao de intervalo onde ocorre troca de sinal Iter a b Fa Fb 0 4.7500 5.2500 210.4826 285.4068 1 3.9410 5.2500 119.1909 285.4068 2 1.8229 5.2500 10.0655 285.4068 3 -3.7221 5.2500 -105.2218 285.4068 a = -3.7221 b = 5.2500 CondErro = 0

227

De fato, a funo muda de sinal no intervalo [-3,7221 , 5,2500] , pois (3,7221) = 105,2218 e (5,2500) = 285,4068. Pelo grfico mostrado na Figura 3.4, percebe-se que o intervalo [-1 , 2] contm uma nica raiz. A curva pode ser esboada neste intervalo menor, Figura 3.4(b), para examinar o grfico com uma melhor definio.

(a) 3,7221 5,2500

(b) 1 2

Figura 3.4 Esboos da funo ( ) = 2 3 cos( + 1) 3 em dois intervalos


228

Como j se percebe, um estudo analtico do comportamento de equaes transcendentes , em geral, muito complexo. O mtodo mais simples de se achar um intervalo que contenha s uma raiz, ou seja, isolar uma raiz, o mtodo grfico.

Mtodo Grfico Uma raiz real de uma equao ( ) = 0 um ponto onde a funo ( ) toca o eixo dos x. Para determinar uma raiz, basta fazer um esboo da funo ( )e verificar em que ponto do eixo dos x a funo se anula.

229

Exemplo 15 Seja ( ) = ( ) 2 , isolar graficamente os zeros dessa funo.

Figura 3.5 Esboo da funo ( ) = ( ) 2. Analisando o esboo do grfico, a funo tem uma raiz em torno de 1,05 .

230

Outra maneira de abordar a soluo do problema substituir ( ) = 0 por uma equao ( ) = ( ) ( ) = 0 equivalente, ou seja, uma equao que tem as mesmas razes de ( ) = 0. Considerando 1 = () e 2 = ( ) e construindo o esboo de seus grficos pode ocorrer uma interceptao entre as duas curvas. Um ponto de cruzamento est esboado na Figura 3.6. Chamando a abscissa do ponto de interceptao de 0 , temos que (0 ) = (0 ) e, portanto, (0 ) = (0 ) (0 ) = 0 Por isto, pode-se concluir que = 0 .

Figura 3.6 Esboo da interceptao de duas curvas 1 = () e 2 = ( ).


231

Exemplo 16 Seja a funo do Exemplo 15 ( ) = ( ) 2 . Separando ( ) em duas funes, tem-se: ( ) = ( ) = ( ) + 2

Figura 3.7 Esboo do grfico da funo ( ) = ( ) ( ) = 0 . Pelo grfico, observa-se que a raiz aproximada f(x) 1,05 .
232

Exemplo 17 Isolar, graficamente, os zeros da funo ( ) = 0,05 3 0,4 2 + 3 ( ). Soluo Inicialmente, pode-se definir um intervalo amplo para ter uma viso do comportamento da funo. A Figura 3.8(a) apresenta um esboo para 20 20, obtido com o uso de funes grficas do Matlab. Um melhor detalhamento pode ser obtido usando 4 12 , o qual mostrado na Figura 3.8(b). Podem ser observadas seis razes no intervalo [-4 , 12] e cada uma destas razes estar isolada nos seguintes intervalos: [-4 , -2] , [-1 , 1] , [2 , 4] , [6 , 8] , [8 , 10] e [10 , 12].

OBS: O mtodo grfico tambm pode ser usado para isolar as razes de equaes algbricas. Conhecendo os limites e o nmero de razes reais pelo Teorema de Lagrange e pela Regara de Sinais de Descartes, o isolamento por grfico fica enormemente facilitado.

233

(a) 20 20

(b) 4 12

Figura 3.8 Esboos da funo ( ) = 0,05 3 0,4 2 + 3 ( ) em dois intervalos

234

- Convergncia da Raiz Se uma raiz j estiver isolada em um dado intervalo [a , b], ento a prxima etapa consiste em gerar uma sequncia *0 , 1 , exata de ( ) = 0. Critrio de parada Antes de serem abordados os mtodos para produzirem uma sequncia convergente para a raiz, necessrio definir um critrio de parada, ou seja, quando se deve interromper a gerao da sequncia. A referncia para a demonstrao do teorema abaixo est indicada em Campos (2001). Teorema: Sejam uma raiz exata e uma raiz aproximada de ( ) = 0, sendo e , , - e | ()| > 0 para , com = min | ()|

2 ,

, ,

+ , , - que convirja para esta raiz

Ento, o erro absoluto satisfaz: |( )| | |


235

Exemplo 18 Avaliar o erro absoluto cometido ao considerar = 2,23 como aproximao da raiz positiva de ( ) = 2 5 = 0 no intervalo [2 , 3]. Soluo = min |2 | = 4
23

Assim, 0,0271 = 0,0068 4

|2,23 |

2,23 0,0068 2,23 + 0,0068

( = 5 2,2361)

236

O Teorema visto de aplicao muito restrita, considerando que ele requer que seja avaliado o mnimo da derivada primeira da funo f(x). Na prtica, a sequncia interrompida quando seus valores satisfizerem pelo menos um dos critrios: 1) | 1 | ou
1

2) |

ou ainda 3) |( )|

237

Ordem de convergncia Uma questo fundamental definir a rapidez com que a sequncia gerada por um dado mtodo, *0 , 1 , 2 , , , + , converge para a raiz exata .

Para tal, seja o erro da k-sima iterao definido por: = ou seja, a diferena entre a raiz e a sua estimativa . Um critrio para avaliar a convergncia :

lim |+1 | = | |

onde K a constante de erro assinttico e a ordem de convergncia do mtodo gerador da sequncia. Por causa disso, quanto maior for o valor de , mais rpida a sequncia convergir para a raiz da equao.

238

3.2 Mtodos iterativos para obteno de zeros reais de funes. 3.2.1. Mtodo da bisseo. Seja f(x) uma funo contnua no intervalo [a, b] , sendo a nica raiz de ( ) = 0 neste intervalo. O mtodo da bisseo consiste em subdividir o intervalo ao meio a cada iterao e manter o subintervalo que contenha a raiz, ou seja, aquele em que f(x) tenha sinais opostos nos extremos. Dividindo o intervalo [a, b] ao meio, obtm-se x0, havendo dois subintervalos, [a , x0] e [x0 , b] a serem considerados. Se f(x0) = 0, ento = 0 ; Caso contrrio, a raiz estar no subintervalo onde a funo tem sinais opostos nos pontos extremos, ou seja, se () (0 ) < 0, ento ( , 0 ); seno () (0 ) > 0 e (0 , ). O novo intervalo [a1, b1] que contm dividido ao meio e obtm-se o ponto x1. O processo se repete at que se obtenha uma aproximao para a raiz exata com a tolerncia desejada.

239

A Figura 3.9 mostra a sequncia de convergncia em modo grfico at uma raiz 3 .

Figura 3.9 Interpretao Geomtrica do mtodo da bisseo

240

Convergncia Em alguma etapa do processo tem-se ou a raiz exata ou uma sequncia infinita de intervalos encaixados [a1 , b1] , [a2 , b2] , ..., [ak , bk] , ... , tal que ( ) ( ) < 0 , = 0 , 1 , 2 , , Como a cada iterao o intervalo [a, b] dividido ao meio, na k-sima iterao o comprimento do intervalo ser: = 2 ( ) 2 na equao acima:

ou substituindo = | 1 | = 2+1

Desde que | 1 |

241

ento 2+1 ou log 2 .


/

ou seja, para um dado intervalo [a , b] so necessrias, no mnimo, k iteraes para se calcular a raiz com a tolerncia .

Obs.: Na prtica, o mtodo da bisseo deve ser usado apenas para diminuir o intervalo que contm a raiz para posterior aplicao de outro mtodo, pois o esforo computacional cresce demasiadamente quando se aumenta a exatido com que se quer a raiz.

242

- Algoritmo Bissecao O algoritmo mostrado a seguir calcula, pelo mtodo da bisseo, a raiz de uma equao ( ) = 0 contida no intervalo [a , b], com tolerncia usando os critrios (1) e (3).

Os parmetros de entrada so o limite inferior a e o superior b do intervalo que contm a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax.

A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

243

Algoritmo Bissecao { Objetivo: Calcular a raiz de uma equao pelo mtodo da bisseo } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , b , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a e b } Fa f(A) Fb f(B) se Fa x Fb > 0 ento escreva Funcao no muda de sinal nos extremos do intervalo informado abandone fim se
244

DeltaX ABS(B - A) / 2 Iter 0 escreva A, B, Toler, IterMax { Clculo necessrios } { Avaliar a funo em x } X (A + B) / 2 Fx f(X) escreva Iter, A, Fa, B, Fb, X, Fx, DeltaX enquanto (( > ) ou (() > )) e ( < ) faa se Fa * Fx > 0 ento AX Fa Fx seno BX fim se DeltaX DeltaX / 2 Iter Iter + 1 X (A + B) / 2 Fx f(X) escreva Iter, A, Fa, B, Fb, X, Fx, DeltaX
245

fim enquanto { Sada de dados } Raiz X { teste de convergncia } se e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

246

Exemplo 1 Determinar a maior raiz de ( ) = 0,05 3 0,4 2 + 3 ( ) com 0,005, usando o algoritmo Bissecao com Itermax = 100. Soluo Pela Figura 3.8(b) , temos que a raiz procurada est no intervalo: ,10 , 12- conforme mostrado na Figura 3.10.

Figura 3.10 Detalhamento grfico da maior raiz de ( ) = 0,05 3 0,4 2 + 3 ( ).


247

- Usando o algoritmo Bissecao, temos: % Os parmetros de entrada a = 10 b = 12 Toler = 0.0050 IterMax = 100

% produzem os resultados Calculo de raiz de equacao pelo metodo da bissecao Iter 0 1 2 3 4 a 10.00000 Fa -6.32063 b 12.00000 Fb 9.48337 9.48337 9.48337 0.20128 0.20128 x 11.00000 Fx -1.4850e+01 DeltaX 1.00000 0.50000 0.25000 0.12500 0.06250
248

11.00000 -14.84968 12.00000 11.50000 11.50000 11.62500 -7.05935 -7.05935 -3.69752 12.00000 11.75000 11.75000

11.50000 -7.0594e+000 11.75000 2.0128e-001

11.62500 -3.6975e+000 11.68750 -1.8136e+000

5 6 7 8 9 10 11 12

11.6875 11.71875 11.73438 11.74219 11.74219 11.74219 11.74316 11.74365

-1.81359 -0.82229 -0.31451 -0.05761 -0.05761 -0.05761 -0.02536 -0.00922

11.75000 11.75000 11.75000 11.75000 11.74609 11.74414 11.74414 11.74414

0.20128 0.20128 0.20128 0.20128 0.07158 0.00692 0.00692 0.00692

11.71875 11.73438 11.74219 11.74609 11.74414 11.74316 11.74365 11.74390

-8.2229e-001 -3.1451e-001 -5.7611e-002 7.1585e-002 6.9247e-003 -2.5359e-002 -9.2209e-003 -1.1491e-003

0.03125 0.01563 0.00781 0.00391 0.00195 0.00098 0.00049 0.00024

Raiz = 11.7439 Iter = 12 CondErro = 0 A raiz da equao 12 = 11,74390 Apesar de sua robustez, o mtodo da bisseo no eficiente devido sua convergncia lenta. Isso ocorre por que somente o sinal de (1 ) usado para o clculo do prximo , sem levar em considerao o seu valor.
249

Exemplo 2 Calcular a raiz positiva da equao ( ) = 2 3 com 0,01. Soluo Utilizando um programa grfico, obtemos a Figura 3.11.

Figura 3.11 Grfico da funo f(x) do Exemplo 2.

250

Analisando o grfico, conseguimos isolar a raiz positiva no intervalo ,1 , 2- . Nos extremos do intervalo temos: () = (1) = 2 < 0 () = (2) = 1 > 0 Logo, o nmero de iteraes a ser gasto ser: log 2 . Assim k 0 1 2 3 4 5 6 1,00000 1,50000 1,50000 1,62500 1,68750 1,71875 1,71875 2,00000 2,00000 1,75000 1,75000 1,75000 1,75000 1,73437 1,50000 1,75000 1,62500 1,68750 1,71875 1,73437 1,72656 ( ) -0,75000 0,06250 -0,35938 -0,15234 -0,04590 0,00806 -0,01898 0,25000 0,12500 0,06250 0,03125 0,01563 0,00781
/

1 log 2 .0,01/ 1

21

21 ln .0,01 /

ln 2

16

A raiz = 6 1,72656 Onde o erro foi calculado e comparado com a preciso desejada por | 1 | .
251

Exemplo 3 Calcular a raiz da equao ( ) = 2 + ln com 0,01. Soluo Utilizando um programa grfico, obtemos a Figura 3.11.

Figura 3.12 Grfico da funo f(x) do Exemplo 3.


252

Analisando o grfico, conseguimos isolar a raiz no intervalo ,0,5 , 1- . Nos extremos do intervalo temos: () = (0,5) = 0,44315 < 0 () = (1) = 1,00000 > 0 Logo, o nmero de iteraes a ser gasto ser: ln .10,5 / 0,01 ln 2 15 1,00000 0,75000 0,75000 0,68750 0,65625 0,65625 0,75000 0,62500 0,68750 0,65625 0,64063 0,64844 ( ) 0,27482 -0,07938 0,09796 0,00945 -0,03491 -0,01272 0,12500 0,06250 0,03125 0,01563 0,00781

Assim k 0 1 2 3 4 5 0,50000 0,50000 0,62500 0,62500 0,62500 0,64063

A raiz = 5 0,64844 Onde o erro foi calculado e comparado com a preciso desejada por | 1 | .
253

3.2.2

Mtodos baseados em aproximao linear.

A velocidade de convergncia da sequncia * + para a raiz de uma equao ( ) = 0 pode ser aumentada usando-se um esquema diferente da bisseo. Um esquema consiste em aproximar ( ) por um polinmio linear no intervalo de interesse ,0 , 1 -. Se o intervalo for pequeno, essa aproximao vlida para a maioria das funes. Deste modo, uma estimativa da raiz tomada como o valor onde a reta cruza o eixo das abscissas. A equao do polinmio de grau 1 que passa pelos pontos de coordenadas ,0 , (0 )- e ,1 , (1 )- dada por: = (1 ) + (1 ) (0 ) ( 1 ) (1 0 )

Ento, o valor da abscissa 2 , para o qual = 0, tomado como uma aproximao da raiz: (1 ) (1 0 ) 2 = 1 (1 ) (0 )
254

Na prxima iterao, um dos pontos extremos do intervalo ,0 , 1 - ser substitudo por 2 , que uma melhor estimativa da raiz . O processo se repete, gerando, desta forma, uma sequncia * + at que o critrio de parada seja satisfeito. Existe uma famlia de mtodos baseados nesta aproximao linear, dentre os quais o mtodo da secante, o da regula falsi (posio falsa) e o Pgaso.

255

- Mtodo da Secante O mtodo da secante usa os pontos obtidos nas duas ltimas iteraes como pontos-base por onde passar o polinmio linear, conforme mostra a Figura 3.13(a).

(a) Mtodo da secante

(b) Mtodo da regula falsi

Figura 3.13 Mtodos para clculo da raiz baseados em aproximao linear.


256

- Algoritmo Secante O algoritmo mostrado a seguir calcula, pelo mtodo da secante, a raiz de uma equao ( ) = 0 contida no intervalo [a , b], com tolerncia usando os critrios (1) e (3). Os parmetros de entrada so o limite inferior a e o superior b do intervalo que isola a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax. A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas. Durante as iteraes, o ponto ( , ) substitudo por ( , ) e ( , ) trocado pelo recm calculado ( , ). Por essa razo, antes das iteraes, verificado se || < || de modo a ser abandonado, na primeira iterao, o ponto mais distante da raiz.

257

Algoritmo Secante { Objetivo: Calcular a raiz de uma equao pelo mtodo da secante } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , b , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a e b } Fa f(A) Fb f(B) se ABS(Fa) < ABS(Fb) ento Ta AB BT
258

T Fa Fa Fb Fb T fim se Iter 0 XB Fx Fb escreva A, B, Toler, IterMax { Clculo necessrios } { Avaliar a funo em x } repita DeltaX -Fx *(B - A) / (Fb - Fa) X X + DeltaX Fx f(x) { Avaliar a funo em x } escreva Iter, A, Fa, B, Fb, X, Fx, DeltaX se ((() ) e (() )) ou ( ) ento interrompa fim se AB Fa Fb
259

BX Fb Fx Iter Iter + 1 fim repita { Sada de dados } Raiz X { teste de convergncia } se e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

260

Exemplo 4 Determinar a maior raiz de ( ) = 2 3 cos( + 1) 3 = 0 com 0,01, usando o algoritmo Secante com Itermax = 100, sabendo-se que ,1 , 2-. Soluo - Utilizando um programa grfico, obtemos a Figura 3.11.

Figura 3.14 Grfico da funo f(x) do Exemplo 4.


261

- Utilizando o algoritmo Secante, temos: % Os parmetros de entrada a = -1 b=2 Toler = 0.0100 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo da secante Iter 0 1 2 3 4 5 a 2.00000 -1.00000 -0.09955 1.27313 0.82210 1.03883 Fa 13.98999 -6.00000 -3.62323 1.77312 -1.64011 -0.30676 b -1.00000 -0.09955 1.27313 0.82210 1.03883 1.08869 Fb -6.00000 -3.62323 1.77312 -1.64011 -0.30676 0.07576 x -0.09955 1.27313 0.82210 1.03883 1.08869 1.07881 Fx -3.623e+00 1.773e+00 -1.640e+00 -3.068e-01 7.576e-02 -2.438e-03 DeltaX 9.005e-01 1.373e+00 -4.510e-01 2.167e-01 4.986e-02 -9.875e-03
262

Raiz = 1.07881 Iter = 5 CondErro = 0 A raiz da equao 5 = 1,07881 O mtodo da secante pode apresentar alguns problemas. Se a funo no for, aproximadamente, linear no intervalo que contm a raiz, uma aproximao sucessiva pode sair deste intervalo como mostrado na Figura 3. 13(a).

263

- Mtodo da regula falsi O mtodo da regula falsi retm o ponto no qual o valor da funo tem sinal oposto ao valor da funo no ponto mais recente, garantindo, desta forma, que a raiz continue isolada entre dois pontos, como mostrado na Figura 3.13(b). O algoritmo mostrado a seguir calcula, pelo mtodo da regula falsi, a raiz de uma equao ( ) = 0 contida no intervalo [a , b], com tolerncia usando os critrios (1) e (3). Os parmetros de entrada so o limite inferior a e o superior b do intervalo que isola a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax. A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

264

Algoritmo Regula falsi { Objetivo: Calcular a raiz de uma equao pelo mtodo da regula falsi } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , b , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a e b } Fa f(A) Fb f(B) se Fa x Fb > 0 ento escreva funo no muda de sinal nos extremos do interval dado abandone fim se se Fa > 0 ento
265

Ta A B BT T Fa Fa Fb Fb T fim se Iter 0 XB Fx Fb escreva A, B, Toler, IterMax { Clculo necessrios } repita DeltaX -Fx *(B - A) / (Fb - Fa) X X + DeltaX Fx f(x) { Avaliar a funo em x } escreva Iter, A, Fa, B, Fb, X, Fx, DeltaX se ((() ) e (() )) ou ( ) ento interrompa fim se se Fx < 0 ento
266

A X Fa Fx seno BX Fb Fx fim se Iter Iter + 1 fim repita { Sada de dados } Raiz X { teste de convergncia } se e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

267

Exemplo 5 Determinar a maior raiz de ( ) = 2 3 cos( + 1) 3 = 0 com 0,01, usando o algoritmo Regula falsi com Itermax = 100, sabendo-se que ,1 , 2-. Soluo - Utilizando um programa grfico, obtemos a Figura 3.11.

Figura 3.15 Grfico da funo f(x) do Exemplo 5.


268

- Utilizando o algoritmo Regula falsi, temos: % Os parmetros de entrada a = -1 b=2 Toler = 0.0100 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo da regula falsi Iter 0 1 2 3 4 5 a -1.00000 -0.09955 0.33235 0.63985 0.83952 0.95534 Fa -6.00000 -3.62323 -3.16277 -2.40710 -1.55114 -0.88102 b 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 Fb x Fx -3.623e+00 -3163e+00 -2.407e+00 -1.551e+00 -8.810e-01 -4.631e-01 DeltaX -2.100e+00 4.319e-01 3.075e-01 1.997e-01 1.158e-01 6.189e-02
269

13.98999 -0.09955 13.98999 13.98999 13.98999 13.98999 13.98999 0.33235 0.63985 0.83952 0.95534 1.01723

6 7 8 9 10 11

1.01723 1.04872 1.06432 1.07195 1.07565 1.07745

-0.46306 -0.23328 -0.11498 -0.05607 -0.02719 -0.01315

2.00000 2.00000 2.00000 2.00000 2.00000 2.00000

13.98999 13.98999 13.98999 13.98999 13.98999 13.98999

1.04872 1.06432 1.07195 1.07565 1.07745 1.07831

-2.333e-01 -1.150e-01 -5.607e-02 -2.719e-02 -1.315e-02 -6.355e-03

3.149e-02 1.560e-02 7.628e-03 3.704e-03 1.793e-03 8.666e-04

Raiz = 1.07831 Iter = 11 CondErro = 0 A raiz da equao 11 = 1,07831 A convergncia para a raiz s se fez de um lado do intervalo, tornando este mtodo mais lento que o da secante, embora mais robusto. Quanto mais longe o ponto fixo for da raiz, mais lenta ser a convergncia.
270

- Mtodo Pgaso De modo similar aos outros mtodos baseados em aproximao linear, no mtodo pgaso, a sequncia * + obtida pela equao de recorrncia: +1 ( ) ( 1 ) , = ( ) (1 ) = 1 , 2 , 3 ,

Os pontos ,1 , (1 )- e , , ( )- pelos quais ser traada a reta para obter +1 so escolhidos de modo que (1 ) e ( ) tenham sempre sinais opostos, garantindo assim que ,1 , -. Alm do mais, o valor de (1 ) reduzido por um fator igual a reteno de um ponto, como ocorre na regual falsi. Deste modo, a reta pode ser traada por um ponto no pertencente curva de ().
( ) ( )+(+1 )

de modo a evitar a

271

A Figura 3.16 ilustra graficamente o mtodo Pgaso.

Figura 3.16 Interpretao grfica do mtodo pgaso. Deve ser observado que a estimativa 4 da raiz obtida usando os pontos de coordenadas [3 , (3 )] e ,1 , - , sendo = (1 ) (
(2 )
2 )+(3 )

, o qual no pertence funo ().

Observa-se que 4 uma melhor aproximao da raiz do que 4 que seria obtida pelo mtodo da regula falsi (linha tracejada).
272

O algoritmo mostrado a seguir calcula, pelo mtodo pgaso, a raiz de uma equao ( ) = 0 contida no intervalo [a , b], com tolerncia usando os critrios (1) e (3).

Os parmetros de entrada so o limite inferior a e o superior b do intervalo que isola a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax.

A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

273

Algoritmo Pegaso { Objetivo: Calcular a raiz de uma equao pelo mtodo da regula falsi } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , b , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a e b } Fa f(A) Fb f(B) XB Fx Fb Iter 0 escreva A, B, Toler, IterMax { Clculo necessrios }
274

repita DeltaX -Fx *(B - A) / (Fb - Fa) X X + DeltaX Fx f(x) { Avaliar a funo em x } escreva Iter, A, Fa, B, Fb, X, Fx, DeltaX se ((() ) e (() )) ou ( ) ento interrompa fim se se Fx x Fb < 0 ento A B Fa Fb seno Fa Fa x Fb / (Fb + Fx) fim se BX Fb Fx Iter Iter + 1 fim repita { Sada de dados } Raiz X { teste de convergncia }
275

se e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

276

Exemplo 6 Determinar a raiz de ( ) = 2 3 cos( + 1) 3 = 0 com 0,01, usando o algoritmo pgaso com Itermax = 100, sabendo-se que ,1 , 2-. Soluo - Utilizando um programa grfico, obtemos a Figura 3.11.

Figura 3.17 Grfico da funo f(x) do Exemplo 6.


277

- Utilizando o algoritmo Pegaso, temos: % Os parmetros de entrada a = -1 b=2 Toler = 0.0100 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo pegaso Iter 0 1 2 3 4 5 a -1.00000 2.00000 2.00000 2.00000 0.82842 1.11563 Fa -6.00000 13.98999 7.46964 4.95180 -1.60817 0.29537 b 2.00000 -0.09955 0.33235 0.82842 1.11563 1.07106 Fb x Fx -3.623e+00 -3.163e+00 -1.608e+00 2.954e-01 -6.294e-02 -1.807e-03 DeltaX -2.100e+00 4.319e-01 4.961e-01 2.872e-01 -4.457e-02 7.828e-03
278

13.98999 -0.09955 -3.62323 -3.16277 -1.60817 0.29537 -0.06294 0.33235 0.82842 1.11563 1.07106 1.07889

Raiz = 1.07889 Iter = 5 CondErro = 0 A raiz da equao 5 = 1,07889

279

Exemplo 7 Achar o ponto de mximo do polinmio ( ) = 4 + 2 3 13 2 14 + 24 pelo mtodo Pgaso, com 105 , sabendo-se que ,1 , 1-, de acordo com a Figura 3.3(b). Soluo - A condio de mximo de uma funo que a derivada primeira se anule e que a derivada segunda seja negativa no ponto. Assim, o problema equivalente a calcular uma raiz de ( ) = 0. ( ) = 4 3 + 6 2 26 14 = 0 e ( ) = 12 2 + 12 26

- Utilizando o algoritmo Pegaso, temos: % Os parmetros de entrada a = -1 b=1 Toler = 1.0000e-05 IterMax = 100
280

% produzem os resultados Calculo de raiz de equacao pelo metodo pegaso Iter 0 1 2 3 4 a -1.00000 -1.00000 -0.36364 -0.51746 -0.49996 Fa 14.00000 12.37317 -3.94440 0.50640 -0.00114 b 1.00000 -0.36364 -0.51746 -0.49996 -0.50000 Fb x Fx -3.944e+00 5.064e-01 -1.135e-03 4.764e-08 0.000e+00 DeltaX -1.364e+00 -1.538e-01 1.750e-02 -3.914e-05 1.643e-09

-30.00000 -0.36364 -3.94440 0.50640 -0.00114 0.00000 -0.51746 -0.49996 -0.50000 -0.50000

Raiz = -0.50000 Iter = 4 CondErro = 0 Como ( ) = 12 2 + 12 26, ento (0,5) = 29 < 0 , confirmando que 4 = 0,5 um ponto de mximo.

281

3.2.3 Mtodos baseados em aproximao quadrtica. A estimativa de uma raiz para ( ) = 0 pode ser ainda melhor se ao invs de utilizar um polinmio interpolador de grau 1 for utilizado um polinmio de grau 2.

- Mtodo de Muller O mtodo de Muller consiste em aproximar a funo ( ), na vizinhana da raiz ,0 , 2 - , por um polinmio quadrtico. Este polinmio construdo de modo a passar pelos trs pontos de coordenadas ,0 , (0 )- , ,1 , (1 )- e ,2 , (2 )-. Deste modo, o zero do polinmio usado como uma estimativa da raiz de ( ) = 0. O processo , ento, repetido usando sempre os trs pontos mais prximos da raiz.

282

Um polinmio de segundo grau que passa pelos trs pontos de coordenadas ,2 , (2 )- , ,1 , (1 )- e , , ( )- na forma: 2 () = 2 + + onde = 1 pode ser construdo de acordo com a Figura 3.18. (1)

Figura 3.18 Grfico de um polinmio quadrtico junto com f(x) .


283

Para cada um dos trs pontos, tem-se que: 2 (2 ) = (2 ) (2 1 )2 + (2 1 ) + = (2 ) , 2 (1 ) = (1 ) (0)2 + (0) + = (1 ) = (1 ) 2 ( ) = ( ) ( 1 )2 + ( 1 ) + = ( ) , Definindo: 1 = 1 2 = 1 2 Considerando a equao (2), obtm-se o seguinte sistema linear em termos das incgnitas a e b:
2 2 { 2 1

(2)

2 1

= (2 ) = ( )

(1 ) (1 )

Cuja soluo : =
1
1 (1 +2 ) 1 ( ( ) ( + 1) (1 ) + (2 )) , sendo = e 2

(3)
284

= ( ( ) (1 ) 1 ) onde a dado por (3).


1

(4)

Os dois zeros do polinmio de grau 2 em v (eq. 1) so: 2 4 = 2 Para obter a raiz mais prxima de 1 , o sinal na expresso acima deve ser escolhido de modo a tornar o numerador o menor possvel. Assim, em vista da transformao = 1 , a prxima estimativa da raiz de ( ) = 0 : +1 + ()2 4 = 1 + 2

onde a , b e c so dados por (3) , (4) e (2) , respectivamente. Na prxima iterao, devem ser utilizados os trs pontos mais prximos de .

285

O algoritmo mostrado a seguir determina, pelo mtodo de Muller, uma raiz de uma equao ( ) = 0 contida no intervalo [a , c], com tolerncia usando os critrios (1) e (3).

Os parmetros de entrada so o limite inferior a e o superior c do intervalo que contm a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax.

A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

286

Algoritmo Muller { Objetivo: Calcular a raiz de uma equao pelo mtodo de Muller } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , c , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a , c e b } Fa f(A) Fc f(C) B (A + C) / 2 Fb f(B) XB Fx Fb DeltaX C - A
287

Iter 0 escreva A, B, Toler, IterMax { Clculo necessrios } repita H1 C B H2 B A R H1 / H2 TX A (Fc (R + 1) x Fb + R x Fa) / (H1 x (H1 + H2)) B (Fc Fb) / H1 - A x H1 C Fb Z (-B + SINAL(B) x RAIZ(B2 4 x A x C)) / (2 x A) XB+Z DeltaX X - T Fx f(x) { Avaliar a funo em x } escreva Iter, A, B, C, X, Fx, DeltaX se ((() ) e (() )) ou ( ) ento interrompa fim se se X > B ento A B
288

Fa Fb seno CB Fc Fb fim se BX Fb Fx Iter Iter + 1 fim repita { Sada de dados } Raiz X { teste de convergncia } se e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

289

Exemplo 1 Calcular, com 102 , a raiz de ( ) = 2 3 cos( + 1) 3 = 0 pelo mtodo de Muller, sabendo-se que ,1 , 2-. Soluo - Utilizando o algoritmo Muller, temos: % Os parmetros de entrada a = -1 b=2 Toler = 0.0100 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de Muller Iter 0 1 a -1.00000 0.50000 b 0.50000 0.86331 c 2.00000 2.00000 x 0.86331 1.05488 Fx -1.42476e+00 -1.86933e-01 DeltaX 3.63315e-01 1.91564e-01
290

2 3

0.86331 1.05488

1.05488 1.07803

2.00000 2.00000

1.07803 1.07912

-8.58214e-03 -4.55606e-05

2.31508e-02 1.08694e-03

Raiz = 1.07912 Iter = 3 CondErro = 0 Assim, a raiz da equao 3 = 1,07912 .

291

Exemplo 2 Achar a raiz de ( ) = 0,05 3 0,4 2 + 3 sen( ) = 0 , com 1010 , que se encontra no intervalo ,10 , 12-, usando o mtodo de Muller. Soluo - Utilizando o algoritmo Muller, temos: % Os parmetros de entrada a = 10 b = 12 Toler = 1.0000e-10 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de Muller Iter 0 1 a b c x Fx -1.25090e-01 1.54925e-03 DeltaX 7.40141e-01 3.83681e-03
292

10.00000 11.00000 12.00000 11.74014 11.00000 11.74014 12.00000 11.74398

2 3 4

11.74014 11.74014 11.74393

11.74398 12.00000 11.74393 11.74393 11.74393 11.74398 11.74393 11.74398 11.74393

-1.45315e-07 1.06581e-14 1.06581e-14

-4.68547e-05 4.39453e-09 0.00000e+00

Raiz = 11.74393 Iter = 4 CondErro = 0 Assim, a raiz da equao 4 = 11,74393 .

293

- Mtodo de van Wijngaarden-Dekker-Brent Este mtodo o resultado da combinao da interpolao inversa quadrtica e da bisseo implementados de forma a garantir que a raiz continue sempre isolada. Ele foi proposto inicialmente por van Wijngaarden, Dekker e outros e melhorado posteriormente por Brent. Na interpolao quadrtica, a forma analtica de um polinmio 2 ( ) ( ) = determinada a partir de trs pontos de coordenadas ,2 , (2 )- , ,1 , (1 )- e , , ( )-. Assim, para obter um valor aproximado de (), basta avaliar 2 ( ). Por outro lado, na interpolao inversa quadrtica, o polinmio interpolador de grau 2 2 () 1 () = construdo a partir dos pontos de coordenadas ,(2 ) , 2 - , , (1 ) , 1 - e. ,( ) , - . Neste caso, para ter um valor aproximado de 1 () necessrio avaliar 2 () .

294

Este polinmio 2 () pode ser obtido por interpolao de Lagrange: 2 () = 2 ( (1 )) ( ( )) ( (2 ) (1 )) ( (2 ) ( )) ( (2 )) ( ( )) + 1 ( (1 ) (2 )) ( (1 ) ( )) ( (2 )) ( (1 )) + ( ( ) (2 )) ( ( ) (1 ))

Como = ( ) = 1 () , ento uma aproximao da raiz de ( ) = 0 o ponto de abscissa correspondente 1 (0) . Considerando que 2 () 1 () = , esta aproximao dada por = 2 (0).

295

O algoritmo mostrado a seguir determina, pelo mtodo de van Wijngaarden-Dekker-Brent (WDB), uma raiz de uma equao ( ) = 0 contida no intervalo [a , b], com tolerncia usando os critrios (1) e (3).

Os parmetros de entrada so o limite inferior a e o superior b do intervalo que contm a raiz, a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax.

A funo f(x) deve ser especificada de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

296

Algoritmo WDB { Objetivo: Calcular a raiz de uma equao pelo mtodo de WDB } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada a , b , Toler , IterMax { limite inferior, limite superior, tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz, nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo desejada nos pontos a e b } Fa f(A) Fb f(B) se Fa x Fb > 0 ento escreva a funo no muda de sinal nos extremos do intervalo dado abandone fim se CB
297

Fc Fb Iter 0 escreva A, B, Toler, IterMax { Clculo necessrios } repita { altera a , b e c para que b seja a melhor estimativa da raiz } se Fb x Fc > 0 ento CA Fc Fa D B A ED fim se se ABS(Fc) < ABS(Fb) ento A B BC CA Fa Fb Fb Fc Fc Fa fim se
298

Tol 2 x Toler x MAX(ABS(B) , 1) Z (C B) / 2 escreva Iter, A, C, B, Fb, Z se ABS(Z) Tol ou Fb = 0 ou Iter IterMax ento interrompa fim se { escolha entre interpolao e bisseo } se ABS(E) Tol e ABS(Fa) > ABS(Fb) ento S Fb / Fa se A = C ento P2xZxS Q1-S seno { interpolao inversa quadrtica } Q Fa / Fc R Fb / Fc P S x (2 x Z x Q x (Q R) (B A) x (R 1)) Q (Q 1) x (R 1) x (S 1) fim se se P > 0 ento Q -Q seno
299

P -P fim se se 2 x P < MIN(3 x Z x Q ABS(Tol x Q) , ABS(E x Q)) ento { aceita interpolao } ED DP/Q seno { usa bisseo devido falha na interpolao } DZ EZ fim se seno { bisseo } DZ EZ fim se A B Fa Fb se ABS(D) > Tol ento BB+D seno B B + SINAL(Z) x Tol fim se Iter Iter + 1
300

Fb f(B) { avaliar a funo em B } fim repita { Sada de dados } Raiz B { teste de convergncia } se () ou = 0 ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

301

Exemplo 3 Achar a menor raiz de ( ) = 4 + 2 3 13 2 14 + 24 = 0 , com 1010 , que se encontra no intervalo ,5 , 3-, usando o mtodo de van Wijngaarden-Dekker-Brent. Soluo - Utilizando um programa grfico, obtemos a Figura 3.19.

Figura 3.19 Grfico da funo f(x) do Exemplo 3.


302

- Utilizando o algoritmo van WDB, temos: % Os parmetros de entrada a = -5 b = -3 Toler = 1.0000e-10 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de van Wijngaarden-Dekker-Brent Iter 0 1 2 3 4 5 a -5.00000 -3.00000 -3.28571 -4.14286 -3.87500 -3.98516 c -5.00000 -5.00000 -3.28571 -4.14286 -4.14286 -3.98516 b -3.00000 -3.28571 -4.14286 -3.87500 -3.98516 -4.00032 Fb -2.40000e+01 -2.47397e+01 1.12453e+01 -7.85522e+00 -1.02599e+00 2.26777e-02 z -1.00000e+00 -8.57143e-01 4.28571e-01 -1.33929e-01 -7.88495e-02 7.58292e-03
303

6 7 8

-4.00032 -4.00000 -4.00000

-4.00032 -4.00032 -4.00032

-4.00000 -4.00000 -4.00000

-2.86125e-04 -7.80927e-08 0.00000e+00

-1.63983e-04 -1.61940e-04 -1.61940e-04

Raiz = -4.00000 Iter = 8 CondErro = 0 Assim, a menor raiz da equao 8 = 4 .

304

Exemplo 4 Achar a raiz de ( ) = 0,05 3 0,4 2 + 3 sen( ) = 0 , com 1010 , que se encontra no intervalo ,10 , 12-, usando o mtodo de van Wijngaarden-Dekker-Brent. Soluo - Utilizando um programa grfico, obtemos a Figura 3.20.

Figura 3.20 Grfico da funo f(x) do Exemplo 4.


305

- Utilizando o algoritmo van WDB, temos: % Os parmetros de entrada a = 10 b = 12 Toler = 1.0000e-10 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de van Wijngaarden-Dekker-Brent Iter 0 1 2 3 4 5 a c b Fb -6.32063e+00 9.48337e+00 -5.94963e+00 -7.96853e-01 2.34449e-02 -2.86520e-04 z 1.00000e+00 -6.00061e-01 2.28208e-01 1.40231e-01 -1.25507e-02 3.58711e-04
306

12.00000 12.00000 10.00000 10.79988 10.79988 12.00000 12.00000 12.00000 11.54358 11.54358 12.00000 11.71954 11.71954 11.74464 11.71954 11.74464 11.74464 11.74392

6 7

11.74392 11.74393

11.74464 11.74393

11.74393 11.74393

-1.00128e-07 1.42109e-14

3.54380e-04 -1.51400e-09

Raiz = 11.74393 Iter = 7 CondErro = 0 Assim, a raiz da equao 7 = 11,74393 . Segundo Brent (apud de Campos Filho), a convergncia pelo mtodo garantida desde que haja uma raiz no intervalo. A combinao da certeza de convergncia do mtodo da bisseo com a rapidez de um mtodo de ordem de convergncia maior, como o da interpolao inversa quadrtica, resulta em um esquema robusto e eficiente. O mtodo de WDB recomendado como sendo o mais adequado para o clculo do zero de uma funo de uma varivel quando a sua derivada no estiver disponvel.

307

3.2.4

Mtodos baseados em tangente.

- Mtodo de Newton Geometricamente, o mtodo de Newton equivalente a aproximar um arco da curva por uma reta tangente traada a partir de um ponto da curva, o que faz com que ele seja conhecido tambm como o mtodo das tangentes. Sejam a nica raiz de ( ) = 0 no intervalo , , - e uma aproximao desta raiz, sendo 0 , , -. Alm disso, as derivadas ( ) e ( ) devem existir, serem contnuas e com sinal constante neste intervalo. Considere a Figura 3.21, na qual: tan() = e (1 ) tan() = = (1 ) 1 2 (1 ) 2 = 1 (1 ) (0 ) = (0 ) 0 1 1 = 0 (0 ) (0 )

308

A generalizao das expresses acima fornece a equao de recorrncia do mtodo de Newton: +1 = ( ) , = 0 , 1 , 2 , ( )

Figura 3.21 Interpretao grfica do mtodo de Newton


309

Pela Figura 3.21, a sequncia produzida pela equao de Newton convergir para a raiz se o valor inicial for 0 = .
No entanto, para aquela figura, o processo pode no convergir se 0 = , pois teremos 1 , , -.

A questo da escolha do valor inicial de modo a garantir a convergncia para a raiz resolvida pelo teorema, a seguir:

Teorema Se ()() < 0, e ( ) e ( ) forem no nulas e preservarem o sinal em , , -, ento partindo-se da aproximao inicial 0 , , - tal que (0 ) (0 ) > 0 possvel construir, pelo mtodo de Newton, uma sequncia * + que convirja para a raiz de ( ) = 0. Por este teorema, o valor inicial 0 deve ser um ponto no qual a funo tenha o mesmo sinal de sua derivada segunda, isto , se (0 ) > 0, ento 0 tal que (0 ) > 0, e por outro lado, se (0 ) < 0, ento (0 ) < 0.

310

Um algoritmo do mtodo de Newton mostrado a seguir, no qual a raiz de uma equao ( ) = 0 calculada com tolerncia , contida no intervalo [a , b], usando os critrios (1) e (3). Os parmetros de entrada so o valor inicial 0 , a tolerncia Toler para o clculo da raiz e o nmero mximo de iteraes IterMax. A funo f(x) e sua derivada ( ) devem ser especificadas de acordo com a linguagem de programao utilizada. Os parmetros de sada so a raiz da equao ( ) = 0, Raiz, o nmero de iteraes gastas Iter e a condio de erro CondErro. Se CondErro = 0 significa que a raiz foi encontrada e CondErro = 1 indica que a raiz no foi encontrada com a tolerncia e o nmero mximo de iteraes fornecidas.

311

Algoritmo Newton { Objetivo: Calcular a raiz de uma equao pelo mtodo de Newton } { A funo desejada ser informada em um arquivo como uma Funo } parmetros de entrada x0 , Toler , IterMax { valor inicial , tolerncia e nmero mximo de iteraes } parmetros de sada Raiz , Iter , CondErro { raiz , nmero de iteraes gastas e condio de erro, sendo } { CondErro = 0 se raiz foi encontrada e CondErro = 1 em caso contrrio } { Declarar variveis } {} { Entrada de dados } {} { Iniciar variveis } { Avaliar a funo e sua derivada em x0 } Fx f(X0) DFx Df(X0) X X0 Iter 0 escreva Iter, X, DFx, Fx { Clculo necessrios } repita DeltaX -Fx / DFx
312

X X + DeltaX { Avaliar a funo e sua derivada em X } Fx f(X) DFx Df(X) Iter Iter + 1 escreva Iter, X, DFx, Fx, DeltaX { escolha entre interpolao e bisseo } se (ABS(DeltaX) Toler e ABS(Fx) Toler) ou DFx = 0 ou Iter IterMax ento interrompa fim se fim repita { Sada de dados } Raiz X { teste de convergncia } se () e () ento CondErro 0 seno CondErro 1 fim se {} Fim algoritmo

313

Exemplo 5 Determinar a maior raiz de ( ) = 4 + 2 3 13 2 14 + 24 = 0 , com 105 , utilizando o mtodo de Newton. Soluo - Analisando o grfico de P(x), sabe-se que ,2 , 4-, (2) < 0 e (4) > 0. - As derivadas so ( ) = 4 3 + 6 2 26 14 e ( ) = 12 2 + 12 26 > 0 , 2 4. - Assim, 0 = 4, pois (4) (4) > 0.

Figura 3.22 Grfico da funo P(x) do Exemplo 5.


314

- Utilizando o algoritmo Newton, temos:


% Os parmetros de entrada x0 = 4 Toler = 1.0000e-5 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de Newton Iter x DFx Fx DeltaX 0 4.00000 2.34000e+02 1.44000e+02 1 3.38462 1.21825e+02 3.64693e+01 -6.15385e-01 2 3.08526 8.03682e+01 6.40563e+00 -2.99358e-01 3 3.00555 7.06567e+01 3.90611e-01 -7.97036e-02 4 3.00003 7.00030e+01 1.80793e-03 -5.52830e-03 5 3.00000 7.00000e+01 3.93537e-08 -2.58264e-05 6 3.00000 7.00000e+01 1.42109e-14 -5.62196e-10 Raiz = 3.00000 Iter = 6 CondErro = 0 Assim, a menor raiz da equao 6 = 3 .
315

Exemplo 6
Calcular o ponto de inflexo i da funo ( ) = 2 3 + 3 2 + 3 , com 105 , pelo mtodo de Newton , usando o algoritmo Newton. Soluo - A condio de ponto de inflexo de uma funo que a derivada segunda se anule. Deste modo, deve-se achar uma raiz de ( ) = 0. - Teremos: ( ) = ( ) = 12 + 6 = 0. - Pelo grfico na Figura 3.23 verifica-se que ,2 , 1-. - As derivadas de () so ( ) = 12 e ( ) = < 0 . - Como (2) 1,1353 < 0 e (1) 5,2817 > 0, ento 0 = 2 por que (2) (2) > 0.

Figura 3.23 Grfico da funo f(x) do Exemplo 6.


316

- Utilizando o algoritmo Newton, temos: % Os parmetros de entrada x0 = -2 Toler = 1.0000e-5 IterMax = 100 % produzem os resultados
Calculo de raiz de equacao pelo metodo de Newton Iter 0 1 2 3 4 x -2.00000 -0.47148 -0.44671 -0.44669 -0.44669 DFx 1.18647e+01 1.13759e+01 1.13603e+01 1.13603e+01 1.13603e+01 Fx -1.81353e+01 -2.81878e-01 -1.93175e-04 -9.24905e-11 0.00000e+00 1.52852e+00 2.47785e-02 1.70045e-05 8.14158e-12 DeltaX

Raiz = -0.44669 Iter = 4 CondErro = 0 Assim, a raiz da equao 4 = 0,44669 .


317

- Mtodo de Schrder O mtodo de Newton apresenta uma convergncia linear quando uma raiz tem multiplicidade > 1. Isto por que medida que ( ) 0, o denominador ( ) 0. Uma modificao simples proposta por Schrder permite o clculo de uma raiz de multiplicidade m, mantendo a convergncia quadrtica, utilizando a equao de recorrncia: +1 = ( ) , = 0 , 1 , 2 , ( )

O algoritmo do mtodo de Schrder basicamente igual ao de Newton, mas acrescido do parmetro extra m para definir a multiplicidade, que usada no comando: expresso substituta de

318

Exemplo 7 Calcular a raiz de ( ) = 4 + 2 3 12 2 + 14 5 = 0 de multiplicidade = 3, com tolerncia 105 , pelo mtodo de Schrder. Soluo - Analisando o grfico de P(x), sabe-se que ,0,5 , 1,5-. - As derivadas so ( ) = 4 3 + 6 2 24 + 14 e ( ) = 12 2 + 12 24 > 0 > 1 . - Assim, 0 = 1,5, pois (1,5) (1,5) > 0.

Figura 3.22 Grfico da funo P(x) do Exemplo 7.


319

- Utilizando o algoritmo Schrder, temos:


% Os parmetros de entrada m=3 x0 = 1.5 Toler = 1.0000e-5 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo de Schroder Iter x DFx Fx
0 1 2 3 4 1.50000 1.01250 1.00001 1.00000 1.00000 5.00000e+00 2.82031e-03 1.34884e-09 1.83871e-10 1.83871e-10 8.12500e-01 1.17432e-05 5.32907e-15 0.00000e+00 0.00000e+00

DeltaX
-4.87500e-01 -1.24913e-02 -1.18526e-05 -0.00000e+00

Raiz = 1.00000 Iter = 4 CondErro = 0 Assim, a raiz procurada 3 = 1 .


320

3.3 Comparao entre os mtodos. Um estudo comparativo do desempenho de mtodos utilizando uma srie de equaes est longe de ser perfeito, justamente, pela dependncia do resultado na escolha dessas equaes. Mesmo assim, interessante verificar o desempenho dos mtodos estudados nesta unidade. Para tal foram escolhidas cinco equaes, das quais duas com raiz de multiplicidade > 1, e o intervalo que isola a raiz desejada. 1 ( ) = 2 4 + 4 3 + 3 2 10 15 = 0 , 3 ( ) = 5 3 + 2 12 + cos( ) + 20 = 0 , 4 ( ) = ( ) + 4 = 0 , 5 ( ) = ( 3)5 log ( ) = 0 , ,1 , 5 ,2 , 5- , = 5 ,0 , 3 ,0 , 5- , ,5 , 5 = 3 2 ( ) = 5 2 4 9 3 + 22 2 + 4 24 = 0 ,

Para todos os mtodos foram utilizados o mesmo nmero mximo de iteraes (500), tolerncia 1010 e critrio de parada, com exceo do mtodo WDB que usa um critrio ligeiramente diferente. Para o mtodo de Newton, 0 foi escolhido como o ponto mdio do intervalo dado, sem considerar o Teorema dado na respectiva teoria do mtodo.
321

Os resultados esto apresentados nas Tabelas 3.1 a 3.5, nas quais Iter o nmero de iteraes gastas, Erro a condio e erro (se CondErro = 1 ou Raiz est fora do intervalo dado, ento Erro sim) e trel o tempo relativo ao tempo gasto pelo mtodo da bisseo. Tabela 3.1- Comparao de mtodos usando 1 ( ) = 2 4 + 4 3 + 3 2 10 15 = 0 , ,0 , 3Mtodo Bisseo Secante Regula falsi Pgaso Muller W-D-Brent Newton Raiz 1,49288 -1,30038 1,49288 1,49288 1,49288 1,49288 1,49288 Iter 37 8 77 10 4 9 4 sim Erro 1,00 0,28 2,06 0,35 0,25 0,63 0,20

O mtodo da bisseo mostrou sua robustez, pois no falhou apesar de no ser o mais eficiente.
322

A secante, embora seja rpida, encontrou uma raiz fora do intervalo dado (Tabela 3.1). A regula falsi apresentou uma convergncia muito lenta e falhou trs vezes. O Pgaso, alm de ser robusto, foi competitivo com relao ao mtodo de van W-D-Brent. Tabela 3.2- Comparao de mtodos usando 2 ( ) = 5 2 4 9 3 + 22 2 + 4 24 = 0 , ,0 , 5- , = 3 Mtodo Raiz Iter Erro Bisseo Secante Regula falsi Pgaso Muller W-D-Brent Newton Schrder 1,99999 2,00000 1,82374 1,99999 2,00001 2,00001 2,00001 2,00000 35 47 500 60 500 57 37 4 sim sim sim 1,00 1,36 13,42 1,76 17,85 3,59 1,55 0,23
323

O mtodo de Muller no foi robusto, embora eficiente, pois falhou nos casos onde a raiz possui multiplicidade (Tabelas 3.2 e 3.5). O mtodo de van W-D-Brent foi robusto, mas tambm foi menos eficiente na presena de multiplicidade. Tabela 3.3- Comparao de mtodos usando 3 ( ) = 5 3 + 2 12 + cos( ) + 20 = 0 , ,5 , 5Mtodo Bisseo Secante Regula falsi Pgaso Muller W-D-Brent Newton Raiz -0,92956 -0,92956 0,69661 -0,92956 -0,92956 -0,92956 -0,92956 Iter 41 21 500 19 32 8 11 sim Erro 1,00 0,56 12,33 0,57 1,16 0,51 0,48
324

O mtodo de Schrder uma efetiva modificao do mtodo de Newton para evitar problemas com razes de multiplicidade, conforme mostram os resultados das Tabelas 3.2 3 3.5, pelas quais ele foi, sem dvidas, o mais eficiente. Tabela 3.4- Comparao de mtodos usando 4 ( ) = ( ) + 4 = 0 , ,1 , 5Mtodo Bisseo Secante Regula falsi Pgaso Muller W-D-Brent Newton Raiz 4,32324 4,32324 4,32324 4,32324 4,32324 4,32324 4,32324 Iter 36 7 9 7 6 7 6 Erro 1,00 0,27 0,32 0,28 0,35 0,57 0,30

325

Tabela 3.5- Comparao de mtodos usando 5 ( ) = ( 3)5 log ( ) = 0 , ,2 , 5- , = 5 Mtodo Bisseo Secante Regula falsi Pgaso Muller W-D-Brent Newton Schrder Raiz 3,00000 3,00000 2,67570 3,00000 3,01289 3,00000 3,00000 3,00000 Iter 34 137 500 187 500 80 95 4 sim sim Erro 1,00 3,90 13,89 5,47 18,82 5,45 4,45 0,26

326

Exemplo 8 Determinar o comprimento de um cabo suspenso entre dois pontos distantes 50 m que esto no mesmo nvel e fazendo uma flecha de 2 m, conforme Figura 3.23(a).

Modelagem matemtica - O comprimento L dado pela equao: = 2 .2 / onde d a distncia entre os dois pontos e a raiz da equao: ( ) = . .2 / 1/ = 0 onde f a flecha.

327

- Observando a Figura 3.23(b), nota-se que a raiz est isolada no intervalo ,140 , 160-. Utilizando o mtodo Pgaso, obtm-se:

(a) O problema do cabo suspenso

(b) Isolamento da raiz

Figura 3.23 Comprimento de um cabo suspenso.

328

% Os parmetros de entrada a = 140 b = 160 Toler = 1.0000e-05 IterMax = 100 % produzem os resultados Calculo de raiz de equacao pelo metodo pegaso Iter 0 1 2 3 a 140.00000 140.00000 140.00000 Fa 0.23808 0.21474 0.21228 b Fb x Fx -4.662e-03 -5.405e-05 1.055e-07 -2.828e-12 DeltaX -3.053e+00 -3.601e-01 -4.222e-03 8.224e-06

160.00000 -0.04290 156.94652 156.94652 -0.00466 156.58642 156.58642 -0.00005 156.58219 0.00000 156.58220

156.58642 -0.00005 156.58219

Raiz = 156.58220 Iter = 3 CondErro = 0


329

Sendo = 156,58220, ento o comprimento do cabo : = 2 .2 / = 2 156,58220 .2156,58220/ = 50,21270 - O comprimento do cabo suspenso entre dois pontos no mesmo nvel distantes 50 m e fazendo uma flecha de 2 m igual a 50,21 m.
50

330

REFERNCIAS Contedo deste captulo foi compilado de: CAMPOS FILHO, F. F., Algoritmos Numricos, 2 ed Editora LTC, Rio de Janeiro RJ, 2007.

SPERANDIO D., MENDES, J.T., SILVA, L.H.M., Clculo Numrico: Caractersticas Matemticas e Computacionais dos Mtodos Numricos, Prentice Hall, So Paulo, 2003.

RUGGIERO, M.A.G. E LOPES, V.L.R., Clculo Numrico - Aspectos Tericos e Computacionais, Makron 3. BARROSO, L.C., ET AL., Clculo Numrico (com aplicaes), 2a ed., So Paulo, Editora Harbra, 1987.

331