LISTA DE EXERCÍCIOS RESOLVIDOS Nº 1 – ARITMÉTICA DE PONTO FLUTUANTE - Cálculo Numérico - Blog do Estudante de Atuariais

quarta-feira, 27 de março de 2019

LISTA DE EXERCÍCIOS RESOLVIDOS Nº 1 – ARITMÉTICA DE PONTO FLUTUANTE - Cálculo Numérico

1. Utilizando uma calculadora de bolso (de preferência, de quatro operações), determine o valor do Ɛ da Ɛ calculadora. Especifique qual calculadora usou.
Usando uma calculadora de quatro operações, com apenas 7 algarismos após a vírgula, desprovida de representação em notação científica, o valor de ε é 0.0000001, pois não há como representar um número menor do que esse na calculadora.
Já usando uma calculadora HP-48SX, e executando o algoritmo de estimação de ε, o
valor retornado é 7,2759576141×10^-12.


2. Determine as constantes caracterizadoras de um sistema de ponto-fixo com (|E|,|D|) = (5,8) e de um
sistema de ponto-flutuante F=(2,6,6). Compare os dois sistemas, estabelecendo relações entre eles.
Para o sistema de ponto-fixo:
p = 13
MINR = (0.0000 0001)2 = 2^-8=0,00390625
MAXR = (1 1111.1111 1111)2=∑2^i(i=4 a -8) = 31,99609375
ε = MINR = ULP = 0,00390625
Para o sistema de ponto-flutuante (com notação científica normalizada, e expoentes em sinal-e-magnitude)
p = 7
MINE = -(2^(6-1)-1) = -31
MAXE = 2^(6-1)-1 = 31
MINR = 2^-1×2^MINE = 2^-1×2^-31 = 4,65661287307×10^-10
MAXR = (0.1111 111)2×2^MAXE = 0,9921875×2^31 = 2,130706432×10^9
ε = 2^-7 = 0,0078125
ULP = 2^(-7+E)
Observe que usando um bit a menos para a representação em ponto-flutuante, mesmo assim obtemos um intervalo de representação muito maior nesse sistema do que no sistema de ponto-fixo. Por outro lado, o valor de ε nesse sistema é a metade do valor de ε no sistema de ponto-flutuante, o que pode ser uma vantagem em certas situações (veja que bastaria usar um sistema de ponto-flutuante F=(2,7,6) para obter o mesmo valor de ε).

3. Considere a expressão [raiz(1+x) - raiz(1-x)], a qual apresenta cancelamento de dígitos quando x<<1. A expansão em séries da mesma expressão, com 6 termos, em torno de x=0, [x + 1/8x^3 + O(x^5), fornece um resultado mais adequado, se compararmos com a expressão alternativa [2x/raiz(1+x) - raiz(1-x)] ?
Não. Para os valores 10^-4, 10^-8 e 10^-12, ambas as expressões fornecem o mesmo resultado,
com erro relativo zero; pode-se dizer, portanto, que ambas são equivalentes.


4. Calcule w(x) = 1 + 1/2tanh(x)^2 - cosh (x) para x=0.1, usando a própria expressão e uma outra,
equivalente, usando uma expansão em séries. Aponte onde e como ocorrem os erros.
Em precisão dupla, obtemos:
w(0.100000000000)=4.482982925667E-02
w_series(0.100000000000)=4.482983332828E-02
Já em precisão simples, obtemos:
w(0.100000)= 4.482983E-02
w_series(0.100000)= 4.482983E-02

Qual a razão da diferença nos resultados? Observe que 0.1 não tem representação exata
em binário; mas, em precisão dupla, mais bits serão utilizados na sua representação. No
entanto, a expressão (1+1/2 tanh x²) é quase 1, para x=0.1, e cosh x também é quase 1.
Ao efetuarmos a subtração (1+1/2 tanh x²)-cosh x, estaremos subtraindo quantidades
muito próximas entre si, o que levará à perda de precisão. Em precisão simples, tal efeito
não é percebido nessa expressão, mas em precisão dupla, vemos que o erro relativo entre
as duas formas de avaliação da expressão é da ordem de 9,8234554427×10^-8.


5. Determine o comportamento de ln[(raiz(1+x²-x))/(raiz(1+x²+x))] quando a) x é grande e b) x é próximo de zero.
Como a função deve ser avaliada nesses dois casos?
Quando x é grande, x²>>1 e, portanto, raiz(1+x²) ~= raiz(x²) ~= x; a subtração no numerador
poderá facilmente ser calculada como 0 (quando deve ser um número diferente de zero).

Nenhum comentário:

Postar um comentário