A maior rede de estudos do Brasil

Grátis
217 pág.
NotasdeAula_CN

Pré-visualização | Página 7 de 38

e associatividade
Em sistemas de ponto �utuante, as propriedades de Adição, Subtração, Multi-
plicação e Divisão não obedecem necessariamente às mesmas regras da aritmética
sobre o conjunto dos números reais <. Para ilustrarmos, vejamos o Exemplo 1.15.
Exemplo 1.15 Tomemos x1 = 0, 3491×104 e x2 = 0, 2345×100. Seja a precisão
da máquina dada por t = 4. Assim,
a1 = (x2 + x1)− x1
= (0, 2345× 100 + 0, 3491× 104)− 0, 3491× 104
= 0, 0000
Agora, tomando-se
a2 = x2 + (x1 − x1)
= 0, 2345× 100 + (0, 3491× 104 − 0, 3491× 104)
= 0, 2345× 100
Vemos, portanto, que a1 6= a2, o que é um absurdo!
erros computacionais 31
1.2.5 Precisão e exatidão de máquina
Os conceitos de precisão e exatidão são distintos um do outro. A precisão
de uma máquina informa sobre o número de dígitos signi�cativos da máquina,
sendo este �xo para uma máquina. A exatidão, ao contrário, de�ne a perfeição
do resultado, que depende de diversos fatores, entre eles a precisão, a base do
sistema de numeração, o compilador etc.
Vimos que todas as máquinas operam com um sistema de ponto �utuante
F (β, t, I, S), onde t é a precisão da máquina para a base β. É comum desejarmos
conhecer qual a precisão de uma máquina com relação ao sistema decimal. Se
chamarmos de precisão p o valor da precisão em decimal, temos a seguinte relação,
βt = 10p ⇒ p = t ln β
ln 10
. (1.8)
De�nição 1.7 A exatidão de uma máquina é medida por ε, que é o menor nú-
mero em ponto �utuante, tal que temos
1 + ε > 1.
Este valor é conhecido como ε de máquina.
Exercício 1.7 Escreva um programa simples para determinar o ε de máquina.
Note que, nos sistemas de computação algébrica é possível de�nir várias precisões
t.
Exercício 1.8 Considerando os sistemas de ponto �utuante padrão IEEE F(2,
23,−126, 127), IBM 3090 F(16, 5,−65, 62) e do supercomputador CRAY XM-P
F(2, 47,−16385, 8190), determine a precisão destes em decimal.
1.3 Tipos de erros
Como vimos anteriormente, nas várias etapas da cadeia da pesquisa cientí-
�ca, erros de diversos tipos podem ocorrer. Em geral, os tipos de erros estão
classi�cados como:
• Erros nos dados de entrada;
• Erros gerados pelo modelo;
• Erros por truncamento;
• Erros por arredondamento.
32 cálculo numérico
1.3.1 Erros de dados
A coleta de dados decorrentes de medidas das observações e experimentos, na
maioria das vezes, traz consigo erros que são inerentes aos próprios instrumentos
de medida. Dependendo do tipo de aparelho utilizado para a coleta de dados,
obtemos um melhor ou um pior conjunto de valores observáveis.
Neste livro, não vamos tratar especi�camente de erros dessa natureza, por não
fazerem parte de nosso objetivo de estudo.
1.3.2 Erros do modelo
A fase de modelagem é extremamente importante para a correta descrição
de um fenômeno físico. Já vimos, anteriormente, como um modelo pobre pode
levar a erros e, por conseguinte, a resultados que estejam longe do observável.
Muitos modelos são descartados tendo em vista que os seus resultados não são
consistentes com a observação do fenômeno.
Como estamos mais interessados na etapa de resolução dos problemas, não
vamos discutir aqui os erros devido à modelagem do problema físico, embora
a etapa de modelagem seja uma das mais importantes para a solução de um
problema físico.
1.3.3 Erros por truncamento
Em muitas ocasiões, no tratamento de um problema, é preciso fazermos a
substituição de uma expressão ou fórmula in�nita por uma �nita. Nesse caso,
a diferença entre a solução encontrada pela substituição da solução exata pela
fórmula �nita gera um erro que se chama erro de truncamento.
Um exemplo típico é a aproximação de uma função por sua série de Taylor.
Seja f(x) uma função de�nida em um certo intervalo, então sua expansão em
série de Taylor, na vizinhança de um ponto x = x0, é dada por:
f(x) = f(x0) + (x− x0)f ′(x0) + (x− x0)
2
2!
f ′′(x0)
+
(x− x0)3
3!
f ′′′(x0) + · · · (1.9)
Exemplo 1.16 Seja a função f(x) = sen x. A expansão da função em torno do
ponto x = 0, até ordem 5, é dada por
p5(x) = x− x3/3 + x5/120.
Se considerarmos a aproximação sen x ≈ p5(x), temos que o erro de trun-
camento é dado por: ET =| sen x − p5(x) |. Tomando o valor de x = pi/4 na
expressão do erro de truncamento, temos
erros computacionais 33
ET (pi/4) = sen (pi/4)− p5(pi/4) ' −3, 626459× 10−5.
Em geral, deseja-se saber o erro dentro de certa tolerância,
ET = |sen x− p(x)| ≤ �, (1.10)
onde � é a tolerância desejada. Em geral, a tolerância é estabelecida de acordo
com a acurácia desejada para a solução do problema em estudo.
Exercício 1.9 Determine a expansão em série de Taylor, até ordem 5, para as
funções a seguir. Em todos os casos, veri�que o erro de truncamento, conside-
rando alguns valores de x para as funções.
f(x) = ex, em torno de x = 0,
g(x) = cos x, em torno de x = 0,
h(x) = ln x, em torno de x = 1.
1.3.4 Erros por arredondamento
Vimos que a conversão de um número, escrito em um sistema de numeração,
para outro sistema de numeração pode causar erros, uma vez que considerando
um sistema de ponto �utuante, não podemos representar o número com precisão
in�nita. Em um sistema de ponto �utuante, os números são representados de
forma discreta e com uma precisão limitada,
1
o que causa erros devido a arredon-
damentos, como veremos a seguir.
Para melhor ilustrar a noção de erro por arredondamento, vejamos o seguinte
caso. Suponha que temos a soma das frações
1
3
+
1
3
+
1
3
(1.11)
A solução exata dessa operação é 1. Suponha, agora, que estejamos traba-
lhando com uma máquina cuja precisão é t = 4. Considere a soma usando a
aproximação decimal para cada termo da equação (1.11), ou seja:
0, 3333 + 0, 3333 + 0, 3333 = 0, 9999 (1.12)
Vemos, então, que o resultado da soma em (1.12) é diferente do resultado da
soma em (1.11). Em ponto �utuante teríamos o erro,
1
Nos sistemas de computação algébrica, a precisão pode ser de�nida pelo usuário, tendo como
limite apenas a capacidade de hardware da máquina. Por isso, esses sistemas são conhecidos
como sistemas com precisão arbitrária.
34 cálculo numérico
E = 0, 1× 10− 0, 09999× 10 = 0, 00001× 10 = 10−5.
Por outro lado, como a precisão do sistema é t = 4, se cancelarmos o 1 que
está além da precisão, o resultado é E = 0, 0000 × 10 = 0, já que não podemos
representar mais que 4 casas decimais. Neste caso, a diferença entre o valor
exato e o valor representando em ponto �utuante é nula, muito embora tenhamos
desprezado uma contribuição da ordem de 10−5.
Considere agora
2
3
+
2
3
+
2
3
= 2, (1.13)
Em uma máquina com precisão t = 4, temos:
0, 6666 + 0, 6666 + 0, 6666 = 0, 19998× 10 (1.14)
Como o sistema não pode representar além de 4 dígitos signi�cativos, o resultado
de (1.14), cancelando o 8, é 0, 1999× 10. Neste caso, vemos que a diferença entre
o valor exato e o valor em ponto �utuante não é nulo, pois E = 0, 2 × 10 −
0, 1999× 10 = 0, 0001× 10 = 0, 1× 10−2.
Os arredondamentos podem ser de dois tipos:
1. Arredondamento do tipo Corte, também chamado de cancelamento. Nesse
caso, os dígitos além da precisão t do sistema de ponto �utuante são auto-
maticamente abandonados (desprezados);
2. Arredondamento para o número mais próximo de máquina. Suponha que
a precisão de uma máquina é t. Então, analisamos o algarismo de ordem
t+ 1:
i) Se esse algarismo for maior ou igual a 5, somaremos uma unidade ao
algarismo de ordem t; ou seja, dt → dt = dt + 1,
ii) Se o algarismo de ordem t + 1 for menor que 5, então o algarismo de
ordem t permanecerá inalterado, ou seja, dt → dt.
Suponha, agora, que consideremos um arredondamento para número mais
próximo de máquina no caso da soma dada em (1.14). Temos a soma (1.14) dada
por 0, 2×10, e como consequência, não teríamos erro causado por arredondamento