Вы находитесь на странице: 1из 23

Capítulo 1

Noções Básicas Sobre Erros


Neste capítulo, estudaremos os erros que surgem da representação de números num computador e os erros resul-
tantes de operações numéricas efetuadas, como soma, subtração multiplicação e divisão. Para idealizar o propósito
do capítulo, considere o seguinte problema:

Exemplo  Calcule a área de uma circunferência de raio 100 m:


A área calculada pode apresentar os seguintes valores:

A = 31400m2 , π = 3, 14 (1.1)
A = 31416m2 , π = 3, 1416 (1.2)
A = 31415, 92654, π = 3, 141592654 (1.3)
O resultado com maior aproximação do real é o último, uma vez que foi considerado π com o maior número
de casas decimais. Nesse caso, qualquer que seja a circunferência, a sua área nunca será obtida exatamente, visto
que π é um número racional. A representação de um número depende da base escolhida e do número máximo
de dígitos na sua representação. Qualquer cálculo que envolva números que não podem ser representados através
de um número nito de dígitos não fornecerá como resultado um valor exato. Quanto maior o número de dígitos
utilizados, maior será a precisão obtida.

1.1 Representações Binárias e Decimais


Os computadores digitais que conhecemos apenas são capazes de ler números binários, ou seja, sequências de 0 e 1.
Para formar números inteiros além dos dois valores citados, deve-se aplicar regras de conversão de bases. Considere
os números (347)10 (10111)2 . Estes números podem ser assim escritos:

(347)10 = 3 · 102 + 4 · 101 + 7 · 100 (1.4)

(10111)2 = 1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 1 · 20 (1.5)

1.1.1 Conversão de Binário para Decimal

A conversão de binário para decimal é feita com base em cada posição do número binário e de seu valor (0 ou 1).
Considere o número (1010)2 . Sua representação em decimal é:

(1010)2 = 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = (10)10 (1.6)


Nota-se, então, que para converter um número binário para decimal, devemos multiplicar o valor de cada nú-
mero em binário por 2n−1 , onde n é a posição do número em binário. Por m, o número em decimal equivale a
soma de todos os resultados das multiplicações.

Exercício  Faça a conversão dos seguintes números binários para decimais:

1
(a) (10101)2 = 21

(b) (10001)2 = 17

(c) (1010)2 = 10

(d) (10101010)2 = 170

(e) (11110000)2 = 240

(f) (11001100)2 = 204

1.1.2 Conversão de Decimal para Binário

Para converter números decimais para números binários, deve-se efetuar divisões sucessivas entre o número decimal
e o número 2 até que não seja mais possível dividir, isto é, até quando o dividendo for 1. O número binário é
composto pelos restos da divisão, onde o número mais signicativo começa na parte inferior e o número menos
signicativo é o primeiro resto obtido.

Exemplo  Conversão do número (25)10 para a base 2:

Figura 1.1: Exemplo de conversão de decimal para binário.

Exercício  Faça a conversão dos seguintes números decimais para binário:

(a) (40)10 = (101000)2

(b) (36)10 = (100100)2

(c) (120)10 = (1111000)2

(d) (170)10 = (10101010)2

(e) (240)10 = (11110000)2

1.2 Conversão de números fracionais


Para converter números fracionais (com vírgula) de decimal para binário e de binário para decimal, devemos aplicar
o seguinte algoritmo:

1. Decimal para binário: a parte inteira do número deve ser convertida normalmente conforme aprendemos
anteriormente. Para converter a parte fracionária do número, deve-se realizar o seguinte procedimento:
- Multiplique a parte fracionária por 2. Guarde a parte inteira do resultado (0 ou 1) e verique se o resto é
zero.
- Se o resto não for zero, multiplique-a por 2 e guarde novamente o valor inteiro. Repita esse procedimento
até que o resto da multiplicação seja 0. Por m, o resultado em binário é:

2
Figura 1.2: Resolução do exercício.

(inteiro, f racao)2 (1.7)

Exemplo: Faça a conversão do número 3,703125 para binário.


Exercício  Faça a conversão dos seguintes números decimais para binário:
(a) (145, 75)10 = (10010001,11)
(b) (229, 25)10 = (11100101,01)
(c) (255, 375)10 = (11111111,011)

2. Binário para decimal: Para representar números binários com vírgula e convertê-los para decimal, deve-
mos seguir o mesmo caminho do método tradicional sem parte fracionária. A única mudança se dá no fato
de que as partes fracionárias são afetadas com expoentes negativos, conforme é mostrado no exemplo a seguir:

Exemplo  Faça a conversão do número (101.1010)2 para a base 10.


(101.1010)2 = 1 · 22 + 0 · 21 + 1 · 20 + 1 · 2−1 + 0 · 2−2 + 1 · 2−3 + 0 · 2−4 (1.8)

(101.1010)2 = 5 + 0, 625 = 5, 625 (1.9)

Exercício  Faça a conversão dos seguintes números binários para números decimais:
(a) (101, 11)2 = 5,75
(b) (100, 01)2 = 4,25
(c) (10101, 011)2 = 21,375

1.3 Aritmética de Ponto Flutuante


Um computador ou calculadora representa um número real no sistema denominado aritmética de ponto utuante.
Neste sistema, o número r é representado da seguinte forma:

r = ±0.(d1 d2 ...dt ) · β e (1.10)


onde β é a base em que a máquina opera;
t é o número de dígitos na mantissa;
e é o expoente da base.

Exemplo  Considere x = 293. Como representar esse número em um sistema que opera em aritmética de
ponto utuante de 3 dígitos na base 10, onde e ∈ [−5, 5].
xpf = 0, 293 · 103

3
Figura 1.3: Representação em ponto utuante.

Exercício  Considere uma máquina que opera do sistema: β = 10; t = 3; e ∈ [−5, 5]. Se 0 ≤ dj ≤ 9 e d1 6= 0,
qual é o menor e o maior número que essa máquina pode representar?
Resp: ml = 0.100 · 10−5 = 10−6 e mu = 0.999 · 105 = 99900

