Document

Propaganda
Cálculo Numérico
Erros em processamento Numéricos
Agenda
•
•
•
•
•
•
•
•
Introdução a Erros
Mudança de Base
Erros de representação
Erro de arredondamento
Erro de absoluto
Erro relativo
Erro de truncamento
Propagação do Erro
prof. Daniel Oliveira
Erros
• Fase da modelagem do modelo matemático
• Fase de resolução do modelo matemático
– Modelo exato (erros inerentes dos equipamentos
de cálculo)
– Modelo aproximado (além dos erros dos
equipamentos, erro da aproximação do modelo)
prof. Daniel Oliveira
Erros
Erros
Problema
Real
Erros
Solução para
o modelo
matemático
Modelo
Matemático
Fase de
Resolução
Fase de
Modelagem
prof. Daniel Oliveira
Mudança de base
• Mudança de base
– Representação interna de números pelos
computadores
– Mudança de base pode gerar erros devido a
limitação da representação numérica do
equipamento
prof. Daniel Oliveira
Mudança de base
• Dados um número real N é sempre possível
representá-lo em qualquer base b:
m
Nb   ai  b
i
i n
ai {0,1, 2, 3,..., (b  1)},
n, m  I
prof. Daniel Oliveira
Mudança de base
• Base binária
m
Nb   ai  2 , ai {0,1}
i
i n
prof. Daniel Oliveira
Mudança de base
• Exemplo / Base Binária
(1011)2  1 20  1 21  0  22  1 23  (11)10
2
1
(111.01)2  1 2  0  2  1 2  1 2  1 2  (7, 25)10
0
prof. Daniel Oliveira
1
2
Mudança de base
• Exemplo / Base Decimal
(231)10  1100  3 101  2 102
2
1
(231.35)2  5 10  3 10  110  3 10  2 10
prof. Daniel Oliveira
0
1
2
Mudança de base
• Conversão de Decimal para binário
– Dividir o número na base decimal sucessivamente
por 2
– Armazenar o algoritmo de resto (r), até que o
quociente da divisão seja igual a 1
– O binário é formado pelo quociente 1 e pelos
coeficientes do resto da divisão, a partir do mais
significativo (rn-1) para o menos significativo (rn)
prof. Daniel Oliveira
Mudança de base
• Exemplo
(25)10  1 20  0  21  0  22  1 23  1 24  (11001)2
25/2 = 12 resto = 1
12/2 = 06 resto = 0
11001
06/2 = 03 resto = 0
03/2 = 01 resto = 1
1/2 = 00 resto = 1
prof. Daniel Oliveira
Mudança de base
• Exemplo
Qual seria a representação do
número 11 em binário ?
prof. Daniel Oliveira
Mudança de base
• Base decimal fracionário para binário
a) Multiplica-se o número fracionário por 2
b) Do resultado do passo a, a parte inteira é o
primeiro digito binário
c) Do resultado do passo b, a parte fracionária é
multiplicada novamente por 2
d) O processo continua até que a parte fracionária
seja nula
prof. Daniel Oliveira
Mudança de base
• Exemplo
(0.1875)10  (0.0011)2  0  21  0  22  1 23  1 24  ( 3 )10
16
0.1875 x 2 = 0.375 → Parte Inteira = 0 e parte fracionária = 0.375
0.375 x 2 = 0.750 → Parte Inteira = 0 e parte fracionária = 0.75
0.75 x 2 = 1.5 → Parte Inteira = 1 e parte fracionária = 0.5
0.5 x 2 = 1.0 → Parte Inteira = 1 e parte fracionária = 0
0.0011
prof. Daniel Oliveira
Mudança de base
• Exemplo
(13.25)10  (13)10  (0.25)10  (1101)2  (0.01)2  (1101.01)2
(0.2)10 
(0.2)10  (0.001100110011...)2
0.2 é uma dizima periódica de período (0.0011).
Este número não pode ser representado de forma
exata em binário. Apenas é possível uma
representação aproximada, ou seja, temos ERRO
prof. Daniel Oliveira
Erros de representação
• Os computadores armazenam os números
com uma quantidade limitada de algarismos
• Os números são armazenados com um
indicador de sinal e um número fixo e limitado
de dígitos significativos.
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• Número nesse sistema é caracterizado por:
– Um número é caracterizado por um base b
– Um número de dígitos significativos n
– Um expoente exp
n  mb
exp
m é a mantissa do número, b ≥ 2 é base e
exp é o expoente da base
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• Condições para este sistema:
– m = ±0.d1,d2,d3,..,dn – n é o número máximo de
dígitos da mantissa.
– d1,d2,d3,..,dn – são os dígitos significativos da
mantissa
– 1≤d1 ≤(b-1)
– 1≤di ≤(b-1); i=2,3,...,n
– expmin ≤ exp ≤ expmax
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• A união de todos os números de pontos
flutuante, juntamente com a representação do
zero constitui o sistema de ponto flutuante
normalizado – SPF(b,n,expmin,expmax)
• Representação do zero:
zero : 0.000...0b
N vezes
prof. Daniel Oliveira
expmin
Erros de representação
Sistema de Ponto Flutuante Normalizado
• O menor número positivo representado
menor  (0.100...0)b
N-1 vezes
prof. Daniel Oliveira
expmin
Erros de representação
Sistema de Ponto Flutuante Normalizado
• O número máximo de mantissas possíveis:
mantissas  (b  1)b
prof. Daniel Oliveira
n 1
Erros de representação
Sistema de Ponto Flutuante Normalizado
• O número máximo de expoentes possíveis:
exp possiveis  expmax  expmin  1
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• O número de elementos positivos
representáveis:
NR  mantissas  exp possiveis
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• O número de elementos representáveis:
NRt  2  NR  1
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• Exemplo – seja o sistema de ponto flutuante
SPF(3,2,-1,2):
1
0.10  3
 1
