Você está na página 1de 71

Sumário

1. Teoria dos Erros

2. Representação de Números no Computador

2.1. Representação de Números Inteiros

2.2. Representação de Números Fracionários

3. Aritmética de Ponto Fixo

4. Aritmética de Ponto Flutuante

4.1. Erro Absoluto e Relativo

4.2. Arredondamento e Truncamento

5. Zeros de Funções Reais

5.1. Isolamento das Raízes

5.2. Refinamento

5.3. Critérios de Parada

5.4. Métodos Numéricos

6.

7.

5.4.1. Método da Bissecção

5.4.2. Método das Cordas ou Posição Falsa

5.4.3. Método de Newton ou Newton- Raphson

5.4.4. Método da Secante ……………………………………

………….

Sistemas Lineares ………………………………………………

6.1.

6.2.

6.3.

6.4.

6.5.

6.6.

Interpolação Polinomial …………………………………………… 7.1.Existência e Unicidade do Polinômio Interpolador ………

….…………

Classificação de um Sistema Linear ……………………… Sistemas Triangulares …………………………………… Método de Eliminação de Gauss ……………………… Cálculo de Determinantes ………………………………

……………… Método de Eliminação de Gauss com Pivoteamento Parcial ……… Método Iterativo de Gauss-Seidel ……………………………

………………

……………

………………

……….…

…………

……………

7.2. Formas de se Obter p (x)

n

…………………

………

………

7.2.1. Resolução do Sistema Linear

7.2.2. Polinômio Interpolador de Lagrange

7.2.3. Polinômio Interpolador na Forma de Newton

8. Integração Numérica

8.1. Formulas de Newton-Cotes

03

04

05

06

07

07

09

09

11

13

15

15

16

16

18

21

25

26

27

29

29

32

33

34

36

37

38

38

39

41

42

44

 

8.1.1. Regra do Trapézio Simples

44

8.1.2. Regra do Trapézio Composto

46

8.1.3. 1º Regra de Simpson ou Simpson 1/3 Simples

48

8.1.4. 1º Regra de Simpson Composta ou Simpson 1/3

Composto

51

9.

Ajuste de Curvas

52

9.1. Método dos Mínimos Quadrados – Ajuste Linear

52

Listas de Exercícios

57

1º Lista de Exercícios

58

2º Lista de Exercícios

60

3º Lista de Exercícios

62

4º Lista de Exercícios

66

5º Lista de Exercícios

69

1. Teoria dos Erros

Estudaremos métodos numéricos para a resolução de problemas que surgem nas mais diversas áreas.

A resolução de tais problemas envolve várias fases que podem ser assim estruturadas:

Problema

Problema

Real

Real

ser assim estruturadas: Problema Problema Real Real Levantamento Levantamento de dados de dados

Levantamento

Levantamento

de dados

de dados

Real Levantamento Levantamento de dados de dados Construção do Construção do Modelo Modelo
Real Levantamento Levantamento de dados de dados Construção do Construção do Modelo Modelo
Real Levantamento Levantamento de dados de dados Construção do Construção do Modelo Modelo
Real Levantamento Levantamento de dados de dados Construção do Construção do Modelo Modelo
Real Levantamento Levantamento de dados de dados Construção do Construção do Modelo Modelo

Construção do

Construção do

Modelo

Modelo

Matemático

Matemático

Escolha do Método

Escolha do Método

Numérico

Numérico

Adequado

Adequado

do Método Numérico Numérico Adequado Adequado Implementação Implementação deste Método deste
do Método Numérico Numérico Adequado Adequado Implementação Implementação deste Método deste

Implementação

Implementação

deste Método

deste Método

Implementação deste Método deste Método Análise dos Análise dos Resultados Resultados
Implementação deste Método deste Método Análise dos Análise dos Resultados Resultados
Implementação deste Método deste Método Análise dos Análise dos Resultados Resultados

Análise dos

Análise dos

Resultados

Resultados

Obtidos

Obtidos

dos Resultados Resultados Obtidos Obtidos Se Necessário: Se Necessário: Reformular o Modelo

Se Necessário:

Se Necessário:

Reformular o Modelo

Reformular o Modelo

Matemático e/ou

Matemático e/ou

Escolher Novo

Escolher Novo

Método Numérico

