Baixe o app para aproveitar ainda mais
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!!
Compartilhar