1.3.1 Operações Aritméticas em Ponto Flutuante

• Adição e Subtração: Deve-se ajustar o número de menor expoente para igualá-lo ao do número de maior
expoente. Em seguida, efetua-se a soma/subtração.
Exemplo: Faça a soma e a subtração de x = 0, 24 · 103 e y = 0, 10 · 102
Como y possui o menor expoente, devemos ajustá-lo para ser igual ao expoente de x:
y = 0, 01 · 103 . Assim,

x + y = 0, 24 · 103 + 0, 01 · 103 = 0, 25 · 103 = 250 (1.11)

x − y = 0, 24 · 103 − 0, 01 · 103 = 0, 23 · 103 = 230 (1.12)

• Multiplicação e Divisão: Realiza-se a operação nos números e no expoente. Na multiplicação, soma-se os


expoentes. Na divisão, subtrai-se.
Exemplo: Faça a multiplicação e a divisão de x = 0, 2 · 103 e y = 0, 1 · 102

x.y = 0, 2 · 0, 1 · 10(3+2) = 0, 02 · 105 = 0, 2 · 104 = 2000 (1.13)

x ÷ y = (0, 2 ÷ 0, 1) · 10(3−2) = 2 · 101 = 0, 2 · 102 = 20 (1.14)

1.4 Erros
1.4.1 Erros Absolutos e Relativos

Denimos como erro absoluto a diferença entre o valor exato de um número x e de seu valor aproximado x̄:

EAx = x − x̄. (1.15)


Em geral, apenas o valor x̄ é conhecido e, neste caso, é impossível obter o valor exato do erro absoluto. O que
se faz é obter um limitante superior ou uma estimativa para o módulo do erro absoluto. Por exemplo, sabendo-se
que π ∈ (3, 14, 3, 15), temos que |EAx | = |π − π̄| < 0, 01.
Seja agora o número x representado por x̄ = 2112, 9 de forma que |EAx | < 0, 1, ou seja, x ∈ (2112, 8, 2113, 0) e
seja o número y representado por ȳ = 5.3 de tal forma que |EAy | < 0, 1, ou seja, y ∈ (5, 2, 5, 4). Os erros absolutos
de x e y são os mesmos, então podemos dizer que os números estão representados com a mesma precisão?

4
Para identicar a precisão de um número, é preciso considerar o erro relativo do mesmo, o qual é denido como
o erro absoluto dividido pelo valor valor aproximado.

EAx x − x̄
ERx = = . (1.16)
x̄ x̄
No exemplo anterior, temos que:

EAx 0, 1
ERx = = = 4.7 · 10−5 = 4, 7 · 10−3 % (1.17)
x̄ 2112, 9
EAy 0, 1
ERy = = = 0, 02 · 10−5 = 0, 02 · 10−3 % (1.18)
ȳ 5, 3
conrmando, portanto, que o número x é representado com maior precisão do que o número y .

1.4.2 Arredondamento e Truncamento

Seja um sistema que opera em aritmética de ponto utuante de 3 dígitos na base 10, onde e ∈ [−5, 5]. Para
representar o valor de x = 235, 89, teríamos que:

x = 0, 23589 · 103 (1.19)


Como somente são permitidos 3 números na mantissa, o que fazer com as casas decimais restantes? Existem 2
opções:

1. Arredondamento simétrico: considera os valores das últimas casas decimais e modica o dígito anterior se o
número da casa analisada é superior ou igual a 5. No exemplo em questão:
x = 0, 23589 · 103 = 0, 2359 · 103 = 0, 236 · 103

2. Truncamento: Despreza os algarismos que estão fora do limite da mantissa e não altera o valor do número.
Para ilustrar o truncamento do exemplo anterior:
x = 0, 23589 · 103 = 0, 235 · 103

Apesar de incorrer em erros menores, o uso do arredondamento acarreta um tempo maior de execução e, por
esta razão, o truncamento é mais utilizado.

Exercício: Considere um sistema que opera em aritmética de ponto utuante de 4 dígitos na base 10, onde
e ∈ [−5, 5]. Represente os seguintes números usando arredondamento e truncamento.

a) x = 726, 639

b) x = 1356, 235

1.4.3 Análise de Erros nas Operações Aritméticas de Ponto Flutuante

Dada uma sequência de operações, é importante ter a noção de como o erro em uma operação se propaga ao longo
das operações subsequentes. Por exemplo, considere que x = 0, 937 · 104 e y = 0, 1272 · 102 . Obtenha x + y na
aritmética de ponto utuante.
Alinhando os pontos decimais dos valores acima, temos:

x = 0, 937 · 104 e y = 0, 001272 · 104

Então,

x + y = (0, 937 + 0, 001272) · 104 = 0, 938272 · 104

5
Esse é o resultado exato da operação. Dado que em nosso sistema t é igual a 4, este resultado deverá ser
arredondado ou truncado. Logo

x + y = 0, 9383 · 104 no arredondamento e

x + y = 0, 9382 · 104 no truncamento.

O erro absoluto no truncamento dessa operação será:

EAx+y = (0, 938272 − 0, 9382) · 104 = 0, 000072 · 104 = 0, 72 (1.20)


E o erro relativo no truncamento será:

EAx+y 0, 000072 · 104


ERx+y = = = 0, 0000767 = 0, 00767% (1.21)
x+y 0, 9382 · 104

1.5 Exercícios
1. Converta os seguintes números decimais para a sua forma binária:
a) x = 37
b) y = 2345
c) z = 0, 1217
d) w = 21, 34375
e) v = 141, 703125

2. Converta os seguintes números binários para sua forma decimal:


a) x = (101101)2
b) y = (110101011)2
c) z = (0, 1101)2
d) w = (0, 111111101)2
e) v = (100101, 10110101)2

3. Escreva os números apresentados a seguir na representação em ponto utuante, onde a base é 10 e não há
limites de expoente e do tamanho da mantissa
a) x = 0, 35
b) y = −5, 172
c) z = 0, 0123
d) w = 5391, 3
e) v = 0, 0003

