330 likes | 419 Views
Introdução aos métodos numéricos. Representação Numérica e Erros. Motivação. Foguete Ariane 5 explode segundos depois de seu lançamento em 1996. O foguete transportava um satélite de comunicações.
E N D
Introdução aos métodos numéricos Representação Numérica e Erros
Motivação Foguete 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 Modelo Matemático Resolução Soluçã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 -x2 -x1 x1 x2
Representação Numérica underflow -x2 -x1 x1 x2 overflow overflow
Representação Binárias 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 mantissa Sinal do expoente sinal expoente
Representação Binárias 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 mantissa Sinal do expoente sinal expoente 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érica B=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érica B=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
Representação Numérica • (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
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 ignorados • Devem ser reduzidos