CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional



Documentos relacionados
Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CCI-22. Erros Erros de arredondamento, representação e de cálculo

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Representando Instruções no Computador

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Universidade Federal de São João Del Rei - UFSJ

Aula 2 - Cálculo Numérico

Sistema de ponto flutuante

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

ANÁLISE NUMÉRICA DEC /97

Representação de números em máquinas

Análise de Arredondamento em Ponto Flutuante

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

Aritmética de Ponto Flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Noções Básicas de Erros

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Noções Básicas Sobre Erros

Capítulo 1 - Erros e Aritmética Computacional

Primeiro roteiro de exercícios no Scilab Cálculo Numérico

Notas de Cálculo Numérico

Unidade 5: Sistemas de Representação

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Sistemas de Computação

Universidade Federal de São Carlos Departamento de Matemática Curso de Cálculo Numérico - Turma E Resolução da Primeira Prova - 16/04/2008

Eduardo Camponogara Eugênio de Bona Castelan Neto

Organização e Arquitetura de Computadores I

2. Representação Numérica

Sistemas de Numeração (Aula Extra)

Variáveis e Comandos de Atribuição

UNIVERSIDADE ESTADUAL PAULISTA

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Distribuição de probabilidades

Aula 9. Introdução à Computação. ADS IFBA

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Aula 2 Sistemas de Numeração (Revisão)

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Curvas em coordenadas polares

Capítulo 1. Introdução. 1.1 Sistemas numéricos

Aritmética com Maple:

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Erros. Cálculo Numérico

ARITMÉTICA. 1. Constantes Operadores e Funções

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador:

Arquitetura e Organização de Computadores. Prof. Henrique

(Testes intermédios e exames 2005/2006)

PROVAS DE MATEMÁTICA DO VESTIBULAR-2012 DA MACKENZIE RESOLUÇÃO: Profa. Maria Antônia Gouveia. 14/12/2011

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Equações Diferenciais Ordinárias

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

o semestre

13 Números Reais - Tipo float

Representação de Dados

Nome: N.º: endereço: data: Telefone: PARA QUEM CURSA O 9 Ọ ANO EM Disciplina: MaTeMÁTiCa

Estruturas de Repetição

Organização e Arquitetura de Computadores. Aula 11 Ponto Flutuante Parte II Juliana F. Camapum Wanderley

Introdução aos Sistemas Computacionais

Além do Modelo de Bohr

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

Notas da disciplina Cálculo Numérico

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

ARITMÉTICA DE PONTO FLUTUANTE/ERROS EM OPERAÇÕES NUMÉRICAS

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Gráficos de funções em calculadoras e com lápis e papel (*)

Função do 2º Grau. Alex Oliveira

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5

Capítulo 1 Erros e representação numérica

3º Ano do Ensino Médio. Aula nº10 Prof. Daniel Szente

Universidade Federal Fluminense ICEx Volta Redonda Introdução a Matemática Superior Professora: Marina Sequeiros

Coordenadas Polares Mauri C. Nascimento Dep. De Matemática FC Unesp/Bauru

Prof. Rossini Bezerra Faculdade Boa Viagem

Aula 11 Root Locus LGR (Lugar Geométrico das Raízes) parte I

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

RESOLUÇÃO Matemática APLICADA FGV Administração

Cálculo numérico. ln 1 = 0. Representação numérica. Exemplo. Exemplos. Professor Walter Cunha. ln 1. I s

Capítulo 5: Aplicações da Derivada

Sistemas de Vírgula Flutuante

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Unidade 3 Função Logarítmica. Definição de logaritmos de um número Propriedades operatórias Mudança de base Logaritmos decimais Função Logarítmica

Potenciação no Conjunto dos Números Inteiros - Z

Discussão de Sistemas Teorema de Rouché Capelli

MEDIÇÃO EM QUÍMICA ERROS E ALGARISMOS SIGNIFICATIVOS

Propriedades das Funções Deriváveis. Prof. Doherty Andrade

Um estudo sobre funções contínuas que não são diferenciáveis em nenhum ponto

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 12

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

Resolução dos Exercícios sobre Derivadas

Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Teoria de Erros

Transcrição:

Matemática Computacional 2) Erros de arredondamento Carlos Alberto Alonso Sanches Erros de representação e de cálculo

