Você está na página 1de 6

Erros Computationais

1 Erros Computacionais
1.1 Introdução
O Cálculo Numérico consiste na obtenção de soluções aproximadas de problemas matemáticos, uti-
lizando métodos numéricos.
Com a popularização dos computadores praticamente todas as atividades de Engenharia tem feito
uso intensivo dos métodos computacionais na resolução de problemas reais, para os quais as soluções
manuais são inviáveis. O uso do computador como ferramenta de trabalho de cálculo numérico
requer o entendimento dos seus princı́pios de operação e de como eles interferem nos resultados
obtidos. Geralmente, é aceito como verdade que computadores não erram e que são os usuários que
cometem enganos. Na realidade, o computador, como dispositivo de cálculo numérico, “comete”
erros devido às suas caracterı́sticas intrı́nsecas e o papel do usuário é quantificar esses erros.
Quando realizamos cálculos manualmente, os erros de arredondamento da calculadora são des-
prezı́veis, porque a quantidade de cálculo que podemos operar é pequena. No computador, geral-
mente, a quantidade de operações aritméticas que se pode realizar é muito maior do que aquelas
realizadas manualmente, de forma que o erro de arredondamento do dispositivo de cálculo se torna
importante. Outro problema é que no cálculo manual temos controle da propagação do erro porque,
visualmente, estamos conferindo o resultado de cada operação aritmética ao digitá-lo na calculadora.
No computador não temos como checar cada operação, tendo em vista a velocidade com que elas são
realizadas e a quantidade de cálculos executados. Desta forma, a verificação dos resultados e o con-
trole sobre a propagação de erros em programas de computador é essencial para se atingir resultados
consistentes e confiáveis.
As seguintes considerações tem que ser levadas em conta ao se realizar cálculos numéricos no
computador:

• A aritmética computacional não funciona da mesma forma que a aritmética que praticamos
manualmente. No cálculo manual é sempre possı́vel monitorar os resultados intermediários e
ajustar a precisão dos cálculos. Na aritmética computacional, cada número tem uma quantidade
de algarismos fixas que muitas vezes podem ser inadequadas para o cálculo repetitivo;

• Usualmente, o cálculo manual é feito para um pequeno número de operações aritméticas, en-
quanto que o cálculo computacional pode envolver bilhões de operações aritméticas. Pequenos
erros que poderiam passar despercebidos no cálculo manual, podem arruinar completamente o
resultado do cálculo computacional, por causa da acumulação e propagação de erros.

1.2 Erros na Fase da Modelagem


São os erros decorrentes de simplificações, muitas vezes necessárias, para que o fenômeno da natureza
possa ser resolvido por um modelo matemático.

Cálculo Numérico 1
Erros Computationais

1.3 Erros na Fase de Resolução


São erros provenientes da utilização de algum equipamento, por exemplo, um computador, para
processarmos os cálculos necessários à obtenção de uma solução para o modelo matemático. Tais
erros ocorrem pois os equipamentos tem capacidade limitada de armazenar os dı́gitos significativos de
valores numéricos utilizados nas operações elementares de adição, multiplicação, subtração e divisão.
As leis que regem as operações aritméticas, quando executadas em um computador, não obedecem
à mesma estrutura dos números reais. Usualmente, representamos os números por meio de um sistema
de base 10, isto é, um sistema decimal. Entretanto, no computador digital um número é representado,
internamente, por meio de uma sequência de impulsos elétricos que indicam dois estados: 0 ou 1.
Chamamos a esta representação de sistema de base 2 ou sistema binário.
Note há uma interação entre o usuário e o computador, portanto os dados de entrada são enviado
ao computador pelo usuário no sistema decimal, os quais são convertidos para o sistema binário, e
as operações todas são efetuadas neste sistema. Os resultados finais, são então, convertidos para o
sistema decimal e, então, transmitidos ao usuário. Todo este processo de conversão é uma fonte de
erros que afetam o resultado final dos cálculos.

1.3.1 Erros na Mudança de Base

Dado um número real, N , é sempre possı́vel representá-lo em qualquer base b, da seguinte forma:


m
Nb = a i × bi (1)
i=n

onde ai ∈ {0, 1, 2, 3, ..., (b − 1)}, com m e n inteiros.


Assim, a base binária é da forma


m
N2 = ai × 2i , ai ∈ {0, 1} (2)
i=n

e a base decimal

m
N10 = ai × 10i , ai ∈ {0, 1, . . . , 9}. (3)
i=n

Exemplo 1.1.

a) (1011)2

b) (111, 01)2

c) (231)10

d) (231, 35)10

Cálculo Numérico 2
Erros Computationais

Assim, dado um número real qualquer numa base b, podemos escrevê-lo em uma outra base b′ ,
a partir de adequação conveniente de seus coeficientes ai ∈ {0, 1, 2, 3, ..., (b − 1)} e de uma potência
adequada na nova base b′ .

1.3.2 Mudança de base binária para a base decimal

Procedimento: multiplicar o dı́gito binário por uma potência adequada de 2.

Exemplo 1.2.

a) (1011)2 = ( )10

b) (111, 011)2 = ( )10

c) (11, 01)2 = ( )10

1.3.3 Mudança de base decimal para a base binária

Procedimento: deve-se aplicar um processo para a parte inteira e outra para a parte fracionária.
Deve-se utilizar o método das divisões sucessivas, que pode ser resumido da seguinte maneira:

1. Dividir o número por 2.

2. Divide-se por 2 o quociente encontrado.

3. Repetir o processo até que o último quociente seja 1.