0.22  32  8
(3  1)321  6
Menor inteiro representado
9
2  (1)  1  4
6  4  24
Maior inteiro representado
Máximo de mantissas positivas possíveis
Máximo de expoentes possíveis
Número máximo de reais positivos representados
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• Se x pertence a um SPF então (-x) também
pertencerá
• Considerando o zero é tem sua própria
representação em um SPF, então:
1
1


R   x; x  [ ,8]  [8,  ]  {0}
9
9


Qualquer número real que não pertence a R não poderá ser representado
nesse SPF
prof. Daniel Oliveira
Erros de representação
Sistema de Ponto Flutuante Normalizado
• Erro de underflow ocorre quando tentamos
representar um número muito pequeno para o SPF
1
1 

Under   x; x  [ , 0]  [0, ]
9
9 

• Erro de overflow ocorre quando tentamos
representar um número muito grande para o SPF
Over  x; x [, 8]  [8, ]
prof. Daniel Oliveira
Erro de arredondamento
• Quando não for possível representar de forma
exata um número em um SPF o mesmo é
aproximado (nra)
• Esta aproximação é o arredondamento do real
nr
prof. Daniel Oliveira
Erro de arredondamento
• Um número real é arredondado na posição k se todos os
dígitos de ordem maior do k do forem descartados de acordo
com os critérios:
– O dígito k é somado com um se o de ordem (k+1) for maior
que a metade da base. Caso contrário, o número nr é
representado com os k dígitos iniciais.
– Se o dígito de ordem (k+1) for igual a metade da base e o
de ordem k é par, então o número nr é representado com
k dígitos, e se o dígito de ordem k é impar, então o de
ordem k é acrescido de uma unidade.
– O arredondamento por corte considera que, para obter um
número com k dígitos, simplesmente trunca-se na posição
k.
prof. Daniel Oliveira
Erro absoluto
• Definido como:
Eabs  aex  aaprox
Sendo aex o valor exato da grandeza e aaprox o valor aproximado da
grandeza.
prof. Daniel Oliveira
Erro absoluto
• O valor exato da grandeza muitas vezes é
desconhecidos
• Assim, trabalha-se com limitante para o erro :
Eabs  aex  aaprox  
   aex  aaprox   
prof. Daniel Oliveira
Erro Relativo
• Definido como:
Erel
aex  aaprox
E


aex
aex
Sendo aex o valor exato da grandeza e aaprox o valor aproximado da
grandeza.
prof. Daniel Oliveira
Erro relativo
• Como na maioria das vezes não temos o valor
exato, utilizamos um limitante superior para o
erro relativo


aaprox
Aonde δ é um limitante conhecido
prof. Daniel Oliveira
Erro relativo
• No erro absoluto não é levado em conta a
grandeza dos números envolvidos
• No erro relativo a grandeza do número é
considerada
prof. Daniel Oliveira
Erro relativo
• Qual valor é mais preciso?
– Seja o valor exato aex = 2345.713 e o valor
aproximado aaprox = 2345.000 então temos:
Eabs = 0.713 e Erel = 0.00030396
– Seja o valor exato aex = 1.713 e o valor aproximado
aaprox = 1.000 então temos:
Eabs = 0.713 e Erel = 0.416229
prof. Daniel Oliveira
Erro de truncamento
• Como foi visto, os sistema computacionais
tem uma limitação para a representação de
números.
• Se considerarmos apenas um número finito de
termos, dizemos que estamos cometendo um
erro de truncamento
prof. Daniel Oliveira
Erro de truncamento
• Seja a representação de ex:
2
3
x
x
ex  1 x   
2! 3!
xn

n!
Supondo que podemos representar apenas os 4 primeiros termos:
2
3
x
x
1 3
2
e  1  x    ( x  3x  6 x  6)
2! 3! 6
n

x
erro  
n4 n!
x
prof. Daniel Oliveira
Download