Exercícios Resolvidos de Erros

Ver Teoria

Enunciado

2. Considere uma máquina com representação de números dada por um sistema de ponto flutuante F 10 ,   3 , L , U , i.e., com 3 dígitos na mantissa e expoente no intervalo L , U . A máquina utiliza arredondamento.

(a) Calcule o resultado da seguinte operação: 1 + x - 1 na máquina especificada.

(b) O que ocorre com o resultado?

(c) Sugira uma forma de evitar o problema ocorrido nas operações de aritmética de ponto flutuante e refaça os seus cálculos.

Passo 1

Iae, como vai? Essa questão está um pouco complicada? Fique tranquilo que vamos tentar te ajudar. 😎👍

Nesse problema temos uma máquina configurada para o sistema de ponto flutuantes F 10 ,   3 , L , U . Ou seja, representação na base 10 com 3 dígitos após a vírgula.

No item a) temos que calcular a operação 1 + x - 1 nessa configuração de F . Como não foi dito qual é o valor de x , vamos usar um valor arbitrário.

Já no item b) temos que dizer o que ocorre com o resultado nessa configuração da nossa máquina.

E por fim, no item c) temos que fazer algumas mudanças para diminuir os erros nos cálculos.

Entendeu? Bora começar!

Passo 2

Vamos começar, fazendo a operação que vamos chamar de P .

P = 1 + x - 1

Considerando x = 1,500 , temos

P = 1 + 1,500 - 1

P = 2 , 500 - 1

P = 1,58113883 - 1

P = 0 , 58113883

Esse é o valor exato de P , porém na nossa máquina, P será dado por

P = 0 , 5811

Com 3 casas decimais após a vírgula.

Aproveitando para responder o item b), perceba que P na máquina e P exato são um pouco diferentes.

Digamos que tivéssemos que aplicar esse resultado em outra operação P · 1 · 10 6 , uranso o valor da máquina, teríamos

0,5811 · 1 · 10 6 = 581100

Mas se usássemos o valor exato, teríamos

0,58113883 · 1 · 10 6 = 581138 , 83

O que eu quero dizer com isso, que na máquina, o arredondamento para 3 casas decimais gera um erro que pode se tornar um problema devido a aplicação do problema ou devido ao que chamamos de erros em cascata, que por causa de uma aproximação como essa gera erros cada vez maiores ao ser aplicado em outras operações.

Sacou? 😉

Passo 3

Por último, temos que fazer algumas mudanças na nossa maquina para diminuir nosso problema.

Pra isso, vamos cortar o mal pela raiz, ou seja, nosso problema acontece quando temos que arredondar um número para 3 casas decimais.

Portanto, se aumentássemos o número das casas decimais teríamos uma maior precisão nos resultados.

Por exemplo, se usássemos 9 casas decimais, nossa máquina teria a seguinte configuração

F 10 ,   9 , L , U

Refazendo os cálculos de P para essa nova configuração...

P 2 = 1 + 1,500 000000 - 1

P 2 = 2 , 500000000 - 1

P 2 = 1,581138830 - 1

Resultando em

P 2 = 0 , 581138830

Perceba que agora está muito mais próximo do valor exato, não é? 😉

E todos viveram felizes para sempre. Fim! 😉 Entendeu tudo? Responde Aí

Resposta

a) x = 1,500 → P = 0,5811

b) Falta de precisão

c) F 10 ,   9 , L , U → P 2 = 0,581138830

Exercícios de Livros Relacionados

Idem para u = 3 underset(_)(x) e w = underset(_)(x) + underset(_)(x) + underset(_)(x) .
É interessante observar que a adição em aritmética de ponto flutuante nem sempre é associativa. Prova-se que dados n números xl' x2, ... , xn representados exatamente, o limite do erro total devido ao
Verifique de alguma forma que, se r F tem representação finita na base 2 com k dígitos, ou seja, r F=( 0 .d 1 d 2 · · · d k ) 2 , então sua representação na base 10 é também finita com k dígitos.
Sejam x e y as representações de x e y obtidas por arredondamento em um computador. Deduza expressões de limitante de erro para mostrar que o limitante do erro relativo de u = 3 x y é menor que o de v
Supondo que x é representado num computador por x _ , onde x _ é obtido por arredondamento, obtenha os limites superiores para os erros relativos de u = 2 x _ e w = x _ + x _ .