Baixe o app para aproveitar ainda mais
Prévia do material em texto
02 - Análise de erro Cálculo Numérico Rodrigo Câmara 22 de novembro de 2017 Universidade Federal Rural do Semi-árido Objetivo da aula • Em conjunto com a aula anterior, apresentar as principais fontes de erros computacionais, para formar no aluno a confiabilidade de cálculos feitos em máquinas; Este objetivo será alcançado por meio dos seguintes objetivos secundários: • Definição de sistema de ponto flutuante normalizado; • Apresentação dos erros críticos de overflow e underflow; • Discussão sobre erro de arredondamento; • Definição de erro absoluto e erro relativo. 1 Na aula anterior Revisão Vimos que o erro tem duas fontes: • Erro proveniente da modelagem e • erro proveniente da resolução. 2 Na aula anterior Os principais tipos de erro provenientes da resolução são • Erro na mudança de base, • Erro na representação e • Erro de arredondamento. Na aula passada estudamos conversão de base para observar o erro na mudança de base. 3 Na aula anterior Vimos que a conversão de números fracionários da base decimal para a binária pode causar erro. Isso acontece pela natureza finita dos computadores. Convertendo de decimal para binário e de volta para decimal (0.2)10 = (0.001100110011...)2 ≈ (0.0011)2 = (0.1875)10 4 O que estudaremos hoje Hoje estudaremos os outros tipos de erro: • Erro na mudança de base, • Erro na representação e • Erro de arredondamento. 5 Erro na representação Erro na representação A mente não conhece limites quando bem utilizada. [...] Apenas na mente conseguimos conceber o infinito. (a) Pentagramas dentro de pentagramas. (b) Infinitas portas. Figura 1: Cenas de “Donald no País da Matemágica”. 6 Representação de números em uma máquina Máquinas calculadoras são feitas de chips, placas, transistores, capacitores... que são feitos de silício, arsênio, chumbo, ferro... Figura 2: Detalhes de uma placa-mãe. Enfim, massa. A natureza dos computadores é finita. 7 Representação de números em uma máquina Máquinas calculadoras são feitas de chips, placas, transistores, capacitores... que são feitos de silício, arsênio, chumbo, ferro... Figura 2: Detalhes de uma placa-mãe. Enfim, massa. A natureza dos computadores é finita. 7 Representação de números em uma máquina O número é armazenado em uma quantidade finita de “espaços” na memória da máquina. Estudaremos uma dessas formas de se armazenar o número na memória: o sistema de ponto flutuante normalizado. 8 Sistema do ponto flutuante normalizado Um sistema do ponto flutuante normalizado é caracterizado por uma base b, uma quantidade n de dígitos significativos, um expoente máximo, expmax, e um expoente mínimo expmn. Definição 2.1 (Número no sistema do ponto flutuante normalizado) Um número real nr no sistema de ponto flutuante normalizado é representado como nr = ±0.d1d2d3...dn × bexp, d1 6= 0 onde d1d2d3...dn é a mantissa, b é a base e exp é o expoente. 9 Número no sistema do ponto flutuante normalizado Exemplo 2.1 Considere um computador que armazena os números pelo sistema do ponto flutuante normalizado de base 10, com 3 dígitos na mantissa, expoente mínimo -5 e expoente máximo 5 (denotado como SPF(10, 3,−5, 5)). Determine como os seguintes números são representados: a) 25; b) −160; c) 13.5; d) 6.5821; e) 25008; f) 14 ; g) 13 ; h) pi; O que fizemos neste exemplo chama-se normalizar o número. 10 Número no sistema do ponto flutuante normalizado Exemplo 2.1 Considere um computador que armazena os números pelo sistema do ponto flutuante normalizado de base 10, com 3 dígitos na mantissa, expoente mínimo -5 e expoente máximo 5 (denotado como SPF(10, 3,−5, 5)). Determine como os seguintes números são representados: a) 25; b) −160; c) 13.5; d) 6.5821; e) 25008; f) 14 ; g) 13 ; h) pi; O que fizemos neste exemplo chama-se normalizar o número. 10 Número no sistema do ponto flutuante normalizado Exemplo 2.2 De acordo com este computador, qual é a área de um círculo de raio 100m? Exemplo 2.3 E qual é o triplo de 13? 11 Número no sistema do ponto flutuante normalizado Exemplo 2.4 Considere um computador que armazena os números pelo sistema do ponto flutuante normalizado de base 10, com 3 dígitos na mantissa, expoente mínimo -5 e expoente máximo 5 ( SPF(10, 3,−5, 5)). Determine como os seguintes números são representados: a) 15000; b) 30000000; c) 0.0000001; Exemplo 2.5 Qual é o maior número que este consegue representar? Qual é o menor? Qual é o menor em módulo? 12 Número no sistema do ponto flutuante normalizado Exemplo 2.4 Considere um computador que armazena os números pelo sistema do ponto flutuante normalizado de base 10, com 3 dígitos na mantissa, expoente mínimo -5 e expoente máximo 5 ( SPF(10, 3,−5, 5)). Determine como os seguintes números são representados: a) 15000; b) 30000000; c) 0.0000001; Exemplo 2.5 Qual é o maior número que este consegue representar? Qual é o menor? Qual é o menor em módulo? 12 Número no sistema do ponto flutuante normalizado Os erros de representação são: 13 Erros de representação Exemplo 2.6 (Odômetro de um carro) 14 Erros de representação Exemplo 2.7 (Contador de visualizações no YouTube) O espaço reservado na memória para armazenar o número de visitas (em binário) de um vídeo do YouTube tinha 31 dígitos na mantissa. O maior número (binário) representável era 1 ∗ 20 + 1 ∗ 21 + 1 ∗ 22 + 1 ∗ 23 + ...+ 1 ∗ 229 + 1 ∗ 230, que em decimal é 2 147 483 647. 15 Erros de representação Exemplo 2.7 (Contador de visualizações no YouTube) O espaço reservado na memória para armazenar o número de visitas (em binário) de um vídeo do YouTube tinha 31 dígitos na mantissa. O maior número (binário) representável era 1 ∗ 20 + 1 ∗ 21 + 1 ∗ 22 + 1 ∗ 23 + ...+ 1 ∗ 229 + 1 ∗ 230, que em decimal é 2 147 483 647. 15 Erros de representação Mas em dezembro de 2014, o clipe da música “Gangnam Style” passou esse número... 16 Erros de representação Exemplo 2.8 (Ariane 501) 17 Erro de arredondamento • Erro na mudança de base, • Erro na representação e • Erro de arredondamento. 18 Erro de arredondamento Erro de arredondamento Figura 3: Esquema visual de todos os números representáveis de um computador que utiliza o SPF(10, 3,−5, 5). Vimos que se um número não pertence à lista de número representáveis (e não está na região de underflow ou overflow), então ele é representado aproximado. Às vezes, mesmo que o número entre na máquina sem erro de arredondamento, o erro pode surgir após operações. 19 Erro de arredondamento Exemplo 2.9 Considere uma máquina que utiliza o SPF, com SPF(10, 4,−5, 5). Considere também os números a = 532.4 b = 0.004212. a) Como os números a e b são representados na máquina? Existe erro de arredondamento? b) Como o resultado de a+ b é armazenado na máquina? Existe erro? c) Como o resultado de a ∗b é armazenado na máquina? Existe erro? 20 Erro de arredondamento Formas de medir o erro: Definição 2.2 (Erro absoluto) Definimos o erro absoluto (notação: EA ou Eabs) como EA = |a− a|, onde a é o valor exato e a é como a máquina representa o número a. Definição 2.3 (Erro relativo) Definimos o erro relativo (notação ER ou Erel) como ER = EAa . 21 Erro de arredondamento (a) Balança para medir caminhões. (b) Balança de precisão. Figura 4: Exemplos de balanças. Exemplo 2.10 Digamos que a carga de um caminhão possui exatamente 23000kg de massa e a balança mediu 23010kg. Qual é o erro absoluto e o erro relativo? Considere que foram colocados exatamente 0.2kg de um sal na balança de precisão, mas o leitor indicou 3kg. Calcule os erros absoluto e relativo. 22 Erro de arredondamento Exemplo 2.11 Considereuma máquina SPF(10, 4,−6, 6). Calcule o erro absoluto e o erro relativo na representação destes números. a) 13.5 b) 13.5432 c) 13 d) pi e) 25000000000 23 Perguntas? 23 Exercícios Exercícios Todos os exercícios do capítulo 1. Exercícios complementares RUGGIERO Página 24, projeto 1 (dica: é possível fazer no Scilab, que é um “interpretador de comandos” ou na linguagem de programação que você tem mais familiaridade). Na aula anterior Erro na representação Erro de arredondamento Apêndice
Compartilhar