4. Considere uma máquina cujo sistema de representação numérico é denido por: β = 10, t = 4, e ∈ [−5, 5].
Pede-se:
a) como será representado o número 73,758 nesta máquina, se for usado o arredondamento? E se for usado
o truncamento?
b) se a = 42450 e b = 3, qual o resultado de a + b?
c) se x = 20134 e y = 40132, qual o resultado de x ÷ y ?
d) se f = 954944 e g = 0, 0003, qual o resultado de f.g ?

5. Um aluno de Engenharia de Produção ganhou de presente do pai uma máquina de calcular super moderna,
capaz de armazenar 4 dígitos na mantissa utilizando arredondamento. Muito satisfeito, o ansioso rapaz
efetuou duas operações em sua maquina nova envolvendo os números de arvores da plantação de seu pai,
x = 17534, e o número médio de frutas de cada arvore, y = 21178. Calcule os erros absolutos e relativos
envolvidos no processo de representação da máquina digital. Qual número tem a representação mais precisa?

6
1.6 Respostas dos Exercícios
1. Converta os seguintes números decimais para a sua forma binária:
a) x = 37 = (100101)2
b) y = 2345 = (100100101001)2
c) z = 0, 125 = (0, 001)2
d) w = 21, 34375 = (10101.01011)2
e) v = 141, 703125 = (10001101.101101)2

2. Converta os seguintes números binários para sua forma decimal:


a) x = (101101)2 = (45)10
b) y = (110101011)2 = (427)10
c) z = (0, 1101)2 = (0, 8125)10
d) w = (0, 111111101)2 = (0, 994140625)10 e) v = (100101, 10110101)2 = (37, 70703125)10

3. Escreva os números apresentados a seguir na representação em ponto utuante, onde a base é 10 e não há
limites de expoente e do tamanho da mantissa
a) x = 0, 35 = 0, 35 · 100
b) y = −5, 172 = −0, 5712 · 101
c) z = 0, 0123 = 0, 123 · 10−1
d) w = 5391, 3 = 0, 53913 · 104
e) v = 0, 0003 = 0, 3 · 10−3

4. Considere uma máquina cujo sistema de representação numérico é denido por: β = 10, t = 4, e ∈ [−5, 5].
Pede-se:
a) como será representado o número 73,758 nesta máquina, se for usado o arredondamento? E se for usado
o truncamento?
No arredondamento: 0, 7376 · 102
No truncamento: 0, 7375 · 102
b) se a = 42450 e b = 3, qual o resultado de a + b?
a + b = 0, 4245 · 105
c) se x = 20134 e y = 40132, qual o resultado de x ÷ y ?
x ÷ y = 0, 5016
d) se f = 954944 e g = 0, 0003, qual o resultado de f.g ?
f.g = 0, 2864 · 101

5. Um aluno de Engenharia de Produção ganhou de presente do pai uma máquina de calcular super moderna,
capaz de armazenar 4 dígitos na mantissa utilizando arredondamento. Muito satisfeito, o ansioso rapaz
efetuou duas operações em sua maquina nova envolvendo os números de arvores da plantação de seu pai,
x = 17534, e o número médio de frutas de cada arvore, y = 21178. Calcule os erros absolutos e relativos
envolvidos no processo de representação da máquina digital. Qual número tem a representação mais precisa?
EAx = |x − x| = |17534 − 17530| = 4 EAy = |y − y| = |21778 − 21180| = 2 ERx = 4
17530 = 2, 281 · 10−4
2
ERy = 21180 = 9, 442 · 10−5
O número representado por y é representado de forma mais precisa, pois seu erro relativo é menor.

7
Capítulo 2

Zeros Reais de Funções Reais


2.1 Introdução
Considere o seguinte problema: "dada uma função real f, achar suas raízes, isto é, os valores de x para os quais
f(x) = 0 ", os quais são representados por ξ1 e ξ2 na gura abaixo.

Figura 2.1: Raízes de uma função.

A princípio, esse problema pode parecer especíco, mas ele aparece nas mais diversas áreas das ciências exatas,
toda vez que tivermos uma equação a ser resolvida. Uma equação nada mais é do que uma expressão

f1 (x) = f2 (x) (2.1)


onde procuramos o(s) valor(es) de x que satisfaça(m) a igualdade. Ora, isso é o mesmo que achar as raízes da
função f (x) = f1 (x) − f2 (x) = 0. Por exemplo, considere a seguinte treliça:

Figura 2.2: Exemplo de treliça

Vocês viram na disciplina resistência dos materiais que, para calcular os esforços em cada barra da treliça,
considera-se:
X
Fx = 0 (2.2)

8
e
X
Fy = 0 (2.3)
pois, na estática, estuda-se o equilíbrio das forças. Dessa forma, é possível determinar as forças aplicadas em
cada barra encontrando as raízes das equações acima para cada barra.
No ensino médio, ensina-se a fórmula de Bhaskara para encontrar as raízes de um polinômio de segundo grau.
Em problemas reais, geralmente, o polinômio que modela o problema apresenta graus mais elevados, o que torna
quase que impossível encontrar os zeros analiticamente. Por outro lado, os métodos numéricos podem ser usados
para encontrar raízes de polinômios de 1 ou mais graus.
Um número real ξ é um zero da função f (x) ou uma raiz da equação f (x) = 0 se f (ξ) = 0. Gracamente, os
zeros reais são apresentados pelas abcissas dos pontos onde intercepta o eixo x.
Os métodos numéricos que serão apresentados encontram apenas aproximações das raízes do polinômio. Entre-
tanto, essa não é uma limitação muito grande, visto que as aproximações possuem qualquer precisão prexada. A
ideia central destes métodos é partir de uma aproximação inicial para a raiz e em seguida renar essa aproximação
por meio de um processo interativo. Por isso, os métodos constam de duas fases:

FASE I: Localização ou isolamento das raízes, que consiste em obter um intervalo que contém a raiz.
FASE II: Renamento, que consiste em melhorar as aproximações iniciais obtidas na Fase I.

2.2 Fase I: Isolamento das Raízes


Nesta fase, é feita uma análise teórica da função f (x). Na análise teórica, usa-se frequentemente o teorema:

Teorema I: Seja f (x) uma função contínua num intervalo [a, b]. Se f (a)f (b) < 0 então existe pelo menos um
ponto x = ξ entre a e b que é raiz de f(x).

Figura 2.3: Gráco de uma função onde o intervalo [a,b] é destacado. Se f (a)f (b) < 0, um dos dois pontos se
encontra na porção negativa do eixo vertical f (x). Logo, existe pelo menos uma raiz em f (x).

Sob as hipóteses do teorema anterior, se f 0 (x) existir e preservar o sinal em (a,b), então este intervalo contém
um único zero de f (x). Porque? Quando f 0 (a) e f 0 (b) possuem o mesmo sinal, signica que a função f (x) apresenta
o mesmo sentido ao longo desse intervalo.
Uma forma de se isolar as raízes de f (x) usando as informações anteriores é tabelar f (x) para vários valores de
x e analisar as mudanças de sinal de f (x) e o sinal da derivada nos intervalos em que a função mudou de sinal.

Exemplo 1
f (x) = x3 − 9x + 3
Construindo uma tabela de valores para f (x) e considerando apenas os sinais, temos:
Podemos concluir que em cada um dos intervalos I1 = [-5,-3], I2 = [0,1], I3 = [2,3] contém pelo menos uma
raiz. Para vericar se existe exatamente uma raiz em cada intervalo, podemos vericar por meio da derivada de
f (x).

9
Tabela 2.1: Análise de f (x) em intervalos especícos.
x −∞ -100 -10 -5 -3 -1 0 1 2 3 4 5
f(x) - - - - + + + - - + + +

f 0 (x) = 3x2 − 9 (2.4)

• No intervalo I1 , temos que f 0 (−5) = 66 e f 0 (−3) = 18. Como os dois resultados possuem o mesmo sinal,
então as curvas nos dois pontos possuem o mesmo sentido e somente existe um zero neste intervalo.

• No intervalo I2 , temos que f 0 (0) = −9 e f 0 (1) = −6. Novamente, os resultados possuem o mesmo sinal, e só
existe 1 raiz nesse intervalo.

• No intervalo I3 , temos que f 0 (2) = 3 e f 0 (3) = 18. Ambos resultados possuem o mesmo sinal e somente existe
1 raiz nesse intervalo.

Portanto, existem somente 3 raízes na função f (x) que estão nos intervalos I1 , I2 eI3 . Como o polinômio é de
terceiro grau, era esperado que somente existissem as 3 raízes, o que foi comprovado pelo método da derivada.

2.3 Fase II: Renamento


O renamento é feito por métodos iterativos, isto é, uma sequência de instruções que são executadas passo a passo,
algumas das quais são repetidas em ciclos. Esses métodos fornecem uma aproximação para a solução exata da
função f (x) = 0.
Os métodos funcionam por meio da seguinte sequência:

i) Os dados iniciais são inseridos.

ii) Uma aproximação inicial é calculada.

iii) Essa aproximação está próxima o suciente da raiz exata? Se sim, o problema está resolvido. Caso contrário,
o próximo passo é executado.

iv) Novos cálculos são feitos e uma nova aproximação é gerada. O algoritmo retorna ao passo iii) para vericar
a precisão da aproximação.

2.3.1 Critérios de Parada

Como denir se x, que é a raiz aproximada, está próxima da raiz exata com uma precisão determinada? Os
programas numéricos permitem que seja escolhida a precisão , de tal forma que:

(b − a) <  (2.5)

ou

|f (x)| <  (2.6)


Os métodos numéricos são desenvolvidos de forma a satisfazer pelo menos um dos critérios. Em programas
computacionais, além do teste de parada por meio da análise da precisão, deve-se estipular um número máximo
de iterações para evitar que o programa entre em "looping"devido a erros no programação ou à inadequação do
método usado.

10
2.3.2 Método da Bissecção

Seja f (x) contínua no intervalo [a,b] e tal que f (a)f (b) < 0, o que garante que existe pelo menos uma raiz nesse
intervalo. O objetivo do método da bisseção é reduzir o intervalo que contém a raiz até se atingir a precisão
requerida: (b − a) < , usando para isto a divisão sucessiva de [a,b] ao meio. Esse método é apresentado no gráco
a seguir.

Figura 2.4: Método da bissecção.

As iterações são realizadas da seguinte forma:

x0 = a0 +b0
2 → Se f (x0 ) > 0 → a1 = a0 e b1 = x0 . Se f (x0 ) < 0 → a1 = x0 e b1 = b0 .

x1 = a1 +b1
2 → Se f (x1 ) > 0 → a2 = a1 e b2 = x1 . Se f (x1 ) < 0 → a2 = x1 e b2 = b1 .
..
.

Exemplo: Encontre a raiz da função f (x) = −2 + x por meio do método da bissecção, considerando que a
precisão deve ser (b − a) ≤ 0, 05.

Note que é uma função de primeiro grau, logo, existe somente uma raiz. Podemos analisar os sinais de valores
de f (x) para determinar o intervalo inicial que contém a raiz.

Tabela 2.2: Análise de f (x) em intervalos especícos.


x −∞ -100 -10 -6 -4 -2 0 1 4 5 7 9
f(x) - - - - - - - - + + + +

Escolhe-se, inicialmente, o intervalo a1 = 1 e b1 = 4. Podemos montar uma tabela para nos ajudar a organizar
as informações (ver Tabela 2.3).
Na sétima iteração, b − a < 0, 05, logo, a precisão de 0,05 foi atingida. Sendo assim, temos que a raiz para a
função f (x) == −2 + x é xn = 2, 0078125 com precisão de 0,05, o que resulta em f (xn ) = −0, 0078125.
Repare que os métodos numéricos retornam aproximações do zero. Entretanto, quanto maior o número de itera-
ções, maior é a proximidade do resultado com o valor zero, desde que o algoritmo tenha convergência para a solução.