Tipos de erros Erro inerente: sempre presente na incerteza das medidas experimentais e nas simplificações dos modelos utilizados Exemplo: (50,3 ± 0,2) cm Erro de aproximação (ou de discretização): proveniente das limitações dos métodos numéricos (número de iterações, etc.) durante a determinação de um valor Exemplo: para 0 x π/4, sen x = 2n + 1 n x ( 1) n = 0 (2 n + 1)! Erro de representação (de arredondamento ou de truncamento): limitação de um número real ao valor representado com uma quantidade finita de dígitos Um caso real Considere as seguintes equações: H = 1,0/2,0 X = 2,0/3,0 H Y = 3,0/5,0 H E = (X+X+X) H F = (Y+Y+Y+Y+Y) H G = F/E Resultados em diferentes máquinas: Cálculo analítico: H = 1/2 X = 1/6 Y = 1/10 E = 0 F = 0 indeterminado HP 25 Texas SR50 IBM 4341 H = 0,5 H = 0,5 H = 0,5 X = 0,166666667 X = 0,1666666667 X = 0,166666 Y = 0,1 Y = 0,1 Y = 0,1 E = 1,0 E-10 E = 2,0 E-13 E = 0,119209 E-6 F = 0 F = 0 F = -0,178813 E-6 G = inválido G = inválido G = 0,666... Definições Um número real x está representado como float normalizado se: x = ±0,d 1 d 2...d n.b e, n є N 1 d 1 < b, 0 d i < b para 2 i n e 1 e e 2, com e 1 0, e 2 1, onde e 1, e 2 є Z Um sistema de ponto flutuante é definido pela quádrupla F(b,n,e 1,e 2 ), e contém todos os floats normalizados representados por esses valores, incluindo também o número zero Observação: o número zero é representado como 0,00...0.b e 1 n vezes

Sistemas de ponto flutuante Como vimos, um sistema de ponto flutuante é uma quádrupla F(b,n,e 1,e 2 ) Alguns exemplos reais: HP 25: F(10,9,-98,100) Texas SR50: F(10,10,-98,100) IBM 370: F(16,6,-64,63) B6700: F(8,13,-51,77) No sistema F(b,n,e 1,e 2 ): Menor número representável (em módulo): N min = 0,100...0.b e1 Maior número representável: N max = 0,[b-1][b-1]...[b-1].b e2 Total de representações: #F = 2.(b-1).b n-1.(e 2 -e 1 +1)+1 Erros na representação de floats A representação de um número real com uma quantidade finita de bits geralmente acarreta a necessidade do arredondamento, que é um erro em relação ao seu valor exato Casos especiais: Overflow : número a ser representado tem módulo maior que N max Underflow : número a ser representado tem módulo menor que N min Exemplo: overflow números representados arredondamento underflow 0 overflow Exemplo Seja F(2,3,-1,2) Possíveis mantissas: 0,100; 0,101; 0,110; 0,111 Expoentes: -1, 0, 1, 2 Valores positivos: e b e 0,100 0,101 0,110 0,111-1 1/2 1/4 5/16 3/8 7/6 0 1 1/2 5/8 3/4 7/8 1 2 1 5/4 3/2 7/4 2 4 2 5/2 3 7/2 #F = 2.(2-1).2 3-1.(2-(-1)+1)+1 = 2.1.4.4+1 = 33 Região de underflow: (-1/4, 0) U (0, 1/4) Região de overflow: (-, -7/2) U (7/2, ) Sejam x = 5/4 e y = 3/8. Portanto, x+y = 13/8 não está em F: terá que ser arredondado... Outro exemplo Seja F(3,2,-1,2) Possíveis mantissas: 0,10; 0,11; 0,12; 0,20; 0,21; 0,22 Expoentes: -1, 0, 1, 2 Valores positivos: e b e 0,10 0,11 0,12 0,20 0,21 0,22-1 1/3 1/9 4/27 5/27 2/9 7/27 8/27 0 1 1/3 4/9 5/9 2/3 7/9 8/9 1 3 1 4/3 5/3 2 7/3 8/3 2 9 3 4 5 6 7 8 #F = 2.(3-1).3 2-1.(2-(-1)+1)+1 = 2.2.3.4+1 = 49 Região de underflow: (-1/9, 0) U (0, 1/9) Região de overflow: (-, -8) U (8, ) Exercício: neste sistema, encontre dois valores cuja soma terá que ser arredondada