Método Numérico

Em uma primeira etapa temos que obter um modelo matemático que representa de

maneira mais conveniente o problema que queremos estudar. Construído o modelo matemático do problema, na segunda etapa procuramos encontrar a solução. Muitas vezes não é possível encontrar a solução exata do problema, nessa situação aplicamos alguns métodos numéricos para obtermos a solução numérica do modelo matemático. A solução numérica de um problema tem como característica marcante à aproximação. Um método numérico da origem a processos numéricos (algoritmos), pelos quais uma solução numérica é calculada, após a execução de um número finito de operações elementares. Uma solução numérica é tanto mais precisa quanto mais próxima estiver da solução exata, isto é, quanto menor for o erro que lhe estiver associado.

A solução obtida pelo processo numérico pode diferir da solução do problema real.

Nesse caso, as fontes de erro que levam a essa diferença são:

1. Simplificações no modelo matemático: Este erro se deve ao fato que temos introduzido simplificações na construção do modelo matemático para tornar o problema físico solúvel. Por exemplo, para calcular o período de um pêndulo, desprezamos sua massa.

2. Erro de Truncamento: Quando um modelo matemático envolve, por exemplo, a avaliação de uma série infinita, cometemos erro de truncamento ao avaliar esta série utilizando um número finito de termos. O erro de truncamento é inerente ao processo numérico; este tipo de erro subsistiria ainda que todas as operações aritméticas fossem executadas exatamente, isto é, ainda que não existisse o erro de arredondamento. Exemplo:

e

x

n

=

n = 0

x

n !

3. Erro de Arredondamento: Todos os instrumentos de auxilio na execução de métodos numéricos (computador, máquina de calcular, etc) trabalham com a representação dos números na forma decimal, com uma quantidade fixa de algarismos significativos. Entretanto, o resultado de uma operação aritmética qualquer não pode ser representado necessariamente desta forma, obrigando o seu arredondamento. Esses erros podem danificar os resultados quando temos um número grande de operações.

4. Erros nos dados: Freqüentemente os dados são obtidos através de medidas experimentais, portanto, sujeitos a imprecisões. Além disso, os erros nos dados podem ser ocasionados pela necessidade de se arredondar um dado de entrada.

2. Representação de Números no Computador

Na

vida

cotidiana

usamos

números

tomando

como

base

um

sistema

de

posicionamento na base 10 (sistema decimal), nesse sistema o número 327.302 significa

3.10

2

+

2.10

1

+

7.10

0

+

3.10

1

+

0.10

2

+

2.10

3

.

Os cálculos no computador são efetuados com base nos impulsos enviados por componentes elétricas, logo dois estados podem ocorrer: on” – na presença de corrente e “off” – na ausência de corrente. Dessa forma torna-se conveniente representar os números nos computadores usando o sistema binário, de base 2, visto que na base 2 somente dígitos ‘0’ e ‘1’ são utilizados. Nesse sistema qualquer número pode ser expresso por uma combinação de zeros e uns.

2.1. Representação de Números Inteiros

Um número inteiro não negativo N será representado no sistema binário por:

N

=

a .2

n

n

N

= (

+

a

n 1

a a

n

n1

.2

n 1

+

a a

1

+

0

)

a .2

1

1

+

a .2

0

0

a

n

= 1

onde os coeficientes

A conversão de um número do sistema binário para o sistema decimal pode ser efetuada a partir da definição acima. Exemplos:

e

a

n

1

,a

2

,a ,a

1

0

são ‘0’ ou ‘1’.

n

1)

(11)

2

=

2)

3)

4)

(1101)

(11011)

(101010)

2

=

2 =

2

=

A conversão de um inteiro do sistema decimal para o sistema binário é obtida pelo método das divisões sucessivas que consiste em dividirmos o número por dois, em seguida, o resultado da divisão é novamente dividido por dois, seguimos esse procedimento sucessivas vezes até que o quociente 1 seja encontrado. Exemplos:

1)

2)

(17)

(22)

2

2

=

=

2.2. Representação de Números Fracionários

Se um número real X tem parte inteira X i e parte fracionária X f então, X pode ser escrito como X=X i +X f .

A parte fracionária X f pode ser escrita como fração binária da seguinte forma:

onde

b

j

= 0

X

f