4. O número binário será formado pela concatenação do último quociente com os restos das
divisões lidos em sentido inverso ao que foram obtidos.

Exemplo 1.3.

a) (18)10 = ( )2

b) (11)10 = ( )2

c) (25)10 = ( )2

Já, para transformar um número fracionário na base 10 para a base 2 utiliza-se o método das
multiplicações sucessivas.

1. Multiplica-se o número fracionário por 2.

2. Do resultado do passo “1.”, a parte inteira é o primeiro dı́gito binário.

3. Do resultado do passo “2.”, a parte fracionária é novamente multiplicada por 2.

Cálculo Numérico 3
Erros Computationais

4. Continua-se o processo até que a parte fracionária seja nula.

a) (0, 1875)10 = ( )2

b) (0, 6)10 = ( )2

c) (13, 25)10 = ( )2

Todo o número inteiro decimal pode ser representado exatamente por um número inteiro binário;
porém, isto não é verdadeiro para números fracionários. Mesmo frações decimais comuns, tal como o
número decimal 0, 6, não podem ser representadas exatamente no sistema binário (0,6 é uma fração
binária repetitiva com perı́odo de 4 bits).
Na realidade, todo o número decimal irracional também será irracional no sistema binário. No
sistema binário, apenas números racionais que podem ser representados na forma pq , no qual q é uma
potência inteira de 2, podem ser expressos exatamente com um número de bits finito.
Uma das consequências do que foi descrito acima é que pequenos erros de representação dos
números decimais, no sistema binário, se propagarão nos cálculos computacionais, podendo compro-
meter significativamente o resultado final.

1.4 Erro Relativo e Erro Absoluto


A diferença entre o valor exato e o valor aproximado no cálculo computacional pode ser medida pelo
erro absoluto ou pelo erro relativo.
O erro absoluto EA é definido como

EA = |x − x̄| (4)

e o erro relativo ER
|x − x̄|
ER = (5)
|x|
onde x é o valor verdadeiro e x̄ é o valor aproximado.
O relativo, normalmente é expresso como erro percentual, multiplicando-se o erro relativo por
100, ou seja:
erro percentual = erro percentual × 100 (6)

1.5 Erro de Arredondamento


Os erros de arredondamento são causados pela limitação dos dispositivos empregados no cálculo
numérico como, por exemplo, uma régua de cálculo que possui uma limitação geométrica, uma
calculadora eletrônica com número de dı́gitos limitado no “display” ou mesmo um computador com
o erro de representação de um número decimal no seu equivalente binário. Um número é representado

Cálculo Numérico 4
Erros Computationais

Exemplo 1.4. Consideremos o número decimal exato 0, 110 cujo equivalente binário é representado
pela dı́zima 0, 00011001100112 . . .

Para um computador com tamanho de palavra de 16 bits, o número decimal 0, 110 é armazenado
como:
0, 110 = 0, 00011001100110012 = 0, 09999084410

de modo que o erro de arredondamento é dado por:

erro absoluto = |0, 1 − 0, 099990844| = 0, 000009155 ≈ 9 · 10−6

1.6 Erro por Estouro de Memória (“Overflow” e “Underflow”)


A variável numérica real em precisão simples pode conter no máximo 1038 e no mı́nimo 10−38 .
O erro de “overflow” ocorre quando o resultado de uma operação aritmética excede o valor de
3, 4028235 · 1038 . Analogamente, o erro de “underflow” ocorre para uma variável real com precisão
inferior a 1, 1754944 · 10−38 .
A multiplicação e a divisão podem acarretar erro de “overflow” como de “underflow”. O caso mais
extremo de “overflow” na divisão acontece quando ocorre uma divisão por zero, mas, geralmente,
tal tentativa provoca uma interrupção na execução do programa com a emissão de um aviso pelo
programa de “overflow”.

1.7 Erro de Truncamento


São erro provenientes da utilização de processos que deveriam ser infinitos ou muito grandes para a
determinação de um valor e que, por razões práticas, são truncados.

Exemplo 1.5. Considere a expansão da função exponencial em séries de potência da forma:

x2 x3
ex = 1 + x + + + ... (7)
2! 3!
Por se tratar de uma série infinita, devemos escolher um número de termos limitado da série para
que possamos computar o valor numérico da função ex . Escolhemos aproximar a série infinita por
uma série contendo três termos, ou seja:

x2
e ≈1+x+
x
(8)
2!

Não importa a quantidade de algarismos significativos que utilizemos no cálculo de ex pela série
truncada, o resultado será sempre aproximado e, portanto, sempre terá um erro, chamado erro de
truncamento.

Cálculo Numérico 5
Erros Computationais

Exemplo 1.6. Calcule o valor numérico de e1 = e (número de Euler), empregando a série truncada
de 2a ordem e calcule os erros absoluto e relativo sabendo que o valor exato do número de Euler com
quatro algarismo significativos é igual a 2, 718. (Resp.: 0, 218 e 8%)

Referências
[1] ARENALES, Selma; DAREZZO, Artur. Cálculo numérico: aprendizagem com apoio de software
. 1 ed. São Paulo: Cengage Learning, 2008.

[2] FRANCO, Neide Bertoldi. Cálculo numérico. 1 ed.. São Paulo: Pearson Prentice Hall, 2006.

[3] RUGGIERO, Márcia A. Gomes; LOPES, Vera Lúcia da Rocha. Cálculo numérico: aspectos
teóricos e computacionais . 2 ed.. São Paulo: Pearson Education do Brasil, 1997.

[4] COELHO, Sandro, 2014. Material de Aula, Cálculo Numérico.

Cálculo Numérico 6

Você também pode gostar