Definição de arredondamento Seja um sistema de ponto flutuante F(b,n,e 1,e 2 ). Uma função ξ: R F é de arredondamento se: x F, ξx = x (não modifica os valores de F) Além disso, essa função será: De arredondamento para baixo (ou por falta, ou simplesmente arredondamento) se, x R, ξx x (nesse caso, ξx = x) De arredondamento para cima (ou por excesso, ou truncamento) se, x R, ξx x (nesse caso, ξx = x) Monotônica se, x,y R, x y ξx ξy Arredondamento para float Se o sistema de ponto flutuante F(b,n,e 1,e 2 ) tem a base b par, o arredondamento para o float mais próximo, denotado por Ox, é definido como: x [0, N min ], Ox = 0 x [N min, N max ]: Ox = x, para x [ x, ( x+ x)/2] Ox = x, para x [( x+ x)/2, x] Se x < 0, Ox = -O(-x) Exemplo No sistema de ponto flutuante F(10, 4, -98, 10): x = 0,333333 y = 0,348436 z = 0,666666... w = 0,12345 x = 0,3333 y = 0,3484 z = 0,6666 w = 0,1234 x = 0,3334 y = 0,3485 z = 0,6667 w = 0,1235 Ox = 0,3333 Oy = 0,3484 Oz = 0,6667 Ow = 0,1235

Erros absolutos e relativos A diferença entre o valor exato e o arredondado pode ser medida por dois parâmetros: erro absoluto e erro relativo Erro absoluto: E A x = ξx - x Erro relativo: E R x = E A x/ ξx Pode ser demonstrado que, em um sistema de ponto flutuante F(b,n,e 1,e 2 ), x R, se x [N min, N max ], então E R x µ, onde: µ = b 1-n /2, se ξx = Ox b 1-n, se ξx = x Portanto, no padrão IEEE, o erro relativo de arredondamento para o float mais próximo nos casos de precisão simples, dupla e estendida, é 2-23, 2-52 e 2-64, respectivamente, ou seja, é muito pequeno... Dígitos significativos Em um sistema de numeração, um dígito é significativo se: for diferente de zero caso seja zero, se não for usado para fixar a vírgula ou preencher o lugar de dígitos descartados Exemplos de dígitos significativos (no sistema decimal): 0,008735: 8, 7, 3 e 5 30457: todos 23000: 2 e 3

Dígitos significativos exatos Um dígito significativo é exato (DIGSE) se, arredondando-se o número em questão para uma posição imediatamente após à desse dígito, então o erro absoluto não se torna maior que meia unidade na mesma posição do dígito Exemplo (no sistema digital): 0,666998 como arredondamento de 2/3 1º dígito 6: 0,66 0,666... = 0,0066... < 0,05 2º dígito 6: 0,666 0,666... = 0,00066... < 0,005 3º dígito 6: 0,6669 0,666... = 0,000233... < 0,0005 1º dígito 9: 0,66699 0,666... = 0,000323... > 0,00005 Portanto, o primeiro dígito 9 não é exato Precisão e exatidão Como já foi definido, a precisão de um computador é o número de dígitos da sua mantissa A precisão é algo bem determinado e invariável em cada máquina Por outro lado, exatidão é uma medida de perfeição do resultado, que depende da precisão da máquina e do método utilizado em sua obtenção Exemplos Em um computador com sistema F(16,6,-64,63), qual seria a sua precisão decimal? Sabemos que sua precisão hexadecimal é 6 16 6 = 10 p p = 6.log 16 7,2 Portanto, sua precisão decimal é 7 No entanto, nem todo número com representação exata de 7 casas decimais terá também uma representação exata nessa máquina. Exemplo: 0,1 Seja o número irracional 2 1/2 = 1,414214562... Podemos dizer que: 1,4142 é mais preciso e exato que 1,41, pois tem maior número de casas decimais e aproxima melhor 2 1/2 1,4149 é mais preciso que 1,414, pois tem mais casas decimais, mas é menos exato

Épsilon da máquinam Chamamos de ε (épsilon) de uma determinada máquina o menor float tal que 1 + ε > 1 O programa abaixo imprime esse valor: EpsilonMaq(){ float epsilon, eps = 1; do { epsilon = eps; eps /= 2; } while (eps + 1!= 1); printf("%e\n",epsilon); }