ou 1, j .

=

b

1

.2

1

+

b

2

.2

2

+

+

b

n

.2

n

,

Assim, o número real X será representado juntando as partes X i e X f , ou seja:

(

X

)

2

=

(

a a

n

n

1

a a

1

0

.

b b

1

2

b

n

)

A conversão de um número fracionário do sistema binário para o sistema decimal pode

ser efetuada como segue:

Exemplos:

1)

(0,01)

2 =

2)

(0,1)

2 =

(0,101)

2

3)

A conversão de um número fracionário do sistema decimal para o sistema binário pode

=

ser efetuada da seguinte forma:

Exemplos:

1) X=20,6875

2) X=0,6

Observação: No item b) do exemplo acima observamos que a parte fracionária 0,2 se repetiu, o que implica que os próximos cálculos serão os mesmos que obtidos a partir de 0,2. Assim, o número fracionário 0,6 na base 10 não tem representação finita na base 2. Isto ocorre em muito outros números fracionários implicando em “erros”. Embora o sistema binário tenha uma série de vantagens para a utilização em sistemas digitais, também apresenta algumas desvantagens. Uma das desvantagens de representarmos os números decimais em binário é que a representação binária requer um

número maior de bites para representação, ou seja, requer mais espaço físico para armazenar o mesmo número.

10 necessita de 13 dígitos

binários para representar o número equivalente em decimal, o qual é escrito com apenas 4 dígitos.

Por exemplo o número

(1000000000000)

2

= 2

12

= (4096)

3. Aritmética de Ponto Fixo

Os primeiros computadores empregavam uma representação dos números chamada de representação de ponto fixo, em que, para cada operação, o usuário tinha que especificar quantos dígitos deveriam ser usados para representar as partes inteiras e fracionárias de um número real.

Assim, dado um número real, x 0 , ele será representado em ponto fixo por:

x

= ±

n

i

=

k

i

x β

i

onde k e n são inteiros satisfazendo k < n e usualmente k 0 e n > 0 e os

inteiros satisfazendo

0

x

i β

.

x

i

são

Por exemplo, na base β = 10, o número 1997,16 é representado por

1997,16

=

2

i =− 3

x β

i

i

=

1.10

3

+

9.10

2

+

9.10

1

+

7.10

0

+

1.10

1

+

6.10

2

4. Aritmética de Ponto Flutuante

Em geral calculadoras e computadores usam o sistema computacional de aritmética de ponto flutuante em cálculos científicos. A representação de um número em ponto flutuante, que é mais flexível que a representação em ponto fixo, é universalmente utilizada nos dias atuais. Um número X qualquer pode ser representado em aritmética de ponto flutuante na

base β como:

fl(x)

= ±

(.d d

1

2

d ).β

t

e

onde:

β é a base em que a máquina opera;

(. d d

1

2

d )

t

formam

significativos, com 0

d

a

i

mantissa

do

β 1

, i =1,

número

e

representa

,t

d 1 0

.

seus

t

dígitos

e

é o expoente que varia no intervalo [-N,N], para algum N>0, sendo que estes

limites dependem da máquina utilizada.

Observações:

Um número X na representação de ponto flutuante é dito normalizado quando o

dígito

d

1

de sua mantissa é tal que

d

1

0

.

O número t de dígitos significativos do sistema de ponto flutuante corresponde à precisão da máquina. O número zero pertence a qualquer sistema e é representado com mantissa igual a zero e com o menor expoente possível na máquina.

Dado um número real X sua representação em aritmética de ponto flutuante de t dígitos é obtida através de truncamento ou de arredondamento. Esse número não poderá ser

representado neste sistema se o expoente e estiver fora do intervalo [-N,N]. Neste caso,

ocorre os erros de “underflow” se e < −N e “overflow” se e > N .

A união de todos os números em ponto flutuante, incluindo o zero, normalizados, na

base β , com t dígitos significativos e com limites de expoente –N e N, é denominado de

sistema de ponto flutuante da máquina e denotaremos por F(β,t,N, N) .

Consideremos, por exemplo, uma máquina que opera no sistema F(10,3,5,5) . Os

números

serão

representados

na

seguinte

forma

nesse

sistema:

0.d d d .10

1

2

3

e

,

0

d

i

9

,

d

1

0

