Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CÁLCULO NUMÉRICO
Erros em Processos Numéricos. Operações em
Sistemas de Ponto Flutuante.
Prof. Dr. Thadeu Alves Senne
ICT - UNIFESP
senne@unifesp.br
Thadeu Alves Senne CÁLCULO NUMÉRICO 1 / 20
Erros em Processos Numéricos
Principais tipos de erros cometidos em cálculos:
Erros de aquisição de dados ou de medidas.
Erros de representação numérica.
Erros associados a cálculos realizados com precisão finita.
Erros associados a algoritmos que fornecem soluções aproximadas.
Thadeu Alves Senne CÁLCULO NUMÉRICO 2 / 20
Como medir erros de aproximação numérica?
Se x∗ ∈ R é uma aproximação para o número x ∈ R , definimos:
Erro absoluto: EA(x
∗) = |x − x∗|
Erro relativo: ER(x
∗) =
∣∣∣∣x − x∗
xref
∣∣∣∣ , em que xref = x ou xref = x∗ ,
com xref ̸= 0 .
Na prática, não conhecemos o valor exato da grandeza que está sendo
calculada. Neste caso, devemos obter estimativas para o erro cometido.
Thadeu Alves Senne CÁLCULO NUMÉRICO 3 / 20
Como medir erros de aproximação numérica?
Exemplo 1
Em cada um dos casos, calcule os erros absoluto e relativo entre o valor
exato x e seu respectivo valor aproximado x∗ :
(a) x = 2735.864 e x∗ = 2735 .
(b) x = 6.864 e x∗ = 6 .
Solução: (a) Temos que
EA(x
∗) = |x − x∗| = |2735.864− 2735| = 0.864
e
ER(x
∗) =
∣∣∣∣x − x∗
x
∣∣∣∣ = ∣∣∣∣2735.864− 2735
2735.864
∣∣∣∣ = 3.16× 10−4 = 0.0316% .
Thadeu Alves Senne CÁLCULO NUMÉRICO 4 / 20
Como medir erros de aproximação numérica?
Exemplo 1
Em cada um dos casos, calcule os erros absoluto e relativo entre o valor
exato x e seu respectivo valor aproximado x∗ :
(a) x = 2735.864 e x∗ = 2735 .
(b) x = 6.864 e x∗ = 6 .
Solução: (b) Note que
EA(x
∗) = |x − x∗| = |6.864− 6| = 0.864
e
ER(x
∗) =
∣∣∣∣x − x∗
x
∣∣∣∣ = ∣∣∣∣6.864− 6
6.864
∣∣∣∣ = 0.125 = 12.5% .
Thadeu Alves Senne CÁLCULO NUMÉRICO 5 / 20
Como medir erros de aproximação numérica?
Exemplo 1
Em cada um dos casos, calcule os erros absoluto e relativo entre o valor
exato x e seu respectivo valor aproximado x∗ :
(a) x = 2735.864 e x∗ = 2735 .
(b) x = 6.864 e x∗ = 6 .
Apesar de os valores aproximados dos itens (a) e (b) produzirem o
mesmo erro absoluto, vemos, por meio do erro relativo, que o erro de
aproximação cometido no item (b) é bem maior do que aquele
encontrado no item (a). Isso ocorre devido à ordem de grandeza das
quantidades envolvidas. Desta forma, o erro relativo é extremamente
útil, pois ele elimina a dependência dessa ordem de grandeza.
Thadeu Alves Senne CÁLCULO NUMÉRICO 6 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 2
Considere o sistema de ponto flutuante F (10, 4, −10, 10) , e sejam os
números p = 9370 e q = 12.72 . Calcule fl(p + q) e fl(pq) , utilizando
arredondamento, e calcule os respectivos erros relativos em relação aos
valores exatos.
Solução: Primeiramente, vamos calcular fl(p + q) . Na adição, todos os
números deverão ser escritos com o maior expoente posśıvel dentre as
parcelas. Neste caso, temos:
p = 9370 = 0.9370× 104 =⇒ fl(p) = 0.9370× 104
e
q = 12.72 = 0.1272× 102 = 0.001272× 104 .
Uma vez que a mantissa deverá ter apenas 4 d́ıgitos, teremos de
arrendondar o valor de q , de modo que fl(q) = 0.0013× 104 . Logo,
fl(p + q) = (0.9370 + 0.0013)× 104 = 0.9383× 104 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 7 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 2
Considere o sistema de ponto flutuante F (10, 4, −10, 10) , e sejam os
números p = 9370 e q = 12.72 . Calcule fl(p + q) e fl(pq) , utilizando
arredondamento, e calcule os respectivos erros relativos em relação aos
valores exatos.
Solução: Agora, vamos calcular fl(pq) . Na multiplicação, devemos
calcular o produto das mantissas e somar os expoentes, ou seja:
pq = (0.9370× 104)× (0.1272× 102)
= (0.9370× 0.1272)× 106
= 0.1191864× 106 .
Arredondando, obtemos
fl(pq) = 0.1192× 106 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 8 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 2
Considere o sistema de ponto flutuante F (10, 4, −10, 10) , e sejam os
números p = 9370 e q = 12.72 . Calcule fl(p + q) e fl(pq) , utilizando
arredondamento, e calcule os respectivos erros relativos em relação aos
valores exatos.
Solução: Vejamos os erros relativos cometidos em cada operação. Como
p + q = 9382.72 e fl(p + q) = 9383 , temos que
ER(p + q) =
∣∣∣∣(p + q)− fl(p + q)
(p + q)
∣∣∣∣ = ∣∣∣∣9382.72− 9383
9382.72
∣∣∣∣ = 2.98× 10−5 .
Analogamente, uma vez que pq = 119186.4 e fl(pq) = 119200 , obtemos
ER(pq) =
∣∣∣∣pq − fl(pq)
pq
∣∣∣∣ = ∣∣∣∣119186.4− 119200
119186.4
∣∣∣∣ = 1.14× 10−4 .
■
Thadeu Alves Senne CÁLCULO NUMÉRICO 9 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 3
Sejam os números p = 11.4 , q = 3.18 e r = 5.05 . Calcule fl((p + q) + r)
e fl(p + (q + r)) , considerando um sistema de ponto flutuante com 3
d́ıgitos na mantissa e utilizando arredondamento.
ATENÇÃO: Em um sistema de ponto flutuante, todas as operações
deverão ser feitas na ordem em que elas aparecem!!!
Thadeu Alves Senne CÁLCULO NUMÉRICO 10 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 3
Sejam os números p = 11.4 , q = 3.18 e r = 5.05 . Calcule fl((p + q) + r)
e fl(p + (q + r)) , considerando um sistema de ponto flutuante com 3
d́ıgitos na mantissa e utilizando arredondamento.
Solução: Primeiramente, vamos calcular fl((p + q) + r) . Observe que:
p = 11.4 = 0.114× 102 =⇒ fl(p) = 0.114× 102 ,
q = 3.18 = 0.318× 101 = 0.0318× 102
e
r = 5.05 = 0.505× 101 = 0.0505× 102 .
Como o sistema de ponto flutuante em questão permite apenas 3 d́ıgitos
na mantissa, temos que fl(q) = 0.032× 102 e fl(r) = 0.051× 102 . Assim,
fl(p + q) = (0.114 + 0.032)× 102 = 0.146× 102
e
fl((p + q) + r) = (0.146 + 0.051)× 102 = 0.197× 102 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 11 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 3
Sejam os números p = 11.4 , q = 3.18 e r = 5.05 . Calcule fl((p + q) + r)
e fl(p + (q + r)) , considerando um sistema de ponto flutuante com 3
d́ıgitos na mantissa e utilizando arredondamento.
Solução: Agora, vamos calcular fl(p + (q + r)) . Temos
q = 3.18 = 0.318× 101 =⇒ fl(q) = 0.318× 101
e
r = 5.05 = 0.505× 101 =⇒ fl(q) = 0.505× 101 ,
de modo que
fl(q + r) = (0.318 + 0.505)× 101 = 0.823× 101 = 0.0823× 102 .
Uma vez que o sistema de ponto flutuante em questão permite apenas 3
d́ıgitos na mantissa, temos que fl(q + r) = 0.082× 102 . Logo,
fl(p + (q + r)) = (0.114 + 0.082)× 102 = 0.196× 102 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 12 / 20
Operações em Sistemas de Ponto Flutuante
Exemplo 3
Sejam os números p = 11.4 , q = 3.18 e r = 5.05 . Calcule fl((p + q) + r)
e fl(p + (q + r)) , considerando um sistema de ponto flutuante com 3
d́ıgitos na mantissa e utilizando arredondamento.
ATENÇÃO: Observe que
fl((p + q) + r) = 19.7 ̸= 19.6 = fl(p + (q + r)) !!!
Desta forma, as operações com números reais em um sistema de ponto
flutuante poderão violar as propriedades usuais das operações básicas. É
por este motivo que as operações deverão ser feitas exatamente na ordem
em que aparecem.
Thadeu Alves Senne CÁLCULO NUMÉRICO 13 / 20
Como o zero é representado em um sistema de ponto
flutuante?
O zero deverá ser representado com todos os d́ıgitos da mantissa
iguais a zero e com o menor expoente posśıvel, para evitar perda de
precisão em cálculos.
Para ilustrar este fato, considere, por exemplo, o sistema de ponto
flutuante F (10, 4, −4, 4) . Neste caso, o zero deverá ser representado
por 0.0000× 10−4 .
Se tomarmos, por exemplo, p = 0.0000× 104 e q = 0.3134× 102 ,
teremos
p + q = (0.0000 + 0.0031)× 104 = 0.0031× 104 = 0.3100× 102 ,
de modo que perdemos 2 d́ıgitos do valor exato desta soma!!!
Thadeu Alves Senne CÁLCULO NUMÉRICO 14 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
Solução: Seja x = 0.001 . Observe a sequência de cálculos:
fl(x)= 0.1000× 10−2 ,
fl(x2) = (0.1000× 10−2)2
= 0.0100× 10−4
= 0.1000× 10−5 ,
Thadeu Alves Senne CÁLCULO NUMÉRICO 15 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
fl(x2 + 1) = (0.1000× 10−5) + (0.1000× 101)
= (0.1000000 + 0.0000001)× 101
= 0.1000001× 101
Arredondando, obtemos fl(x2 + 1) = 0.1000× 101 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 16 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
fl(
√
x2 + 1) =
√
0.1000× 101
=
√
0.0100× 102
= 0.1000× 101
e
fl(
√
x2 + 1− 1) = (0.1000− 0.1000)× 101
= 0.0000× 101
= 0.0000× 10−12 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 17 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
Logo, no sistema de ponto flutuante em questão, encontramos
f (0.001) = 0 .
Entretanto, o valor com 16 casas decimais corretas é
f (0.001) = 0.4999998750587764× 10−6 .
Tal diferença ocorreu devido ao fato de que
√
x2 + 1 ≈ 1 para x ≈ 0 ,
o que produziu o cancelamento de d́ıgitos significativos ao aplicar o
arredondamento ao termo x2 + 1 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 18 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
Para evitar o cancelamento de d́ıgitos significativos, podemos
reescrever a função f em questão como
f (x) =
√
x2 + 1−1 = (
√
x2 + 1−1)
(√
x2 + 1 + 1√
x2 + 1 + 1
)
=
x2√
x2 + 1 + 1
.
Desta forma, evitaremos o cancelamento devido à subtração entre os
dois valores próximos
√
x2 + 1 e 1 no caso em que x ≈ 0 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 19 / 20
Problema: cancelamento de d́ıgitos
Exemplo 4
Considere a função f (x) =
√
x2 + 1− 1 e o sistema de ponto flutuante
F (10, 4, −12, 12) . Calcule o valor de f (0.001) neste sistema.
Neste caso, utilizando esta expressão equivalente para f e
considerando o sistema de ponto flutuante em questão, pode-se
mostrar que f (0.001) = 0.5× 10−6 , cujo erro relativo em relação ao
valor com 16 casas decimais corretas é de 2.5× 10−7 .
■
Thadeu Alves Senne CÁLCULO NUMÉRICO 20 / 20

Mais conteúdos dessa disciplina