Introdução aos métodos numéricos
Representação Numérica e
Erros
MotivaçãoFoguete Ariane 5 explode segundos depois de seu lançamento em 1996
O foguete transportava um satélite de comunicações
A causa do acidente foi um erro numérico (overflow) no cálculo da velocidade horizontal do foguete
Motivação
Qual foi o prejuízo?
500 milhões de Dólares (preço do satélite)
7 bilhões de Dólares foram gastos no projeto do foguete
Soluções numéricas para problemas físicos
Problema Físico
Modelagem
Solução
Modelo Matemático
Resolução
Erros na Modelagem
Suponha uma queda livre de um prédio
d = d0 +vot +1/2at2
Suponha os dados:
d= 0 + 0x3 + 1/2x9.8x9
d = 44,1 Este resultado é coerente?
Representação Numérica
Computadores possuem memória finita
O conjunto de números que os computadores podem representar é finito
Erros na Resolução
Fortemente influenciados pela precisão
Relacionados à Representação numérica
Erro do Foguete (máquinas com precisão diferente com mesmo software)
Representação numérica
Cada computador possui uma precisão numérica diferente
Esta precisão é dependente do hardware, sistema operacional, compilador, etc
Representação Numérica
O sistema convencional é o de base 10 (dígitos de 0 a 9)
Computadores modernos usam a base numérica 2 (dígitos 0 e 1)
Mudança de Bases
510 = 1012
5/2 = 2 resto 1 2/2 = 1 resto 0
510 = 1012
Mudança de Base
5,25 = 5 + 0,25
5 sabemos como resolver
Mas e a parte decimal?
Mudança de base
Método das multiplicações sucessivas
0,25 x 2 = 0,5
0,5 x 2 = 1,0
Logo 0,2510 = 0,012
Mudança de Base
Conversão de base 2 para base 10 1002 = 410
1002 = 1x22 + 0x21 + 0x20 =4+0+0 = 410
1012 = 1x22 + 0x21 + 1x20 =4+0+1 = 510
100,12 = 1x22 + 0x21 + 0x20+1x2-1 =
= 4+0+0+0,5 = 4,510
Representação Numérica
Computadores usam o Sistema de Ponto Flutuante Normalizado
±0,c1c2c3…cn x be
cn – digito entre 0 e b-1 (mantissa) b – número natural (base) e – número Inteiro (expoente)
Representação Numérica
Devido à questão da memória finita, os sistemas de ponto flutuante normalizados possuem parâmetros bem definidos durante o projeto
Número de caracteres da mantissa (n) Valor da base (b) Valor e1 menor e e2 maior expoentes do sistema e1 < 0 e e2 > 0
Representação Numérica
Menor número positivo: x1=+0,10...0xbe1
Maior número: x2 = +0,c1c2...cnxbe2
Quantidade de números:
2x(b-1)x b(n-1)x (e2-e1+1)+1
Representação Numérica
x1 x2-x1-x2
Representação Numérica
x1 x2-x1-x2 overflowoverflow
underflow
Representação Binárias
0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0
sinal mantissa Sinal do expoenteexpoente
Representação Binárias
0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0
sinal mantissa Sinal do expoenteexpoente
Sinal
0 = positivo,
1 = negativo
Representação Numérica
A distribuição dos números na reta real não é uniforme
Há concentração de números em trechos da reta
Representação NuméricaB=2, n=3, e1=-1 e e2=2
Representação Numérica
Resultados de operações aritméticas em sistemas de ponto flutuante nem sempre estão corretos
Representação NuméricaB=2, n=3, e1=-1 e e2=2
Representação Numérica
Propriedades aritméticas nem sempre são verificadas
Suponha x1=0,3491x104, x2=0,2345x100
(x2+x1)-x1 = x2 + (x1-x1)
A propriedade só se mantém com maquinas de precisão maior do que 7 digitos com truncamento
Representação Numérica
Para somar x1 e x2 precisamos coloca-los na mesma base decimal
x1=0,3491x104
x2=0,2345x100=0,00002345x104
Máquinas com precisão 7 ou menos não são capazes de representar x2
(x2+x1)-x1 =(0,0000234x104+0,3491x104) -0,3491x104 = (0,3491234x104) -0,3491x104 = (0,0000234x104) = 0,234x10
x2+(x1-x1)=0,2345x10+(0,3491x104 -0,3491x104) = 0,2345x10 + 0 = 0,2345x10
Representação Numérica
Tipos de Erro por Precisão
Arredondamento - para Cima
Truncamento – para baixo
Para o Número de máquina mais próximo
Erro por Truncamento
São erros decorridos de processos que deveriam ser infinitos
Calculo de séries infinitas
Sen(x) =x - x3/3! + x5/5! – x7/7!...
Erro por truncamento
Dizimas periódicas binárias
0,110 = 0,0001100110011...2
Calculadora do Windows - sqrt(2)
Erros
Sendo x o valor real e x’ o valor representado
Absoluto: |x – x’|
Relativos: |x - x’|/ |x’|
Revisão
Consequências dos erros
Sistema de Ponto Flutuante
Representação numérica em computadores
Erros
Conclusão
Erros devem ser evitados quando possível
Quando não for possível evita-los:Não devem ser ignoradosDevem ser reduzidos