, e [5,5] . O menor número, em valor absoluto, representado

nesta máquina é:

m =

e o maior número, em valor absoluto é:

0,100.10

5

=

10

6

M =

0,999.10

5

=

99900

.

De forma geral, para um sistema de ponto flutuante normalizado F(β,t,N, N), o

menor número em valor absoluto é determinado por:

m = 0,1.β

N

e o maior número representável é determinado por:

M =

0,(

β

1)(

β

1)

(

β

1).

N

β

.

Algumas linguagens de programação permitem que as variáveis sejam declaradas com precisão dupla. Neste caso, esta variável será representada no sistema de aritmética de ponto flutuante da máquina, mas com aproximadamente o dobro de dígitos disponíveis na mantissa, permitindo maior precisão e um intervalo maior de representatividade dos números. É importante observar que, neste caso, o tempo de execução e requerimentos de memória aumentam de forma significativa.

4.1. Erro Absoluto e Relativo

Definimos como Erro Absoluto a diferença entre o valor exato de um número X e de

seu valor aproximado X *; ou seja:

(

EA X

*)

=

X

X *

.

O Erro Relativo é definido como o erro absoluto dividido pelo valor aproximado:

EA X ( *) X − X * ER X ( *) = = .
EA X
(
*)
X
− X *
ER X
(
*) =
=
.
X *
X *

4.2. Arredondamento e Truncamento

Sabemos que qualquer número real X pode ser representado na forma normalizada como:

X

= ±

(.d d

1

2

d d

t

t

+1

).β

e

.

No truncamento a mantissa é obtida mantendo-se os t primeiros dígitos decimais, isto

é,

fl(X )

= ±

(.d d

1

2

d ).β

t

e

.

Se X for obtido por arredondamento então o valor

1

2

β β

.

et+

(

então faz-se o truncamento, isto é, se

d

t +

1

5

somamos 1 a

d

t+

1 <

5 somente truncamento é efetuado.

1)

é adicionado a X e

d

t

e truncamos. Se

Assim, arredondar um número X, por outro com um número menor de dígitos

significativos, consiste em encontrar um número X *, pertencente ao sistema de

numeração, tal que

X X *

seja o menor possível.

Em geral, seja

X = ±

(.a a

1

2

a

t

a

t

+1

a

t

+2

).β

e

.

Então se um computador trabalha com t casas decimais na base β , a representação

de X em ponto flutuante é:

onde

(000

fl

(

1)

X

)

=

t

= β

X

.

*

=

± (

a a

1

2

±

[( a a

1

2

a

n ).

a

n

)

β

e

+

,

se

0

(00

<

a

1)].

β

2

β

n +

1

<

β

e

,

se

>

O erro absoluto nessa representação é:

X

X

*

= ±

0

(00

tzeros

a

n

+

1

a

n

+

2

).

β

e

,

se

 

X

logo,

 

X

X *

Assim:

Para o erro relativo temos:

X

*

= ±

( a

= ±( a

n

+

1

a

n

+

(

EA X

*)

<

n

2

+

1

1

2

a

n

+

2

).

β

e

β

e

t

.

t

).β

e

<

1

2

a n+ 1

t

β

e

t

<

.

a

β

2

n +

1

>

β

2

ou seja:

(

ER X

*)

=

1 1 e − t e − t β β X − X * 1
1
1
e
t
e
t
β
β
X
X *
1
2
2
<
<
<
e
X *
X
(.
a a
).
β
2
1
2
− t
ER X
(
*)
<
1 β
2
.

β

t

Exemplo: Dar a representação dos números a seguir no sistema de aritmética de ponto

flutuante F(10,3,4,4) .

X

Representação

Arredondamento

Representação

Truncamento

1,25

10,053

-238,16

2,71828

0,000007

718235,82

28,23699

1025,2120

0,000000089

56239874,95

5. Zeros de Funções Reais

A solução de muitos problemas nas mais diversas áreas das ciências exatas requer a resolução de diversos tipos de equações. Dentre elas, há o interesse particular na determinação da solução de equações da forma f (x) = 0, onde f (x) é uma função

definida em um certo intervalo. Um número real z é um zero da função

f (x) ou uma raiz da equação

f (x) = 0

se

f (z) = 0 .

Em alguns casos, as raízes das equações

