Buscar

Análise de Erros em Operações de Ponto Flutuante

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

GEX114 - Ca´lculo Nume´rico
Profa.Dra.Amanda Castro Oliveira
Departamento de Cieˆncias Exatas - DEX/UFLA
amanda@dex.ufla.br
Aula 5- 1.5.4 Ana´lise de erros nas operac¸o˜es de aritme´ticas
de ponto flutuante
Ja´ vimos como uma ma´quina representa um nu´mero no
SPF(β, t, l , u) veremos agora como o erro cometido nessa
representac¸a˜o propaga-se ao longo das operac¸o˜es.
“O erro total em uma operac¸a˜o e´ composto pelo erro das
parcelas ou fatores e tambe´m pelo erro no resultado da
operac¸a˜o.”
Vamos supor que as operac¸o˜es de ponto flutuante sa˜o
efetuadas na base 10 e com acumulador de precisa˜o dupla.
Ainda que as parcelas ou fatores estejam representados
exatamente no SPF o resultado final armazenado pode na˜o
ser exato.
1.5.4 Ana´lise de erros nas operac¸o˜es de aritme´ticas de
ponto flutuante
Em geral, a operac¸a˜o e´ efetuada e o resultado final desta operac¸a˜o
e´ truncado ou arredondado e enta˜o armazenado. Neste caso, o
erro relativo cometido no resultado de cada operac¸a˜o em que as
parcelas estejam representadas exatamente sera´:
a) |ERop| < 10−t+1 no truncamento
b) |ERop| < 0.5 ∗ 10−t+1 no arredondamento.
1.5.5 Propagac¸a˜o de Erros
As fo´rmulas para os erros absoluto e relativo nas operac¸o˜es
aritme´ticas com erros nas parcelas ou fatores sa˜o dadas por:
Sejam x e y , tais que x = x¯ + EAx e y = y¯ + EAy .
Adic¸a˜o: x + y
x + y = (x¯ + EAx) + (y¯ + EAy ) = (x¯ + y¯) + (EAx + EAy )
1 Erro Absoluto: EAx+y = EAx + EAy
2 Erro Relativo: ERx+y =
EAx+EAy
x¯+y¯ =
EAx
x¯ (
x¯
x¯+y¯ ) +
EAy
y¯ (
y¯
x¯+y¯ )
1.5.5 Propagac¸a˜o de Erros
As fo´rmulas para os erros absoluto e relativo nas operac¸o˜es
aritme´ticas com erros nas parcelas ou fatores sa˜o dadas por:
Sejam x e y , tais que x = x¯ + EAx e y = y¯ + EAy .
Adic¸a˜o: x + y
x + y = (x¯ + EAx) + (y¯ + EAy ) = (x¯ + y¯) + (EAx + EAy )
1 Erro Absoluto: EAx+y = EAx + EAy
2 Erro Relativo: ERx+y =
EAx+EAy
x¯+y¯ =
EAx
x¯ (
x¯
x¯+y¯ ) +
EAy
y¯ (
y¯
x¯+y¯ )
1.5.5 Propagac¸a˜o de Erros
As fo´rmulas para os erros absoluto e relativo nas operac¸o˜es
aritme´ticas com erros nas parcelas ou fatores sa˜o dadas por:
Sejam x e y , tais que x = x¯ + EAx e y = y¯ + EAy .
Adic¸a˜o: x + y
x + y = (x¯ + EAx) + (y¯ + EAy ) = (x¯ + y¯) + (EAx + EAy )
1 Erro Absoluto: EAx+y = EAx + EAy
2 Erro Relativo: ERx+y =
EAx+EAy
x¯+y¯ =
EAx
x¯ (
x¯
x¯+y¯ ) +
EAy
y¯ (
y¯
x¯+y¯ )
1.5.5 Propagac¸a˜o de Erros
Subtrac¸a˜o: x − y
x − y = (x¯ + EAx)− (y¯ + EAy ) = (x¯ − y¯)− (EAx + EAy )
1 Erro Absoluto: EAx−y = EAx + EAy . O erro absoluto da
subtrac¸a˜o e´ menor ou igual a` soma dos erros absolutos das
parcelas. Sempre consideramos o pior caso, na˜o ha´
cancelamento de erros!!
2 Erro Relativo: ERx−y =
EAx+EAy
x¯−y¯ =
EAx
x¯ (
x¯
x¯−y¯ ) +
EAy
y¯ (
y¯
x¯−y¯ )
1.5.5 Propagac¸a˜o de Erros
Subtrac¸a˜o: x − y
x − y = (x¯ + EAx)− (y¯ + EAy ) = (x¯ − y¯)− (EAx + EAy )
1 Erro Absoluto: EAx−y = EAx + EAy . O erro absoluto da
subtrac¸a˜o e´ menor ou igual a` soma dos erros absolutos das
parcelas. Sempre consideramos o pior caso, na˜o ha´
cancelamento de erros!!
2 Erro Relativo: ERx−y =
EAx+EAy
x¯−y¯ =
EAx
x¯ (
x¯
x¯−y¯ ) +
EAy
y¯ (
y¯
x¯−y¯ )
1.5.5 Propagac¸a˜o de Erros
Subtrac¸a˜o: x − y
x − y = (x¯ + EAx)− (y¯ + EAy ) = (x¯ − y¯)− (EAx + EAy )
1 Erro Absoluto: EAx−y = EAx + EAy . O erro absoluto da
subtrac¸a˜o e´ menor ou igual a` soma dos erros absolutos das
parcelas. Sempre consideramos o pior caso, na˜o ha´
cancelamento de erros!!
2 Erro Relativo: ERx−y =
EAx+EAy
x¯−y¯ =
EAx
x¯ (
x¯
x¯−y¯ ) +
EAy
y¯ (
y¯
x¯−y¯ )
1.5.5 Propagac¸a˜o de Erros
Multiplicac¸a˜o: x ∗ y
x∗y = (x¯+EAx)∗(y¯+EAy ) = (x¯∗y¯)+(x¯EAy+y¯EAx)+EAx∗EAy
Vamos desprezar o produto EAx ∗ EAy uma vez que ele e´ um
nu´mero muito pequeno em relac¸a˜o aos demais envolvidos na
operac¸a˜o, assim
x ∗ y = (x¯ + EAx) ∗ (y¯ + EAy ) = (x¯ ∗ y¯) + (x¯EAy + y¯EAx)
1 Erro Absoluto: EAx∗y = x¯EAy + y¯EAx
2 Erro Relativo: ERx∗y =
x¯EAy+y¯EAx
x¯∗y¯ =
EAx
x¯ +
EAy
y¯ = ERx + ERy
1.5.5 Propagac¸a˜o de Erros
Multiplicac¸a˜o: x ∗ y
x∗y = (x¯+EAx)∗(y¯+EAy ) = (x¯∗y¯)+(x¯EAy+y¯EAx)+EAx∗EAy
Vamos desprezar o produto EAx ∗ EAy uma vez que ele e´ um
nu´mero muito pequeno em relac¸a˜o aos demais envolvidos na
operac¸a˜o, assim
x ∗ y = (x¯ + EAx) ∗ (y¯ + EAy ) = (x¯ ∗ y¯) + (x¯EAy + y¯EAx)
1 Erro Absoluto: EAx∗y = x¯EAy + y¯EAx
2 Erro Relativo: ERx∗y =
x¯EAy+y¯EAx
x¯∗y¯ =
EAx
x¯ +
EAy
y¯ = ERx + ERy
1.5.5 Propagac¸a˜o de Erros
Multiplicac¸a˜o: x ∗ y
x∗y = (x¯+EAx)∗(y¯+EAy ) = (x¯∗y¯)+(x¯EAy+y¯EAx)+EAx∗EAy
Vamos desprezar o produto EAx ∗ EAy uma vez que ele e´ um
nu´mero muito pequeno em relac¸a˜o aos demais envolvidos na
operac¸a˜o, assim
x ∗ y = (x¯ + EAx) ∗ (y¯ + EAy ) = (x¯ ∗ y¯) + (x¯EAy + y¯EAx)
1 Erro Absoluto: EAx∗y = x¯EAy + y¯EAx
2 Erro Relativo: ERx∗y =
x¯EAy+y¯EAx
x¯∗y¯ =
EAx
x¯ +
EAy
y¯ = ERx + ERy
1.5.5 Propagac¸a˜o de Erros
Divisa˜o:
x
y
x
y
=
(x¯ + EAx)
(y¯ + EAy )
=
x¯
y¯
+
EAx
y¯
− xEAx
y¯2
1 Erro Absoluto: EA x
y
=
y¯EAx−x¯EAy
y¯2
2 Erro Relativo: ER x
y
= (
y¯EAx−x¯EAy
y¯2 )
y¯
x¯ =
EAx
x¯ − EAyy¯ = ERx −ERy
Todas essas expresso˜es foram obtidas sem considerar o tipo de erro
cometido, arredondamento ou truncamento, no resultado final. A
ana´lise completa da propagac¸a˜o de erros se faz considerando os
erros nas parcelas ou fatores e no resultado de cada operac¸a˜o
efetuada.
1.5.5 Propagac¸a˜o de Erros
Divisa˜o:
x
y
x
y
=
(x¯ + EAx)
(y¯ + EAy )
=
x¯
y¯
+
EAx
y¯
− xEAx
y¯2
1 Erro Absoluto: EA x
y
=
y¯EAx−x¯EAy
y¯2
2 Erro Relativo: ER x
y
= (
y¯EAx−x¯EAy
y¯2 )
y¯
x¯ =
EAx
x¯ − EAyy¯ = ERx −ERy
Todas essas expresso˜es foram obtidas sem considerar o tipo de erro
cometido, arredondamento ou truncamento, no resultado final. A
ana´lise completa da propagac¸a˜o de erros se faz considerando os
erros nas parcelas ou fatores e no resultado de cada operac¸a˜o
efetuada.
1.5.5 Propagac¸a˜o de Erros
Divisa˜o:
x
y
x
y
=
(x¯ + EAx)
(y¯ + EAy )
=
x¯
y¯
+
EAx
y¯
− xEAx
y¯2
1 Erro Absoluto: EA x
y
=
y¯EAx−x¯EAy
y¯2
2 Erro Relativo: ER x
y
= (
y¯EAx−x¯EAy
y¯2 )
y¯
x¯ =
EAx
x¯ − EAyy¯ = ERx −ERy
Todas essas expresso˜es foram obtidas sem considerar o tipo de erro
cometido, arredondamento ou truncamento, no resultado final. A
ana´lise completa da propagac¸a˜o de erros se faz considerando os
erros nas parcelas ou fatores e no resultado de cada operac¸a˜o
efetuada.
1.5.5 Propagac¸a˜o de Erros
Divisa˜o:
x
y
x
y
=
(x¯ + EAx)
(y¯ + EAy )
=
x¯
y¯
+
EAx
y¯
− xEAx
y¯2
1 Erro Absoluto: EA x
y
=
y¯EAx−x¯EAy
y¯2
2 Erro Relativo: ER x
y
= (
y¯EAx−x¯EAy
y¯2 )
y¯
x¯ =
EAx
x¯ − EAyy¯ = ERx −ERy
Todas essas expresso˜es foram obtidas sem considerar o tipo de erro
cometido, arredondamento ou truncamento, no resultado final. A
ana´lise completa da propagac¸a˜o de erros se faz considerando os
erros nas parcelas ou fatores e no resultado de cada operac¸a˜o
efetuada.
1.5.5 Propagac¸a˜o de Erros
Ex.1:Supondo que x ,y ,z e t estejam representados exatamente,
qual o erro total cometido no ca´lculo da expressa˜o
(x + y) ∗ z − t?
Calcularemos o erro relativo e denotaremos por RA o erro relativo
de arredondamento no resultado da operac¸a˜o.
1.5.5 Propagac¸a˜o de Erros
Seja s = x + y , o erro relativo sera´:
ERs = Erx + ERy + RAs = RAs < 0.5 ∗ 10−t+1
Agora calcularemos m = s ∗ z e o erro relativo sera´ dado por:
ERm = Ers + ERz + RAm = RAs + RAm < 1 ∗ 10−t+1
Resta calcular u = m − t cujo erro relativo e´:
ERu =
EAm − EAt
m¯ − t¯ + RAu =EAm
m¯ − t¯ + RAu
1.5.5 Propagac¸a˜o de Erros
ERu =
EAm
m¯
(
m¯
m¯ − t¯ ) + RAu = ERm(
m¯
m¯ − t¯ ) + RAu
Assim
|ERu| < |ERm|| m¯
m¯ − t¯ |+ RAu < (|
m¯
m¯ − t¯ |+ 0.5) ∗ 10
−t+1
1.5.5 Propagac¸a˜o de Erros
Ex.2:Considere x e y , qual e´ o erro total cometido no ca´lculo de
z = x − y?
ERz =
EAx + EAy
x¯ − y¯ =
EAx
x¯
(
x¯
x¯ − y¯ )−
EAy
y¯
(
y¯
x¯ − y¯ )
Se x e y sa˜o nu´meros positivos arredondados, enta˜o:
|EAxx¯ | < 0.5 ∗ 10−t+1 e |EAyy¯ | < 0.5 ∗ 10−t+1. Se x ≈ y enta˜o o erro
relativo em z pode ser grande, como por exemplo, se
x¯ = 0.2357 ∗ 103 e y¯ = 0.2353 ∗ 103, enta˜o
z¯ = x¯ − y¯ = 0.0004 ∗ 103 e isto e´ chamado de cancelamento
subtrativo. O erro relativo em z sera´ limitado superiormente por:
|ERz | < (0.2357 ∗ 10
3 + 0.2353 ∗ 103
0.0004 ∗ 103 ) ∗ 0.5 ∗ 10
−t+1 = 0.5888
se t = 4. Este erro relativo e´ propagado nas pro´ximas
operac¸o˜es(pois cada expressa˜o para o erro relativo depende do erro
relativo de cada parcela).
1.5.5 Propagac¸a˜o de Erros
Ex.3: Considere w = zt, se t¯ = 0.4537 ∗ 103, como z¯ = 0.4 ∗ 100
enta˜o w¯ = 0.1815 ∗ 103 e o erro relativo sera´:
|ERw | ≤ |ERz |+ |ERt | < 0.59 + 0.5 ∗ 10−3 = 0.5905
Dessa forma vemos como o cancelamento subtrativo pode dar
origem a grandes erros nas operac¸o˜es seguintes.
Pro´xima aula
Por hoje e´ so´ pessoal!!

Outros materiais