11
Tabela 2.3: Tabela para a análise no método da bissecção.
n an bn xn f (an ) f (bn ) f (xn ) b−a

1 1 4 2,5 + − − 3
2 1 2,5 1,75 + − + 1,5
3 1,75 2,5 2,125 + − − 0,75
4 1,75 2,125 1,9375 + − + 0,375
5 1,9375 2,125 2,03125 + − − 0,1875
6 1,9375 2,03125 1,984375 + − + 0,09375
7 1,984375 2,03125 2,0078125 + − − 0,046875

Exercício: Use o método da bissecção para encontrar todas as raízes da função f (x) = x2 − 6, 4x + 6, 24 com
uma precisão mínima de b − a ≤ 0, 05.

Note que é uma função de segundo grau, logo, existem duas raízes. Podemos analisar os sinais de valores de
f (x) para determinar os intervalos iniciais que contém as raízes.

Tabela 2.4: Análise de f (x) em intervalos especícos.


x −∞ -100 -10 -5 -3 -1 0 1 2 3 4 7
f(x) + + + + + + + + - - - +

Logo, as raízes da função f (x) estão nos intervalos I1 = [1, 2] e I2 = [4, 7]. Calculando a raiz do primeiro
intervalo, dene-se a1 = 1 e b1 = 2.

Tabela 2.5: Tabela para a análise no método da bissecção.


n an bn xn f (an ) f (bn ) f (xn ) b−a

1 1 2 1,5 + − − 1
2 1 1,5 1,25 + − − 0,5
3 1 1,25 1,125 + − + 0,25
4 1,125 1,25 1,1875 + − + 0,125
5 1,1875 1,25 1,21875 + − − 0,0625
6 1,1875 1,21875 1,203125 + − − 0,03125

Encontramos as raízes xn = 1, 201325 dentro do intervalo I1 . Vamos calcular agora a raiz dentro intervalo I2 ,
o qual é denido por a1 = 4 e b1 = 7.

12
Tabela 2.6: Tabela para a análise no método da bissecção.
n an bn xn f (an ) f (bn ) f (xn ) b−a

1 4 7 5,5 − + + 3
2 4 5,5 4,75 − + − 1,5
3 4,75 5,5 5,125 − + − 0,75
4 5,125 5,5 5,3125 − + + 0,375
5 5,125 5,3125 5,21875 − + + 0,1875
6 5,125 5,21875 5,171875 − + − 0,09375
7 5,171875 5,21875 5,1953125 − + − 0,046875

No intervalo I2 , encontramos a raiz xn = 5, 1953125 com uma precisão de 0,05, a qual representa f (xn ) =
−0, 01249.

Sendo assim, encontramos as duas raízes xn1 = 1, 201325 e xn2 = 5, 1953125 com precisão de b − a < 0, 05.
Note que as raízes verdadeiras são x1 = 5, 2 e x2 = 1, 2, logo, encontramos uma boa aproximação para as raízes de
f (x).

Exercício: Use o método da bissecção para calcular TODAS as raízes da função f (x) = x2 − 7x + 10 com
precisão mínima de b − a < 10−2 .

Exercício: Use o método da bissecção para calcular TODAS as raízes da função f (x) = x3 − 4, 1x2 − 11, 61x +
33, 201 com precisão mínima de b − a < 10−2 .

2.3.3 Método de Newton-Raphson

O método de Newton-Raphson utiliza a derivada da curva f (x) para conseguir encontrar uma aproximação para a
raiz da função. Considere a seguinte função f (x).
O método de Newton Raphson pode ser deduzido pelos seguintes passos:

i) Escolhe-se um ponto x0 tal que o valor de f (x0 ) é aproximadamente igual a zero.

ii) Encontre f (x0 ) e desenhe uma reta tangente a esse ponto. O local onde essa reta cruzar o eixo x é o valor
de x1 , o qual pode ser calculado pela seguinte equação:

f (x0 )
x1 = x0 − (2.7)
f 0 (x0 )

13
Figura 2.5: Reta tangente na determinação dos novos valores de xi .

iii) Repita as iterações até encontrar uma precisão especíca. A fórmula geral para o cálculo de xn é:

f (xn−1 )
xn = xn−1 − (2.8)
f 0 (xn−1 )

Exemplo: Encontra uma raiz aproximada de x2 +x−5 de forma que a precisão seja de, pelo menos, f (x) < 10−2

Calculando a derivada de f (x), temos que: f 0 (x) = 2x + 1. Devemos encontrar o valor de x0 tal que f (x0 ) é
próximo de 0. Para isso, basta substituir valores em f (x) = x2 + x − 5

f (0) = 0 + 0 − 5 = −5 (2.9)
f (1) = 1 + 1 − 5 = −3 (2.10)
f (2) = 4 + 2 − 5 = 1 (2.11)
Logo, x0 = 2. Temos o valor inicial para começar o método de Newton Raphson.

• 1a iteração:
f (x0 ) 1
x1 = x0 − 0
= 2 − = 1.8 (2.12)
f (x0 ) 5
f (x1 ) = 1, 82 + 1.8 − 5 = 0, 4 (2.13)

• 2a iteração:
f (x1 ) 0, 04
x2 = x1 − 0
= 1.8 − = 1, 7913 (2.14)
f (x1 ) 4, 6
f (x2 ) = 1, 79132 + 1.7913 − 5 = −0, 06 (2.15)

• 3a iteração:
f (x2 ) 0, 0000556
x3 = x2 − 0
= 1.7913 − = 1, 7912 (2.16)
f (x2 ) 4, 5826
f (x3 ) = 1, 79122 + 1.7912 − 5 = −0, 0004 (2.17)

Logo, quando x = 1, 7912, temos que f (x) = −0, 0004, próximo de zero o suciente segundo a precisão
requerida de 10−2