f (x) = 0 podem ser reais ou complexas.

Estudaremos somente métodos para determinação das raízes reais.

Graficamente, as raízes são representadas pelas abscissas dos pontos onde uma curva intercepta o eixo x.

f(x) f(x) f(x) f(x) f(x) x x z z z z 1 1 2 2
f(x)
f(x)
f(x)
f(x)
f(x)
x x
z z
z z
1 1
2 2
z z z 1
z z z 2
z z z 3
1 1
2 2
3 3
(a)
(a)
(b) (b)
f(x)
f(x)
x x
z z
z z
z z
2 2
3 3
1 1
(c)
(c)

x x x

Sabemos que, para algumas equações, como, por exemplo, as equações polinomiais de grau menor ou igual a 4, existem métodos diretos que fornecem todas as raízes. No entanto, no caso de polinômios de grau mais alto e no caso de funções mais complicadas, é praticamente impossível determinar as raízes exatamente. Nestes casos precisamos recorrer a métodos numéricos. A idéia central destes métodos é partir de uma aproximação inicial para a raiz e em seguida refinar essa aproximação através de um processo iterativo. Para encontrarmos numericamente a raiz de uma equação, duas etapas devem ser seguidas:

Isolamento: Determinar um intervalo [a,b], o menor possível, que contenha uma raiz da equação f (x) = 0.

Refinamento: Escolhidas aproximações iniciais no intervalo encontrado na 1º etapa melhorá-las sucessivamente até se obter uma aproximação para a raiz com uma precisão prefixada.

5.1. Isolamento das Raízes

Nesta etapa é feita uma análise teórica e gráfica da função f (x) . É importante

ressaltar que o sucesso da 2º etapa depende fortemente da precisão desta análise. Na análise teórica de raízes reais através do gráfico, usamos freqüentemente o teorema de Bolzano a seguir. Teorema Seja f (x) uma função contínua que assume valores de sinais opostos nos

extremos do intervalo [a,b], isto é,

x = z entre a e b tal que f (z) = 0 .

f (a). f (b) < 0. Então existe pelo menos um ponto

Graficamente: f(x) f(x) a a z z b b
Graficamente:
f(x)
f(x)
a a
z z
b b

x x

f(x) f(x) a a z z z z z z b b 1 1 2
f(x)
f(x)
a a
z z
z z
z z
b b
1 1
2 2
3 3

x x

Observação: Se a derivada

contém uma única raiz z de f (x) .

f '(x) existir e preservar sinal em (a,b) então este intervalo

Graficamente: f(x) f(x) f(x) f(x) a a a a b b x x z z
Graficamente:
f(x)
f(x)
f(x)
f(x)
a
a a
a
b b
x x
z z
x x
b b
a
a
z z
f f
'(x) > 0,∀x∈[a,b]
'(x) > 0,∀x∈[a,b]
f f
'(x) < 0,∀x∈[a,b]
'(x) < 0,∀x∈[a,b]
> 0,∀x∈[a,b] '(x) > 0,∀x∈[a,b] f f '(x) < 0,∀x∈[a,b] '(x) < 0,∀x∈[a,b]

Uma forma de se isolar as raízes de

f (x) usando os resultados anteriores é tabelar

e o sinal da

f (x) para vários valores de x e analisar as mudanças de sinal de

f (x)

derivada nos intervalos em que f (x) mudou de sinal.

Exemplos: Encontrar um intervalo que contenha cada uma das raízes de f (x) utilizando

o Teorema 1 e o sinal de f '(x) .

1)

2)

f

f

(

(

x

x

3 ) = x − 9 x + − x ) = x − 5
3
)
= x
9
x +
− x
) =
x
− 5
e

3

A análise gráfica da função f (x) ou da equação f (x) = 0 é fundamental para se obter

boas aproximações para a raiz. Para tanto, é suficiente utilizar um dos seguintes processos:

i. Esboçar o gráfico da função

curva intercepta o eixo x;

f (x) e localizar as abscissas dos pontos onde a

ii. A partir da equação f (x) = 0 , obter a equação equivalente g(x) = h(x) , esboçar

os gráficos das funções g(x) e h(x) no mesmo eixo cartesiano e localizar os

pontos x onde as duas curvas se interceptam, pois neste caso

