Documente Academic
Documente Profesional
Documente Cultură
Programa
1. Conceitos Bsicos
a) Representao de nmeros
b) Converso de nmeros
c) Aritmtica de ponto flutuante
2. Erros
a) Erros absolutos e relativos
b) Erros de arredondamento e truncamento
c) Anlise de erros
Clculo Numrico
Teoria dos Erros Conceitos Bsicos
Representao de nmeros
Sistema Decimal (10)
10 dgitos disponveis [0,1,2, ... ,9]
Posio indica potncia positiva de 10
5432 = 5x103 + 4x102 + 3x101 + 2x100
Representao de nmeros
Frmula Geral
Base
k = i,..., j :
, (a j a j 1...a2 a1a0 ) , 0 ak ( 1)
a j j + a j 1 j 1 + ... + a2 2 + a1 1 + a0 0
Representao de nmeros
Representao Nmeros Fracionrios
Base Decimal (10)
Posio da parte inteira indica potncia positiva de 10
Potncia negativa de 10 para parte fracionria
54,32 = 5x101 + 4x100 + 3x10-1 + 2x10-2
Base Binria (2)
Posio da parte inteira indica potncia positiva de 2
Potncia negativa de 2 para parte fracionria
10,11 na base 2 = 1x21 + 0x20 + 1x2-1 + 1x2-2
2+0+1/2+1/4 = 2,75 na base decimal
Outros Sistemas
Octal (8), {0,1,2, ... , 7}
Hexadecimal (16), {0,1,2, ... , 9, A,B,C,D,E,F}
Dodecimal (relgio, calendrio)
(A79E)16 = ( ? )2
Converso de frao
Operao inversa: multiplicar parte fracionria por 2 at
que parte fracionria do resultado seja 0 (zero)
X,XXX
Bits da parte fracionria do nmero binrio so obtidos
das partes inteiras geradas aps as multiplicaes do
nmero fracionrio na base 10
X,XXX
Bit imediatamente direita da vrgula = Parte inteira da
primeira multiplicao
No h inverso na ordem dos bits encontrados
Converso de frao
Exemplo: converter 0,625 decimal para binrio
0,625 x 2 = 1,25, logo a primeira casa fracionria 1;
nova frao (resto) 0,25 (agregamos o bit 1 ao
nmero na base 2)
0,25 x 2 = 0,5 segunda casa 0;
nova frao (resto) 0,5 (pois j agregamos o bit 0 ao
numero na base 2)
0,5 x 2 = 1,0 terceira casa 1;
nova frao (resto) 0,0 (pois j agregamos o bit 1 ao
numero na base 2)
Resultado: 0,62510 = 0,1012
Exerccios
Transforme em binrio:
5,8
Resposta 5,8 = 101,11001100... , uma dzima.
11,6
Resposta 11,6 = 1011,10011001100...
a vrgula foi deslocada uma casa para a direita,
pois 11,6 = 2 x 5,8
Observao
A base binria no precisa ser explicitada (o computador
usa sempre a mesma)
O 1 antes da vrgula, na representao normalizada se
esta for adotada, tambm pode ficar implcito,
economizando um bit (bit escondido).
(.d1d 2 ...d t ) e
onde:
0 d j ( 1), j = 1,..., t , d1 0;
o expoente (inteiro com sinal)
= 10; t = 3; e [ 5, 5].
Logo o formato dos nmeros nesse sistema:
0. d1d 2 d 3 10e , 0 d j 9, d1 0, e [ 5, 5]
Menor valor representado:
m = 0.1000 10 5 = 10 6
0.235 103
Arredondamento: 0.236 103
Truncamento:
.x = 0.875 109
Expoente no pode ser representado na mquina pois
maior que o mximo (5)
Erro de overflow
Clculo Numrico
Teoria dos Erros Erros
Erros - Tipos
Preciso
Absoluto
Relativo
Representao
Arredondamento
Truncamento
Erro Absoluto
Diferena entre o valor exato de um nmero e o seu
valor aproximado (em mdulo)
EAx = |x x |
EA = - <0,01
EAa = a a = 0,373
e a parte inteira de e, , o erro absoluto ser:
EAe = e e = 0,373
Erro Relativo
Razo entre o erro absoluto e o valor aproximado do
nmero considerado (em mdulo)
|x x |
ERx =
|x |
0,373
ERa =
0,000096 10 4
3876
0,373
ERe =
0 ,373 5 10 1
1
ERx x 100 = Erro Percentual
ERa =
ERe =
aa
a
ee
e
0,1
=
4,7 10 5
2112,9
0,1
=
0,02
5,3
Erros de Arredondamento
Ex. Clculo de 2 utilizando uma calculadora digital
Valor apresentado: 1,4142136
Valor real: 1,41421356...
Inexistncia de forma de representao de nmeros
irracionais com uma quantidade finita de algarismos
Apresentao de uma aproximao do nmero pela
calculadora
Erro de Arredondamento
Erros de Truncamento
Descarte dos dgitos finais de uma representao exata
por limitaes de representao em vrgula flutuante
Ex.: Representao truncada de 2 em vrgula
flutuante com 7 dgitos
Valor apresentado: 1,4142135
Valor real: 1,41421356...
(.d1d 2 ...d t ) e
onde:
0 d j ( 1), j = 1,..., t , d1 0;
o expoente (inteiro com sinal)
Erros - Truncamento
No truncamento, gx x 10e-t desprezado e
x = f x 10 + g x 10
e
e t
x = f x 10
EAx = x x = f x 10 e + g x 10 e t f x 10 e
ERx =
EAx
x
g x 10 e t
f x 10 e
10 e t
10 e t
t +1
<
=
=
10
0,1 10 e 1,0 10 1 10 e
Erros Arredondamento
No arredondamento simtrico (forma mais utilizada):
f x 10
x=
f 10 e + 10 e t
x
e
, se
1
gx <
2
(gx desprezado)
, se
1
gx
2
(soma 1 ao ltimo
dgito de fx)
Erros - Arredondamento
1
Se g x <
, ento:
2
EAx = x x = f x 10 e + g x 10 e t f x 10 e
EAx = g x 10
ERx =
EAx
x
e t
1
< 10 e t , visto que |gx| < 1/2
2
g x 10 e t
f x 10 e
0,5 10 e t
1 / 2 10 e t
1
t +1
<
=
=
10
0,1 10 e 1,0 10 1 10 e 2
Erros Arredondamento
1
Se g x , ento:
2
) (
EAx = x x = f x 10 e + g x 10 e t f x 10 e + 10 e t
EAx = g x 10
e t
10
e t
= ( g x 1) 10
e t
e
1/2 10 et
1/2 10 et
ERx =
<
e
e t
f x 10 e
f x 10 + 10
x
EAx
1/2 10 et
1/2 10 et
1
t + 1
ERx <
=
=
10
e
1
e
0,1 10
1,0 10 10 2
1
10 e t
2
Arredondamento e Truncamento
Erros de Truncamento e Arredondamento em um
sistema de aritmtica de ponto flutuante:
Sistema operando em ponto flutuante - Base 10
Erro de Truncamento
EAx < 10
e t
ERx < 10 t +1
Erro de Arredondamento
1
EAx 10 e t
2
1
ERx < 10 t +1
2
Anlise de Erros
Sistema de aritmtica de ponto flutuante de 4 dgitos,
preciso dupla
Ex.: Seja x = 0,937 x104 e y = 0,1272 x102.
Calcular x+y.
Alinhamento dos pontos decimais antes da soma ( Alinhar
sempre para o maior expoente dentre os operadores )
x = 0,937 x 104 e y = 0,001272 x 104,
x+y = 0,937 x 104 + 0,001272 x 104,
x+y = 0,938272 x 104
Resultado com 4 dgitos
Arredondamento:
Truncamento:
Anlise de Erros
Sistema de aritmtica de ponto flutuante de 4 dgitos,
preciso dupla
Ex. : Seja x = 0,937 x 104 e y = 0,1272 x102. Calcular x.y
x.y = (0,937 x 104) x (0,1272 x 102)
x.y = (0,937 x 0,1272) x 106 x.y = 0,1191864 x 106
Resultado com 4 dgitos
Arredondamento:
Truncamento:
Anlise de Erros
Consideraes
Ainda que as parcelas ou fatores de uma operao
possam ser representados exatamente no sistema, no se
pode esperar que o resultado armazenado seja exato.
x e y tinham representao exata, mas os resultados x+y
e x.y tiveram representao aproximada.
Durante as operaes aritmticas de um mtodo, os erros
dos operandos produzem um erro no resultado da
operao
Propagao ao longo do processo
x = x + EAx e y = y + EAy
x + y = (x + EAx ) + (y + EAy ) =
(x + y) + (EAx + EAy )
ERx + y =
ERx + y
EAx + y
x+y
EAx + EAy
x+y
EAx x EAy
+
=
x x+y
y
EAy
EAx
=
+
=
x+y x+y
y
x
y
= ERx
+ ERy
x+y
x+y
x+y
x y = (x + EAx ) (y + EAy ) =
(x y) + (EAx EAy )
ERx y =
ERx y
EAx y
xy
EAx EAy
xy
EAx x EAy
=
x xy
y
EAy
EAx
=
=
xy xy
y
x
y
= ERx
ERy
xy
xy
xy
muito pequeno
ERx.y =
EAx. y
xy
xEAy + yEAx
xy
xEAy
Prova
Erro Absoluto
x (x + EAx ) (x + EAx ) 1
=
=
EAy
y ( y + EAy )
y
1+
y
y em evidncia:
1 1
EAy
y
1
+
y
1
1
= 1
=
y y + EAy y y + EAy
Simplificao::
x (x + EAx ) (x + EAx ) 1
=
=
EAy
y ( y + EAy )
y
1
+
1+
y
1
y
y
y y
y
y
1
y
y
y y
y
y
y y
y
y
y2
muito pequeno
x x EAx x EAy
+
2
y y
y
y
EAx / y
yEAx x EAy
y2
ERx/y =
EAx / y
x
y
y
= EAx / y
x
yEAx x EAy y
=
2
y
EAx EAy
ERx/y =
= ERx ERy
x
y
ERx
x+y
x+y
x
y
ERy
ERx
xy
xy
ERx + y =
EAx + y
x+ y
+ RA
ERx + y = RA
ERx + y
EAx= EAy = 0,
EAx+y = 0
1
= RA < 10 t +1
2
x
y
+ RAs
+ ERy
ERs = ERx
x
+
y
x
+
y
ERs = RAs
ERx + y + z = ERs + z + RA
ERx + y + z
s
z
+ RA
= ERs
+
ER
z
s+z
s
z
+
EAx=EAy=0,
ERx+y=0
ERx + y + z
s
z
+ ERz
+ RA
= ERs
s+z
+
s
z
ERx + y + z
x+ y
+ RA
= ERs
+ ERz
x+ y+ z
x+ y+ z
ERx + y + z
x+ y
+ RA
= ERs
x+ y+z
ERx + y + z
x+ y
x+ y
+ RA = RA
+
1
= RAs
x
+
y
+
z
x
+
y
+
z
EAz=0,
ERz=0
x+ y
x+ y
= RAs
+ RA = RA
+ 1
x+ y+z
x+ y+ z
ERx + y + z
x+ y
1
<
+ 1 10 t +1
x+ y+z
2
ERx + y + z
0,9383 10 4
1
3
<
+
1
10
4
2
0
,
9385
10
v = 2u
ER2u = ER2 + ERu + RA = RA + RA = 2 RA
ER2u
1
t +1
< 2 10
2
ERv < 10
t +1
w = u +u
u
u
+ ERu
+ RA
ERw = ERu
u
+
u
u
+
u
u
+ RA
ERw = 2 RA
+
u
u
u
ERw = 2 RA + RA = 2 RA
2u
1
ERw < 2 RA < 2 10 t +1 = 10 t +1
2
Erros Exerccio 1
Seja um sistema de aritmtica de ponto flutuante de 4
dgitos, base decimal e com acumulador de preciso
dupla. Dados os nmeros x = 0,7237x104, y = 0,2145 x103
e z = 0,2585 x101, efetuar as seguintes operaes e
obter o erro relativo nos resultados, supondo que x, y, e z
esto exatamente representados.
a) x+y+z
b) x/y
c) (xy)/z
Erros Exerccio 2
Considere uma mquina cujo sistema de representao
de nmeros definido por b=10, t=5, -7<e<7.
Pede-se:
a) O maior e menor nmero em mdulo, representados
nesta mquina?
b) Como ser representado o nmero 392,856 nesta
mquina, se for usado o arredondamento e o
truncamento?
c) Se a=356555 e b=2, qual o resultado da
operao a+b?