Você está na página 1de 32

Cálculo Numérico: Erros

Érica Regina Filletti Nascimento

Universidade Estadual Paulista Júlio de Mesquita Filho - UNESP


Instituto de Quı́mica - IQ
Departamento de Engenharia, Fı́sica e Matemática

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Introdução

O Cálculo Numérico tem por objetivo estudar esquemas numé-


ricos (algoritmos numéricos / utilizando o computador) para re-
solução de problemas que podem ser representados por modelos
matemáticos.

Uma solução obtida por meio de um método numérico será sem-


pre numérica, enquanto que soluções analı́ticas podem ser repre-
sentadas em termos de funções matemáticas.

Serve para resolver problemas nos quais o cálculo de uma solução


analı́tica seja muito complexo ou mesmo não exista.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Resolvendo um problema prático

Dado um problema prático qualquer como resolvê-lo utilizando


as técnicas do cálculo numérico?

Vamos dividir o processo de solução em três etapas:

Problema Modelo Solução


Real Matemático Numérica

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Resolvendo um problema prático

A última etapa deve ser dividida em três partes:


1 Determinar um método numérico de solução e construir um
algoritmo (descrição de um conjunto de comandos que re-
sulta em uma seqüência finita de acontecimentos).

2 Transcrever o algoritmo em um código (linguagem que possa


ser interpretada pelo computador).

3 Editar o código em um computador e executá-lo até que


sejam eliminados os erros e possam ser obtidos os resultados.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Erros em processos Numéricos

Durante as etapas de solução de um problema, podem surgir erros


que alteram os resultados obtidos.

Primeiramente é necessário conhecer os tipos de erros e desen-


volver maneiras para minimizá-los.

Quando resolvemos problemas utilizando computação numérica


os resultados obtidos são em geral aproximados. Assim, torna-se
importante medir o quão próximo este resultado está do valor
“exato”.

Para estimar ou delinear o erro, recorre-se a três conceitos: erro


absoluto, erro relativo e erro percentual.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Erros em processos Numéricos

Definimos como erro absoluto a diferença entre o valor exato


de um número x e seu valor aproximado x̄:

EAx = |x − x̄|.

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 erro absoluto, isto
é, escrevê-lo na forma
|x − x̄| 6 ,
onde  é um limitante conhecido.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Erros em processos Numéricos

O erro relativo é definido como o erro absoluto dividido pelo


valor exato: EA |x − x̄|
x
ERx = = .

x |x|

O erro percentual é definido como o erro relativo vezes 100, ou


seja
|x − x̄|
EPx = 100 × .
|x|

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Erros em processos Numéricos

Exemplo 1
Consideremos o valor exato x = 2345, 713 e o valor aproximado
x̄ = 2345, 000. Encontre os erros absolutos e relativos nessa apro-
ximação.

EAx = |x − x̄| = 0, 713;


e
|x − x̄| 0, 713
ERx = = ≈ 0, 00030396.
|x| 2345, 713

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Erros em processos Numéricos

Exemplo 2
Consideremos o valor exato x = 1, 713 e o valor aproximado
x̄ = 1, 000. Encontre os erros absolutos e relativos nessa apro-
ximação.
Temos que
EAx = |x − x̄| = 0, 713;
e
|x − x̄| 0, 713
ERx = = = 0, 416229.
|x| 1, 713

Observe que nos exemplos anteriores o erro absoluto é o mesmo,


embora o erro cometido pela aproximação seja muito mais signi-
ficativo no segundo exemplo.
Em geral o erro relativo é preferı́vel, devido às observações ante-
riores.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Tipos de Erros

Erros inerentes: surgem de modelos matemáticos incorretos,


medidas imprecisas. O usuário não tem condições de evitá-los.

Erro de truncamento: são erros que surgem quando um pro-


cesso matemático infinito é substituı́do por uma parte finita dele.

Erro de arredondamento: são erros cometidos pelos compu-


tadores ao realizarem operações aritméticas.

Um número decimal qualquer não pode ser representado exa-


tamente em um computador, pois ele deve ser convertido para
binário (base 2) e armazenado em um número finito de bits.

A medida que aumenta o número de casas decimais, n, o erro de


truncamento diminui.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Tipos de Erros

Truncamento de números:

Número Número finito de casas decimais “n = 4”


10, 123437872 10, 1234
−0, 982798732 −0, 9827

Arredondamento de números:

Número Número finito de casas decimais “n = 4”


10, 123437872 10, 1234
−0, 982798732 −0, 9828

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Vamos relembrar como são feitas as conversões entre as bases


decimal e binária.

Todo cálculo que envolva números que não podem ser represen-
tados através de um número finito de dı́gitos não fornecerá como
resultado um valor exato.

Quanto maior o número de dı́gitos utilizados maior será a pre-


cisão obtida.

Além disso, um número pode ter representação finita em uma


base e não finita em outras bases.

A base decimal é a que mais empregamos atualmente. Já um


computador opera em geral na base 2.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Um número N qualquer pode ser descrito numa base β de acordo


com a seguinte expressão polinomial:

N = am β m + am−1 β m−1 + . . . + a1 β 1 + a0 β 0 +
| {z }
Parte Inteira

+ a−1 β −1 + a−2 β −2 + . . . + a−n β −n ,


| {z }
Parte Fracionária

onde 0 6 ak < β, k = −n, . . . , m.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Exemplo 3

(0, 123)10 = 1 × 10−1 + 2 × 10−2 + 3 × 10−3


(1101)2 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

Observe que os algarismos que representam o número na base


são os coeficientes da expressão polinomial.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

É importante também observar que o deslocamento da vı́rgula


no número é realizado pela multiplicação do número pela corres-
pondente potência da base do número.

Exemplo 4

(0, 1234)10 = (123, 4 × 10−3 )10


(0, 101010)2 = (10, 1010 × 2−2 )2

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

O sistema decimal é baseado em dez dı́gitos diferentes. Todos os


números do sistema de numeração decimal são escritos usando-se
uma combinação dos seguintes dez dı́gitos: 0 1 2 3 4 5 6 7 8 9.

Analogamente, números no sistema binários são escritos usando-


se apenas os dois seguintes dı́gitos: 0 e 1.

Exemplo 5
Considere o número N = 2357. Para escrever esse número
como potências de 10, procedemos assim:

2 × 103 + 3 × 102 + 5 × 101 + 7 × 100 = 2357.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

No que segue vamos ver como procedemos para fazer conversões


entre as bases. Faremos isso através de exemplos usando as bases
binária e decimal.
Exemplo 6
Converter (101100)2 para base 10.
Lembre que podemos representar o número (101100)2 usando a
expressão polinomial vista anteriormente. Ou seja,

(101100)2 = 1 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 0 × 20
= 32 + 0 + 8 + 4 + 0 + 0
= (44)10 .

Portanto,
(101100)2 = (44)10 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Para converter um número N10 para um número M2 , proceda da


seguinte forma:

1 Divida N por 2, pegue o quociente da divisão e novamente


divida-o por 2.
2 Continue o processo até que o quociente seja 1.
3 O correspondente binário será formado pelo número 1 se-
guido dos restos da divisão escritos na ordem inversa.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Exemplo 7
Converta o número (23)10 para binário.

23 2

1 11 2

1 5 2

1 2 2

0 1

Logo,
(23)10 = (10111)2 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Para converter a parte fracionária de um número decimal para


binário, multiplique sucessivamente a parte fracionária por 2 até
que ela seja igual a zero.

Se não for possı́vel tornar a parte fracionária igual a zero é um


indicativo que o número não possui representação exata.

O número binário é representado pelas partes inteiras resultantes.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Exemplo 8
Converter (0, 625)10 para binário.

0, 625 0, 250 0, 500


Multiplique por 2 ×2 ×2 ×2
1, 250 0, 500 1, 000
Parte Inteira 1 0 1
Parte Fracionária 0,250 0,500 0,000

Logo,
(0, 625)10 = (0, 101)2 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Sistemas de Numeração

Exemplo 9
Converter (0, 6)10 para binário.

0, 6 0, 2 0, 4 0, 8
Multiplique por 2 ×2 ×2 ×2 ×2
1, 2 0, 4 0, 8 1, 6
Parte Inteira 1 0 0 1
Parte Fracionária 0,2 0,4 0,8 0,6

Logo,
(0, 6)10 = (0, 10011001 . . .)2 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

As máquinas utilizam o sistema de aritmética de ponto flutuante


para representar os números e executar as operações.

Um número real na base β, em aritmética de ponto flutuante


em t dı́gitos, tem a forma:

±(·d1 d2 . . . dt )β × β e ,

onde ±(·d1 d2 . . . dt ) é uma fração na base β, também chamada