14
Exercícios

1. Use o método de Newton para encontrar todos os zeros da função f (x) = x2 − 2x − 10 com precisão mínima
de f (x) < 10−2 .
Usa-se a tabela de sinais para encontrar os intervalos onde os zeros estão:

Tabela 2.7: Análise de f (x) em intervalos especícos.


x −∞ -100 -10 -5 -3 -1 0 1 2 3 4 5
f(x) + + + + + - - - - - - +

A função f (x) alterna sinais nos intervalos [−3; −1] e [4; 5]. Logo, existe um zero dentro de cada intervalo.
Para determinar o zero do primeiro intervalo, devemos escolher o ponto inicial x0 . Analisando os valores de
f (x) para os pontos extremos desse intervalo de [−3; −1], temos que:

f (−3) = −32 − 2 ∗ −3 − 10 = 9 + 6 − 10 = 5 (2.18)

f (−1) = −12 − 1 ∗ −2 − 10 = −7 (2.19)

Uma vez que f (−3) é mais próximo de zero, usaremos x0 = −3. Calculando o valor de x1 ,

f (x0 ) f (−3) 5
x1 = x0 − = −3 − 0 = −3 − = −3 + 0, 625 = −2, 375 (2.20)
f 0 (x0 ) f (−3) −8

Avaliando f (x1 ),

f (x1 ) = f (−2, 375) = −2, 3752 − 2 ∗ −2, 375 − 10 = 5, 64 + 4, 75 − 10 = 0, 39 (2.21)

Ainda estamos fora da precisão requerida, uma vez que f (x1 ) = 0, 39 > 0, 01. Calculando o valor de x2 ,

f (x1 ) 0, 39
x2 = x1 − 0
= −2, 375 − = −2, 375 + 0, 058 = −2, 3171 (2.22)
f (x1 ) −6, 75

Analisando f (x2 ),

f (x2 ) = f (−2, 3171) = (−2, 3171)2 − 2 ∗ (−2, 3171) − 10 = 0, 003349 (2.23)

Quando x = −2, 3171, temos que f (x) = 0, 003349. Foi pedido que a precisão seja de 10−2 = 0, 01. Como
0, 003349 < 0, 01, conseguimos encontrar a primeira raiz de f (x) = x2 − 2x − 10 atendendo a precisão
requerida.
Encontrem a segunda raiz (Resposta: x2 = 4, 3166... e f (x1 ) = 0, 000277...)

2. Use o método de Newton para encontrar todos os zeros da função f (x) = x2 − 11x + 24 com precisão mínima
de f (x) < 10−2 .

3. Use o método de Newton para encontrar todos os zeros da função f (x) = x3 − 9x2 + 2x + 48 com precisão
mínima de f (x) < 10−2 .

15
Capítulo 3

Resolução de Sistemas Lineares


Uma variedade de problemas de engenharia pode ser resolvido através da análise linear; entre eles podemos citar:
determinação do potencial em redes elétricas, cálculo da tensão na estrutura metálica da construção civil, entre
outros. O problema matemático em todos estes casos se reduz ao problema de resolver um sistema de equações
simultâneas. Por exemplo, considere o problema de determinar as componentes horizontal e vertical das forças que
atuam as junções da treliça abaixo:

Figura 3.1: Treliça sendo submetida a esforços.

Para isto, temos que determinar 17 forças desconhecidas que atuam nessa treliça, as quais geram um sis-
tema linear com 17 equações! Os métodos numéricos estudados neste capítulo vão simplicar a resolução destes
problemas.
Um sistema linear com m equações e n variáveis é escrito, usualmente, na forma:

 a11 x1 + a12 x2 + ... + a1n xn = b1




 a21 x1 + a22 x2 + ... + a2n xn = b2
.

 .

.





am1 x1 + am2 x2 + ... + amn xn = bm
onde
aij : coecientes 1 ≤ i ≤ m, 1 ≤ j ≤ n

xj : variáveis j = 1, ..., n

bi : constantes i = 1, ..., m

Os sistemas lineares podem ser de três tipos:

i) Solução única: 
2x1 + x2 = 3
x1 − 3x2 = −2

16
ii) Innitas soluções: 
2x1 + x2 = 3
4x1 + 2x2 = 6
iii) Nenhuma solução:

2x1 + x2 = 3
4x1 + 2x2 = 2

Gracamente, cada um desses casos é representado, respectivamente, por:

i) retas concorrentes

ii) retas coincidentes

iii) retas paralelas

Figura 3.2: Tipos de sistemas lineares.

Neste capítulo, serão apresentados métodos numéricos para a resolução de sistemas lineares n x n que apresen-
tam solução única. Esses métodos numéricos podem ser divididos em dois grupos: métodos diretos e métodos
iterativos. Os Métodos Diretos são aqueles que fornecem a solução exata do sistema linear, caso ela exista,
após um número nito de operações. Por outro lado, os Métodos Iterativos geram uma solução a partir de uma
aproximação inicial, x(0) , após um número nito de iterações.

3.1 Métodos Diretos


3.1.1 Método de Eliminação de Gauss

O método de eliminação de Gauss consiste em transformar o sistema linear original num sistema linear equivalente
com matriz dos coecientes triangular superior, pois estes são de resolução imediata. Sistemas lineares triangulares

17
superior apresentam a seguinte forma:

 a11 x1 + a12 x2 + a13 x3 + ... + a1n xn = b1




 a22 x2 + a13 x3 + ... + a2n xn = b2
a13 x3 + ... + a2n xn = b2



.
.




.





ann xn = bn
Nestes sistemas, é possível determinar o valor de xn = abnn n
de forma direta. Em seguida, determina-se xi
subindo linha por linha. O Método de Eliminação de Gauss auxilia na transformação de um sistema linear padrão
para a forma triangular superior, de onde é possível resolver sistemas com múltiplas equações.

Exemplo - Seja o sistema linear:



 3x1 + 2x2 + 4x3 = 1
