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 xx 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 1t 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 101t 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.