f (z) = 0 g(z) = h(z) .

Exemplos: Encontrar um intervalo que contenha cada uma das raízes de f (x) utilizando

um método gráfico.

1.

f

(

x

)

= x

3

9

x +

f

2. ) =

(

x

x
x

5

e

x

3

3. f (x) = xlog x 1

4. f (x) = 5log x 2 + 0,4x

5.2. Refinamento

Todos os métodos que estudaremos para encontrar a solução de uma equação pertencem à classe dos métodos iterativos. Um método iterativo consiste em uma seqüência de instruções que são executadas passo a passo, algumas das quais são repetidas em ciclos. A execução de um ciclo recebe o nome de iteração. Cada iteração utiliza resultados das iterações anteriores e efetua determinados testes que permitem verificar se foi atingido um resultado “próximo” do esperado. Para aplicar qualquer método iterativo devemos ter sempre uma idéia sobre a localização da raiz a ser determinada. Essa localização é obtida, como vimos anteriormente, através de gráficos ou do teorema 1. A partir da localização da raiz,

0 como uma aproximação inicial para a raiz z de f (x) = 0 . Com essa

escolhemos então

aproximação inicial e um método iterativo, refinamos a solução até obtê-la com uma determinada precisão (número de casas decimais corretas).

x

5.3. Critérios de Parada

Todos os métodos iterativos necessita realizar um teste para verificar quão próximo a

raiz aproximada z está da raiz exata de

f (x) . Para realizarmos tal teste devemos antes

determinar uma precisão ε pré-fixada que normalmente escolhemos com sendo

onde m é o número de casa decimais que queremos corretas no resultado. Para obtermos uma raiz z com uma determinada precisão ε devemos realizar durante o processo iterativo um dos seguintes teste:

10 m

I)

II)

z x

f (z)

< ε

<ε

ou se

Apesar de utilizarmos como teste de parada o fato de

f (z)

<ε

, é preciso ter muito

cuidado pois a menos que se tenha uma idéia muito clara do comportamento da função o fato desse teste ser satisfeito não implica necessariamente que z esteja próximo da raiz

,

onde a única raiz é z = 1. Calculando f (x) para x=2, 4, 8, 16, 32,

procurada, como pode ser observado no seguinte exemplo: considere

obtemos,

f

(

x

)

x

3

ln

x

=

=

0

respectivamente: 0,0866; 0,0217; 0,00406; 0,0006769; 0,0001058; longe estamos de z, menor é o valor de f (x) .

isto é, quanto mais

Com o teste

z x

< ε

, também devemos ter cuidado, pois se os números x e z forem

muito grandes e ε for muito pequeno, pode não ser possível calcular a raiz com uma

precisão tão exigente.

se resolvermos a equação

Como

por

exemplo,

usando esse critério de parada, verificaremos

que o número de iterações necessárias para encontramos a raiz é muito grande. E isso ocorre porque a raiz que estamos procurando tem módulo grande e portanto é muito difícil tornar a diferença acima menor que ε .

f (x) = (x 1)(x 2000) = 0 com

ε =

10

4

Observação: Em programas computacionais, além do teste de parada usado para cada método, deve-se ter o cuidado de estipular um número máximo de iterações para se evitar que o programa entre em “looping” devido a erros no próprio programa ou à inadequação do método usado para o problema em questão.

5.4. Métodos Numéricos 5.4.1.Método da Bissecção

Seja f(x) uma função contínua em um certo intervalo [a,b], com a<b, e tal que f(a).f(b)<0. Vamos supor que no intervalo [a,b] existe uma única raiz da equação f(x)=0. O objetivo deste método é reduzir a amplitude do intervalo que contém a raiz até se atingir a precisão requerida, (b a) < ε , ou seja até uma certa quantidade de iterações,

usando para isto sucessivas divisões de [a,b] ao meio. Inicialmente, dividimos o intervalo [a,b] ao meio para determinar a possível raiz aproximada, ou seja:

ou

Se

f

(

x

0

)

=

0

a + b x = 0 2
a
+
b
x
=
0
2

, então x 0 é uma raiz. Caso contrário, verificamos se:

f(a).f(x 0 )<0

f(x 0 ).f(b)<0.

Se a 1º condição for satisfeita, a raiz

condição for satisfeita, então a raiz

