A3 Avalie as expressões abaixo em um sistema de ponto flutuante com cinco dígitos significativos. Compute o erro relativo em cada operação executada e no resultado final. Identifique qual a operação contribuiu mais expressivamente para o erro final.
Passo 1
Beleza, o exercício pede pra gente calcular em ponto-flutuante decimal com 5 dígitos significativos a expressão
e, em cada operação, achar o erro relativo, inclusive no resultado final, e dizer qual operação “matou” mais o resultado. O conteúdo aqui é: representação em ponto-flutuante normalizado (5 dígitos), arredondamento em cada soma, erro de arredondamento e erro relativo.
Passo 2
Vamos lembrar rápido como é o formato: todo número é armazenado como
com 5 dígitos
. Quando você soma dois números, o menor pode até sumir se for mais “miúdo” que o passo do maior. O passo (distância entre vizinhos) de um valor
é
(aqui
). O erro relativo de uma operação que de fato deveria dar
mas retorna
é
Passo 3
A gente vai avaliar “por fora” como se fôssemos computar em código:
inicializamos , e para
fazemos
inicializamos
Repare que
é representado como
. O passo aqui é
Como
, toda vez que tentarmos somar
a
(ou a qualquer
que permaneça em torno de
), o termo pequeno não muda o bit menos significativo do mantissa, ou seja
Isso vale para a primeira soma e para todas as 25000 somas seguintes: o acumulador nunca sai de 10000.
Passo 4
Erro relativo de cada soma
Cada operação deveria produzir
Cada operação deveria produzir
mas obtém
. Então para cada
:
Passo 5
Resultado final
enquanto o valor exato seria
Erro relativo final
A operação que mais contribuiu para esse erro foi a primeira soma
, pois a partir daí o acumulador já ficou “travado” em 10000 e todas as outras somas repetiram o mesmo arredondamento.
Resposta
Resultado computado: 10000
Erro relativo de cada soma:
Erro relativo final: 0.5 (50 %)
Operação mais danosa: a primeira soma (onde o 0.4 foi totalmente perdido).
Erro relativo de cada soma:
Erro relativo final: 0.5 (50 %)
Operação mais danosa: a primeira soma