x1 + x2 + 2x3 = 2
4x1 + 3x2 − 2x3 = 3

Etapa 1: Eliminar x1 das equações 2 e 3.

Para facilitar o entendimento, vamos transformar o sistema linear para a forma matricial, mantendo somente
os coecientes de x1 , x2 e de x3 e também as constantes bi . Além disso, vamos usar a notação Li para referenciar
as linhas da matriz com os coecientes do sistema linear.
 
3 2 4 | 1
1 1 2 | 2
4 3 −2 | 3
Para eliminar x1 das equações 2 e 3, deve-se fazer com que os coecientes de x1 em L2 e L3 seja 0. No método
de Gauss, escolhemos um elemento pivô, e sobre este elemento efetuaremos operações para eliminar os coecientes
desejados. Na primeira etapa, podemos escolher o elemento da primeira linha/coluna como pivô:

3 2 4 | 1
 
 1 1 2 | 2
4 3 −2 | 3
Devemos usar este elemento para zerar os coecientes de x1 nas linhas 2 e 3. Para zerar o coeciente de x1 na
linha 2, basta fazer a seguinte operação:
1
L2 = L2 − L1 (3.1)
3
Dessa forma, manipularemos toda a linha 2 com o objetivo de zerar o coeciente de x1 na linha 2. O resultado
dessa operação é:

3 2
 
4 | 1
 0 1/3 2/3 | 5/3
4 3 −2 | 3
Eliminamos x1 na equação 2, mas falta eliminá-lo na equação 3. Novamente, usamos o pivô para zerar o
coeciente de x1 , agora na linha 3, por meio da seguinte operação:
4
L3 = L3 − L1 (3.2)
3
Essa manipulação da linha 3 resulta em:

18
 
3 2 4 | 1
0 1/3 2/3 | 5/3
0 1/3 −22/3 | 5/3
A primeira etapa foi concluída, visto que eliminamos x1 das equações 2 e 3.

Etapa 2: Eliminar x2 da equação 3.

Para eliminar x2 da equação 3, devemos zerar o coeciente 1/3 da terceira linha. Podemos escolher os elementos
2 ou 1/3 para serem o pivô da operação. Neste caso, será escolhido o elemento 1/3 pois ele facilitará a operação
de subtração.
 
3 2 4 | 1
0 1/3 2/3 | 5/3
0 1/3 −22/3 | 5/3
Fazendo a seguinte operação:

L3 = L3 − L2 (3.3)
resulta-se em:
 
3 2 4 | 1
0 1/3 2/3 | 5/3
0 0 −8 | 0
A matriz está na forma triangular superior, visto que todos os elementos abaixo da matriz diagonal são zero.
Convertendo essa matriz para o formato de um sistema linear, temos:

 3x1 + 2x2 + 4x3 = 1
0x1 + 31 x2 + 32 x3 = 53
0x1 + 0x2 − 8x3 = 0

Note que é possível determinar a solução do sistema linear de forma direta. Na terceira equação, temos que:

0x1 + 0x2 − 8x3 = 0 → x3 = 0 (3.4)


Na segunda equação, temos que:
1 2 5
0x1 + x2 + · 0 = → x2 = 5 (3.5)
3 3 3
Na primeira equação, temos que:

3x1 + 2 · 5 + 4 · 0 = 1 → x1 = −3 (3.6)
A solução do sistema linear proposto é o vetor (x1 , x2 , x3 ) = (−3, 5, 0).

Exercícios  Determine a solução dos seguintes sistemas lineares:

i)

 x1 − x2 + 2x3 = 2
2x1 + x2 − x3 = 1
−2x1 − 5x2 + 3x3 = 3

Resposta: (x1 , x2 , x3 ) = (1, −1, 0).

19
ii)

 5x1 + 2x2 + x3 = −12
−x1 + 4x2 + 2x3 = 20
2x1 − 3x2 + 10x3 = 3

Resposta: (x1 , x2 , x3 ) = (−4, 3, 2).

3.1.2 Fatoração LU

Seja o sistema linear Ax = b. O processo de fatoração para resolução deste sistema consiste em decompor a matriz
dos coecientes A em um produto de dois ou mais fatores e, em seguida, resolver uma sequência de sistemas lineares
que nos conduzirá à solução do sistema linear original.
Na Fatoração LU, a matriz A é fatorada na forma A = LU , onde:

A · x = b → (LU ) · x = b → LU x = b (3.7)
Dene-se uma função y = U x. Dessa forma, substituindo na equação acima, temos um novo sistema linear:

Ly = b
Ux = y
Para calcular as matrizes L e U , deve-se usar o Método da Eliminação de Gauss para encontrar os multiplicadores
que zeram os elementos abaixo da matriz diagonal, mij e a matriz A resultante. Com esses parâmetros, constrói-se
L como uma matriz triangular inferior, onde sua diagonal é unitária e os demais elementos são os multiplicadores
usados no Método da Eliminação de Gauss para zerar os elementos abaixo da matriz triangular.
 
1 0 0
L = m21 1 0
m31 m32 1
A matriz U é triangular superior e é o resultado do nal da fase da triangulação do método da eliminação de
Gauss.
 
a11 a12 a13
U =  0 a22 a23 
0 0 a33

Exemplo: Resolva o seguinte sistema linear usando a Fatoração LU:



 3x1 + 2x2 + 4x3 = 1
x1 + x2 + 2x3 = 2
4x1 + 3x2 + 2x3 = 3

Temos que A é a matriz dos coecientes de x1 , x2 e x3 :


 
3 2 4
A = 1 1 2
4 3 2

Deve-se aplicar o Método de Eliminação de Gauss para transformar a matriz A em uma matriz triangular
superior. Os multiplicadores devem ser armazenados, pois serão usados na composição da matriz L. Iniciando com
o pivo a11 = 3, começamos a primeira etapa como:

20
3 2 4
 

A =  1 1 2
4 3 2

Para anular os elementos a21 = 1 e a31 = 4, devemos fazer com que:


1
L2 = L2 − L1 (3.8)
3
4
L3 = L3 − L1 (3.9)
3
Os multiplicadores são os valores que multiplicamos a linha do pivô para zerar os elementos desejados. De
acordo com as equações acima, temos que m21 = 13 e m31 = 34 . O resultado da primeira etapa é:

3 2
 
4
A(1) =  0 1/3 2/3 
0 1/3 −10/3

A segunda etapa consiste em zerar o elemento a32 = 1/3. Para tanto, escolhe-se como pivô o elemento a22 = 1/3:
 
3 2 4
A(1) = 0 1/3 2/3 
0 1/3 −10/3

Fazendo a manipulação:

L3 = L3 − L2 (3.10)
temos o multiplicador m32 = 1 e conseguimos zerar o elemento a32 :
 
3 2 4
(2)
A = 0  1/3 2/3
0 0 −4

O fator L é composto pelos multiplicadores em suas respectivas posições e por uma diagonal unitária:
   
1 0 0 1 0 0
L = m21 1 0 = 1/3 1 0
m31 m32 1 4/3 1 1

O fator U é composto pela matriz A(2) após a segunda etapa do método de eliminação de Gauss:
 
3 2 4
U = A(2) = 0 1/3 2/3
0 0 −4

Resolvendo o sistema linear da fatoração LU:



Ly = b
Ux = y

21
i) Ly = b :

 y1 = 1
(1/3)y1 + y2 = 2
(4/3)y1 + y2 + y3 = 3

Esse sistema resulta em (y1 y2 y3 ) = (1 5/3 0).

ii) U x = y :

 3x1 + 2x2 + 4x3 = 1
+ 31 x2 + 23 x3 = 5/3
−4x3 = 0

Resolvendo esse sistema, temos a solução nal: (x1 x2 x3 ) = (−3 5 0).

A vantagem do Método de Fatoração LU é que podemos resolver qualquer sistema linear que tenha A como
matriz dos coecientes. Se o vetor b for alterado, a resolução do novo sistema será quase que imediata.

Exercício  Resolva o sistema linear a seguir usando a fatoração LU:



 3x1 + 2x2 + 4x3 = 1
x1 + x2 + 2x3 = 2
4x1 + 3x2 − 2x3 = 3

Resposta: (x1 x2 x3 ) = (−3 5 0).

3.2 Métodos Iterativos


3.2.1 Método de Gauss-Jacobi

O Método de Gauss-Jacobi gera uma sequência de x(k) vetores a partir de uma solução inicial x(0) , que deve
convergir para a solução do sistema. Dado um sistema linear na forma Ax = b.

 a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 = b2
a31 x1 + a32 x2 + a33 x3 = b3

O método de Gauss-Jacobi consiste em isolar x1 na linha 1, x2 na linha 2 e x3 na linha 3 em cada nova iteração.
Dessa forma, calculamos os novos xk1 , xk2 , xk3 com base nos valores antigos de x1 , x2 e x3 , que são representados
por x1k−1 , xk−1
2 , x3 :
k−1

(k) 1 (k−1) (k−1)


x1 = a11 (b1 − a12 x2 − a13 x3 )
(k) 1 (k−1) (k−1)
x2 = a22 (b2 − a21 x1 − a23 x3 )
(k) 1 (k−1) (k−1)
x3 = a33 (b3 − a31 x1 − a32 x2 )

22
Critérios de Parada

O processo iterativo é repetido até que o vetor x(k) esteja sucientemente próximo do vetor x(k−1) . Medimos a
distância entre x(k) e x(k−1) por:
(k) (k−1)
d(k) = max |xi − xi |. (3.11)
1≤i≤n

Assim, dada uma precisão , o vetor x(k) será escolhido como x, solução aproximada da solução exata, se d(k) < .

Exemplo  Resolva o sistema linear:



 10x1 + 2x2 + x3 = 7
x1 + 5x2 + x3 = −8
2x1 + 3x2 + 10x3 = 6

pelo método de Gauss-Jacobi, com


 
0, 7
x(0) =  −1, 6 
0, 6
e  = 0, 2.

A primeira iteração consiste em:


(1) 1 (0) (0) 1
x1 = a11 (b1 − a12 x2 − a13 x3 ) = 10 (7 − 2 · −1, 6 − 1 · 0, 6) = 0, 96
(1) 1 (0) (0)
x2 = a22 (b2 − a21 x1 − a23 x3 ) = 15 (−8 − 1 · 0, 7 − 1 · 0, 6) = −1, 86
(1) 1 (0) (0) 1
x3 = a33 (b3 − a31 x1 − a32 x2 ) = 10 (6 − 2 · 0, 7 − 3 · −1, 6) = 0, 94

Calculando a distância entre x(1) e x(0) , temos:


(1) (0)
|x1 − x1 | = |0, 96 − 0, 7| = 0, 26 (3.12)

(1) (0)
|x2 − x2 | = | − 1, 86 − (−1, 6)| = 0, 26 (3.13)

(1) (0)
|x3 − x3 | = |0, 94 − 0, 6| = 0, 36 (3.14)
d(1) é o valor máximo entre as três distâncias obtidas. Sendo assim, d(1) = 0, 36. Uma vez que o exercício pediu
uma precisão de  = 0, 2, devemos efetuar outra iteração, pois d(1) > .

Para k = 2,
(2) 1 (1) (1) 1
x1 = a11 (b1 − a12 x2 − a13 x3 ) = 10 (7 − 2 · −1, 86 − 1 · 0, 94) = 0, 978
(2) 1 (1) (1)
x2 = a22 (b2 − a21 x1 − a23 x3 ) = 15 (−8 − 1 · 0, 96 − 1 · 0, 94) = −1, 98
(2) 1 (1) (1) 1
x3 = a33 (b3 − a31 x1 − a32 x2 ) = 10 (6 − 2 · 0, 96 − 3 · −1, 86) = 0, 966

Calculando a distância entre x(2) e x(1) ... (Continua)

23