z

[

x

0

,

b

]

z

[

a

,

x

0

]

e

então tomamos b=x 0 ; se a 2º

e então tomamos a=x 0 .

O processo é repetido até que seja obtida uma aproximação para a raiz exata z,
O processo é repetido até que seja obtida uma aproximação para a raiz exata z, com
uma tolerância ε desejada.
Graficamente:
f(x)
f(x)
a a
x x
z
z
b
b
As iterações são realizadas da seguinte forma:
f
(
a
)
<
0
z
∈ (
a
,
x
)
0
0
0
a
+
b
0
0
f
(
b
)
>
0
=
=
a
a
x
0
1
0
0
2
f
(
x
)
>
0
b
=
x
0
1
0

x

x

2

1

=

a

1

+

b

1

2

=

a

2

+

b

2

2

f

f

f

f

f

f

(

(

(

a

b

1

1

x

1

)

)

)

(

(

(

a

b

x

2

2

2

)

)

)

<

>

>

<

>

>

0

0

0

0

0

0

z

a

b

(

=

2

2

=

x

1

x

1

b

1

,

z

a

b

(

3

3

=

=

x

2

x

2

b

2

b

1

,

b

)

2

)

Exemplos: Encontrar as raízes das equações abaixo pelo método da bissecção.

1)

2)

x

log

e

x

x

1

=

0,

ε =

10

ln

x =

0,

ε =

10

2

.

2

;

5.4.2.Método das Cordas ou Posição Falsa

Se f(x) uma função contínua com sua derivada de segunda ordem constante no intervalo [a,b] e tal que f(a).f(b)<0. Supondo que o intervalo (a,b) contém uma única raiz da equação f(x)=0. Neste método tomamos a reta secante que passa pelos pontos a e b, e onde ela cruza o eixo x temos a raiz aproximada z. Graficamente:

f(x) f(x) a a z z b b
f(x)
f(x)
a a
z
z
b
b

x x

Devemos observar que neste método apenas um dos extremos a ou b, se move. O ponto móvel é o ponto para o qual a função f(x) apresenta sinal contrário ao da segunda derivada f’’(x). Analisando os sinais de f(x) e f’’(x) podemos ter apenas quatro situações distintas.

Caso I

f(x) f(x) a a z z b b
f(x)
f(x)
a a
z
z
b
b

x x

Caso II f(x) f(x) b b a a z z
Caso II
f(x)
f(x)
b b
a a
z z

Caso III

f(x) f(x) a a z z b b
f(x)
f(x)
a a
z z
b b

x x

x x

Caso IV

f(x) f(x) b b z z a a A equação da reta secante é determinada
f(x)
f(x)
b b
z z
a a
A equação da reta secante é determinada da seguinte forma:
y − y
= m x − x
(
)
0
0

onde

Considerando que (

x

0

,

y

0

)

=

(

a

,

f

(

m =

y

1

y

0

x

1

y

)

1

)

x

0

=

f

a ))

e (

x

1

,

f

(

b

(

(

b

,

f

a

)

m =

b

a

(

b

))

, temos:

x x

No ponto onde a reta secante corta o eixo x temos y=0, logo:

0

 

x

0

)

f

(

b

)

f

(

a

)

(

x

a

)

 
 

b

a

 

af

(

a

)

=

[

f

(

b

)

f

(

a

)]

x

af ( b

)

=

[

f

(

b

)

f

(

a

)]

x

   

af b

(

)

bf a

(

)

x =

f

(

b

)

f

(

a

)

y

0

=

m ( x

(

a

)

(

(

a

a

)

)

=

+

+

f

bf

bf

af ( b

)

+

af

(

a

)

O critério de parada que utilizaremos nesse método é

f (x)

< ε

.

Exemplos: Encontrar as raízes das equações abaixo pelo método da posição falsa.

1)

2)

x

log

e

x

x

1

=

0,

ε =

10

6

ln

x =

0,

ε =

10

6

.

;

5.4.3.Método de Newton ou Newton – Raphson

Seja f(x) uma função contínua no intervalo [a,b] com f’(x) e f’’(x) também contínuas com

f '(x) 0 e z a única raiz da equação f(x)=0 no intervalo dado.

