Cálculo Numérico

Propaganda
Erros
- Aritmética de ponto flutuante
- Erros
1.3 - Aritmética de ponto flutuante
• Os computadores representam números na
forma de ponto flutuante. Na aritmética de ponto
flutuante o número é representado na forma:
 (0.d1d 2 d t )  b e
onde b é a base;
t é o número de dígitos na mantissa
0  d j  (b  1), j  1,, t, d1  0
e é o chamado expoente no intervalo [l,u].
• Exemplo: Numa máquina que opera no
sistema b  10; t  3; e  [5, 5]
• os números são representados na forma
 (0.d1d 2 d 3 )  10 e , 0  d j  9, d1  0, e [5, 5]
• Nesta máquina, em módulo, o
menor número, em módulo: m  (0.100 )  10 5  10 6
maior número, em módulo: M  (0.999 )  10 5  99900
• Considere um número real tal que
m x M
• Então temos que:
i) o número x  235 .89  0.23589  10 3 nesta
máquina (que opera com três dígitos) será
representado por x  0.235  10 3 , se for usado
o truncamento e x  0.236  10 3 , se for usado o
arredondamento.
ii) x  m (underflow). Exemplo: x  0.267  10 7
iii) x  M (overflow). Exemplo: x  0.789  10 9
Comentário: Precisão Dupla
• Note que em algumas linguagens de
programação é possível declarar uma
variável em dupla precisão.
• Neste caso, esta variável será
representada no sistema de aritmética da
máquina, aproximadamente, com o dobro
de dígitos disponíveis na mantissa.
Exemplos:
• Considere b  10; t  3; e  [4, 4]
x
arredondamento
truncamento
1.25
0.125  10 1
0.125  10 1
10.053
0.101  10 2
0.100  10 2
-253.15
 0.253  10 3
 0.253  10 3
2.71828
0.272  10 1
0.271  10 1
0.000002
Underflow
Expoente<-4
817235.89
Overflow
Expoente>+4
Erros
• Erro absoluto: diferença entre o valor
exato de um número x e de seu valor
aproximado x :
EA x  x  x
• Erro relativo: erro absoluto dividido pelo
valor aproximado
xx
ER x 
x
Normalmente não temos o valor de x !!!!
Exemplos
• Sabendo-se que 3.14    3.15 , então
uma estimativa do erro absoluto é:
EA      0.01
• Seja um número representado por x  121.9
tal que EAx  0.1 ,isto é, 121.8  x  122.0
e seja um número representado por y  5.3
tal que EAy  0.1 , isto é, 5.2  y  5.4
• Note que os erros absolutos são iguais.
• Os erros relativos nos dois caso são:
ER x 
EAx
x
ER y 
0.1

 8.2  10 4
121.9
EAy
y
0.1

 0.02
5.3
• Portanto, o número x é representado com maior
precisão. Portanto, apesar dos erros absolutos
serem iguais, a precisão das medidas não o
são!!!
1.4 - Erros de arredondamento e
Truncamento
• Sabemos que a representação de um
número depende da máquina utilizada,
pois seu sistema definirá a base numérica
adotada, o total de dígitos na mantissa
etc... Vimos também que algumas
linguagens de programação permitem
dupla precisão.
Aritmética de ponto flutuante
• Considere uma aritmética de ponto
flutuante com t dígitos, na base 10. Seja o
número x representado na forma:
x  f x  10 e  g x  10 e t
com 0.1  f x  1
0  gx  1
• Por exemplo, se t=4 e x=234.57, então
1
x  0.2345  10  0.7  10  f x  0.2345 g x  0.7
3
e t
g
10
• Note que x
não pode ser
incorporado à mantissa!!!!!!!!!
• Existem dois procedimentos:
• Truncamento
• Arredondamento
e t
g
10
• Truncamento: x
é desprezado e
x  f x  10 e
• Erro Absoluto: EAx  x  x  10
e t
• Erro Relativo:
ER x 
EAx
x

g x  10 e t
f x  10
e
10 e t
1t

 10
e
0.1  10
Menor valor que fx pode assumir
• Arredondamento: f x é modificado para levar em
consideração parte de g x .
• Arredondamento simétrico:
Se g x  1 2 somamos 1 no último dígito de f x
Se g x  1
2
desprezamos g x
1
e t
• Erro Absoluto: EAx  x  x   10
2
• Erro Relativo: ERx  x  x  1  101t
x
2
Propagação de Erros
• Dada uma seqüência de operações
u  x  y   z  t / w
como dá-se a propagação de erros?
O erro total é composto pelo erro dos
fatores e pelo erro no resultado da
operação.
Bibliografia:
• Ruggiero, Márcia A. Gomes e Lopes, Vera
Lúcia da Rocha Cálculo Numérico:
Aspectos Teóricos e Computacionais 2
ed., São Paulo: Makron Books, 1996.
Download