Efetue as seguintes operações em aritmética de ponto flutuante: considere truncamento após cada operação) com 3 dígitos de mantissa. Calcule os erros relativos e os erros absolutos de cada resposta e explique a razão de este erro ser grande. Exemplo:
valor exato
valor aproximado
erro absoluto
. erro relativo
.
c)
c)
Passo 1
O que o enunciado pede e os dados que temos (sem resolver ainda).
- Pede-se efetuar a operação
em aritmética de ponto flutuante com mantissa de 3 dígitos e TRUNCAMENTO após cada operação. - Para cada resultado pedido, calcular o erro absoluto (EA) e o erro relativo (ER) e explicar por que o erro pode ser grande.
- Dados iniciais (já na representação de entrada):
-
(tem 3 dígitos, pode ser representado exatamente na mantissa de 3 dígitos) -
(tem 3 dígitos) -
(tem 3 dígitos significativos) -
(tem 2 dígitos; também é representável exato no formato com 3 dígitos)
-
- Regra de arredondamento: usa-se TRUNCAMENTO (não arredondamento) para reduzir a mantissa a 3 dígitos significativos imediatamente após cada operação.
Passo 2
Breve explicação didática (o que significa “3 dígitos de mantissa” e “truncamento”) e definição de erros.
- “3 dígitos de mantissa” aqui vamos interpretar como manter apenas 3 dígitos significativos em cada número resultante (ex.:
tem já 3 algarismos significativos; tem 3). - Truncamento: quando um resultado tem mais de 3 dígitos significativos, corta-se (descarta-se) tudo após o terceiro dígito, sem arredondar.
- Erros:
- Erro absoluto:
. - Erro relativo:
(quando o valor exato for diferente de zero).
- Erro absoluto:
Passo 3
Calcular a primeira suboperação
.
- Cálculo exato:
. - Representação com mantissa de 3 dígitos e truncamento:
já tem no máximo 3 dígitos significativos, logo a representação truncada é simplesmente . - Conclusão intermediária:
- Valor exato da primeira suboperação:
. - Valor armazenado (após truncamento):
.
- Valor exato da primeira suboperação:
- Erros desta etapa:
-
. -
.
-
Passo 4
Calcular a segunda suboperação
seguindo a regra (truncamento após a operação).
- Cálculo exato:
. - Agora aplicar truncamento a 3 dígitos significativos no resultado
. - Olhamos os dígitos significativos do valor em módulo:
tem dígitos . Mantendo apenas os 3 primeiros dígitos significativos (truncamento) obtemos . - Assim o resultado truncado é
.
- Olhamos os dígitos significativos do valor em módulo:
- Conclusão intermediária:
- Valor exato da segunda suboperação:
. - Valor armazenado (após truncamento):
.
- Valor exato da segunda suboperação:
- Erros desta etapa:
-
. -
(aprox. ).
-
Passo 5
Somar os resultados truncados das duas suboperações:
.
- Usamos os valores obtidos nos passos anteriores:
. - Soma exata desses valores (antes de novo truncamento):
. - Aplicando truncamento de 3 dígitos ao resultado:
já tem dígitos significativos, fica . - Resultado final aproximado (computado em aritmética de ponto flutuante com truncamento após cada operação):
.
Passo 6
Calcular o valor exato da expressão sem nenhuma aproximação, para comparar.
- Valor exato da expressão:
Passo 7
Calcular os erros do resultado final e comentar por que o erro ficou grande.
- Erro absoluto final:
- Erro relativo final:
- Explicação didática e intuitiva do porquê do erro ser grande:
- Na segunda suboperação
o resultado exato é . Ao truncar para 3 dígitos, perdeu-se (ficou ). Esse erro de é pequeno relativamente ao próprio número (erros relativos daquela etapa eram cerca de ), mas é comparativamente grande em relação ao resultado final exato . - Quando depois somamos
com o valor truncado , o pequeno pedaço perdido ( ) não reaparece: a soma dá em vez de . Ou seja, uma pequena perda numa etapa intermediária transformou-se numa diferença grande em relação ao resultado final — fenômeno conhecido como perda de significância ou “catastrophic cancellation”. - Regra prática: subtrair números de magnitudes muito diferentes ou somar/subtrair de forma que um pequeno resultado venha de diferença entre dois números grandes é perigoso em aritmética finita; baixos dígitos significativos são facilmente perdidos pelo truncamento/rounding.
- Na segunda suboperação
Passo 8
Sugestão rápida para evitar (quando possível) esse tipo de erro em cálculos manuais ou em algoritmos numéricos.
- Reordenar operações quando permitido: somar primeiro os termos pequenos entre si e depois combinar com os grandes pode reduzir perda de dígitos. Por exemplo, se fizermos primeiro
(truncando para 3 dígitos dá ) e só depois subtrair , obtemos (erro final em relação a ), que é muito melhor do que . (Isto ilustra por que a ordem das operações importa em ponto flutuante.)
Resposta
Valor aproximado final:
Valor exato:
Erro absoluto final:
Erro relativo final:
Valor exato:
Erro absoluto final:
Erro relativo final:
Erro absoluto e relativo da primeira suboperação
:
Erro absoluto e relativo da segunda suboperação :
Erro absoluto e relativo da segunda suboperação