Geometricamente, o processo de Newton – Raphson parece com o método das cordas só que agora temos, em vez de cordas, as retas tangentes, conforme podemos verificar nas figuras abaixo. O ponto no qual traçamos a reta tangente, ou seja, o ponto de tangência é o ponto para o qual f(x) apresenta mesmo sinal de f’’(x). Analisando os sinais de f(x) e f’’(x) podemos ter apenas quatro situações distintas. Caso I

f(x) f(x) a a z z b b
f(x)
f(x)
a a
z
z
b
b

x x

Caso II

Caso III

f(x) f(x) b b a a z z
f(x)
f(x)
b b
a a
z z
f(x) f(x) a a z z b b
f(x)
f(x)
a a
z z
b b

x x

x x

Caso IV f(x) f(x) b b z z a a
Caso IV
f(x)
f(x)
b b
z z
a a

x x

Analisando a figura do Caso I, observando que a tangente do ângulo α é dada por:

tg

α =

 

f

(

b

)

= f

'(

b

)

 

b

x

0

 

(

b

x

0

)

f

'(

b

)

=

f

(

b

)

b

x

0

=

f

f

b

(

'(

)

b

)

 

x

0

= −

b

+

f

f

b

(

'(

)

b

)

 

x

0

= b

f

f

b

(

'(

)

b

)

 

Considerando o ângulo β temos:

Generalizando temos:

tg

β =

 

f

(

x

0

)

= f

'(

x

0

)

 
 

x

0

x

1

 

(

x

0

x

1

)

f

'(

x

0

)

=

f

(

x

0

)

x

0

x

1

=

f

f

(

'(

x

0

x

0

)

)

 

x

1

= −

x

0

+

f

f

(

'(

x

0

x

0

)

)

 

x

1

= x

0

f

f

(

'(

x

x

0

0

)

)

   
 

x

k

=

x

k 1

f

f

(

'(

x

k 1

x

k 1

)

)

,

k = 1,2,3,

Uma vantagem do método de Newton é que sua convergência é quadrática, isto significa que a quantidade de dígitos significativos corretos duplica à medida que os

valores de

x

k se aproxima de z. Mas esse fato não acontece nas primeiras iterações.

A desvantagem do método de Newton está no fato de termos que calcular a derivada da função e em cada iteração calcular o seu valor numérico, o que pode ser muito caro computacionalmente. Além disso, a função pode não ser diferenciável em alguns pontos do domínio.

O critério de parada que utilizaremos nesse método é

f (x)

< ε

.

Exemplos:

1. Determinar as raízes das equações abaixo utilizando o método de Newton.

a.

x

log

x

1

=

0,

b.

sen

x

log

x =

ε =

10

6

0,

ε =

10

;

6

.

5.4.4.Método da Secante

Como foi observado anteriormente, uma grande desvantagem do método de Newton é

a necessidade de se obter f’(x) e calcular seu valor numérico a cada iteração.

várias maneiras de modificar o método de Newton a fim de eliminar essa

desvantagem. Uma forma é substituir a derivada f’(x) pelo quociente das diferenças:

f

'(

x

)

f

(

x

k

)

f

(

x

k 1

)

x

k

x

k 1

onde x k e x k-1 são duas aproximações para a raiz. Substituindo a equação acima no método de Newton, temos:

ou ainda:

x k + 1

=

 

f

(

x

k 1

)

 
 

x

x

k

k

=

x

k 1

+ x

1

=

k

f

f

'(

(

x

k 1

x

k

)

)

 

f

'(

x

k

)

 

=

f

(

x

k

)

x

k

+ x

1

k

 

f

(

x

k

)

f

(

x

k 1

)

 
 

x

k

x

k 1

 
 

=

f

(

x

k

)(

x

k

x

k 1

)

x

k

+ x

1

k

f

(

x

k

)

f

(

x

k 1

)

 
 

(

 

)

(

)

(

)

+

 

(

 

)

f

x

k

x

k

x

k

f

x

k

1

f

x

k

x

k

 

f

x

k

x

k

1

 

f

(

x

k

)

f

(

x

k 1

)

     

=

x

k

1

f

(

x

k

)

x

k

f

(

x

k

1

)

 

x

k

+ 1

f

(

x

k

)

f

(

x

k 1

)

 

Observemos que são necessárias duas aproximações, x 0