de mantissa, 0 6 dj 6 β − 1, para todo j, j = 1, . . . , t, onde e é
um expoente que varia no intervalo (m, M ) sendo que este limite
depende da máquina utilizada: em geral, m = −M .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Dado um número N , sua representação em aritmética de ponto


flutuante de t dı́gitos é feita por truncamento ou arredondamento.

Este número não poderá ser representado neste sistema se o ex-


poente e estiver fora dos limites m e M .

Estes são os casos de erro como “underflow”, se e < m e de


“overflow”, se e > M .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Exemplo 10
Dar a representação dos números abaixo em um sistema de
aritmética de ponto flutuante de três dı́gitos para β = 10, m = −4
e M = 4.

N arredondamento truncamento

1,25 0, 125 × 10 0, 125× 10

10,053 0, 101 × 102 0, 100 × 102

-238,15 −0, 238 × 103 −0, 238 × 103

2, 71828 . . . 0, 272 × 10 0, 271 × 10

0,000007 expoente menor que −4 expoente menor que −4

718235,82 expoente maior que 4 expoente maior que 4

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Dependendo da máquina utilizada é possı́vel trabalhar em pre-


cisão dupla, que é o mesmo sistema de aritmética de ponto flu-
tuante mas com aproximadamente o dobro de dı́gitos disponı́veis
para a mantissa (ou seja, o comprimento da palavra passa a ser
aproximadamente 2t em precisão dupla).

É importante observar que neste caso, o tempo de execução e


requerimentos de memória aumentam de forma significativa, e
portanto, deve-se trabalhar com precisão dupla apenas em casos
estritamente necessários.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Concluindo, ao se trabalhar em um computador é essencial conhe-


cer seu comprimento de palavra e os limites do expoente e, pois
esses dados são essenciais para se interpretar tanto a precisão dos
resultados obtidos quanto as possı́veis interrupções na execução
de um programa ou erros nos resultados devido à ocorrência de
“underflow”ou “overflow”.

Apesar de incorrer em menores erros, o uso do arredondamento


acarreta um tempo maior de execução e por esta razão o trunca-
mento é mais utilizado.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Observação 11
A adição em aritmética de ponto flutuante requer o alinhamento
dos pontos decimais dos dois números.

Para isso, a mantissa do número de expoente menor deve ser


deslocada para a direita.

Esse deslocamento deve ser de um número de casas decimais igual


à diferença entre os dois expoentes.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Exemplo 12
Vamos supor que as operações são efetuadas num sistema de
aritmética de ponto flutuante de 4 dı́gitos, na base decimal. Da-
dos x = 0, 937 × 104 e y = 0, 1272 × 102 . Obter x + y e xy.

Alinhando os pontos decimais, teremos

x = 0, 937 × 104 e y = 0, 001272 × 104 .


Então

x + y = 0, 937 × 104 + 0, 001272 × 104 = (0, 937 + 0, 001272) × 104

= 0, 938272 × 104 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Exemplo 13
Continuação:
Esse é o resultado exato dessa operação. Dado que no nosso
sistema t = 4, esse resultado deve ser arredondado ou truncado.
Então
(
0, 9383 × 104 - arredondamento
x+ ¯y=
0, 9382 × 104 - truncamento.

Ainda
xy = (0, 937 × 104 ) × (0, 1272 × 102 )
= (0, 937 × 0, 1272) × 106
= 0, 1191864 × 106 .

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Aritmética de Ponto Flutuante

Exemplo 14
Continuação:
Logo, (
0, 1192 × 106 - arredondamento
xy
¯ =
0, 1191 × 106 - truncamento.

Esse resultado mostra que, ainda que as parcelas ou fatores de


uma operação estejam representados exatamente no sistema, não
se pode esperar que o resultado armazenado seja o exato.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros


Bibliografia

ARENALES, Selma; DAREZZO, Artur. Cálculo numérico:


Aprendizagem com o apoio de software. 2a¯ ed. São Paulo:
Cengage Learning, 2015.
FRANCO, N. B. Cálculo Numérico.São Paulo: Pearson,
2006.
RUGGIERO, M. A. G.; LOPES, V. L. R. Cálculo
Numérico: aspectos teóricos e computacionais. 2a¯ ed. São
Paulo: Person-Makron Books, 1997.

Érica Regina Filletti Nascimento Cálculo Numérico: Erros

Você também pode gostar