Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto Federal de Educação, Ciência e Tecnologia de Alagoas Campus Maceió, Engenharia Civil Cálculo Numérico Alexandre Cunha Machado Rodrigo Mero Sarmento da Silva Erros e representação numérica Alexandre Cunha Machado Erros numéricos Representando uma alternativa a inexistência ou a dificuldade de obtenção de uma solução analítica, o cálculo numérico nos apresenta um conjunto de ferramentas para obtenção de soluções aproximadas. Em sua essência, tais resultados implicam na ocorrência de um erro. Mas o que é um erro? Erros numéricos er·ro |ê| (derivação regressiva de errar ou do latim erros, - oris, .ação de vaguear, indecisão, ignorância, ilusão, engano) substantivo masculino 1. .Ato ou efeito de errar. 2. Aquilo que resulta de uma má compreensão ou de análise deficiente de um .fa to ou de um assunto. = ENGANO, .INCORREÇÃO, .INEXATIDÃO 3. O que está imperfeito ou mal feito. = DEFEITO, FALHA, IMPERFEIÇÃO, SOLECIS MO 4. Diferença entre o valor real e o valor calculado ou .registrado por observação. 5. Desvio em relação a uma norma (ex.: erro ortográfico). 6. Afastamento do que é considerado o bom caminho ou a boa conduta. = DESVI O, FALHA 7. Atitude ou comportamento considerado reprovável do ponto de vista moral. = FALHA, PECADO "erro", in Dicionário Priberam da Língua Portuguesa [em linha], 2008- 2013, https://www.priberam.pt/dlpo/erro [consultado em 21-02-2017]. Tipos de erros • Erro de Modelagem; • Erro de Dados; • Erro de Truncagem; • Erro de Representação numérica (Conversão de base ou arredondamento) Não relacionadas às técnicas de cálculo numérico Erro de Modelagem Na engenharia é preciso representar matematicamente (modelar) fenômenos físicos/químicos reais afim de conseguir solucioná-los. Nem sempre essa representação é correta e, nesse caso, o erro é do modelo. Esse é o tipo de erro mais difícil de ser detectado, pois o usuário cria uma ferramenta, que pode estar fazendo os cálculos corretos, mas com uma “fórmula errada”! Erro de Modelagem Ex: Determinar a altura de uma torre utilizando uma esfera metálica e a equação do movimento uniformemente variado. 2 00 tg2 1tvSS Equação que governa o problema: onde: Erro de Modelagem • Erros de Modelagem • Desprezou-se: • Resistência do ar; • Velocidade do vento; • Forma do objeto, etc. Esses erros estão associados, em geral, à simplificação do modelo matemático adotado (imposição de idealizações). A equação pode ser resolvida analiticamente ou numericamente e, mesmo que tudo seja feito corretamente, haverá um erro. Fatores que não são considerados na fórmula da função horária do espaço Erro de Dados No uso de um modelo matemático, o engenheiro terá que coletar dados referentes ao fenômeno físico, que quer solucionar, para utilizar em seus cálculos. É possível que esses dados não sejam precisos; Erro de Dados Os erros de modelagem e na obtenção de dados não são relacionados ao cálculo numérico propriamente dito, por serem originados antes da utilização das ferramentas que estamos estudando. Erro de resolução Os erros de resolução estão associados a alguns fatores: • Forma como os dados são representados/armazenados; • Operações numéricas efetuadas; • Erro de truncamento (troca de uma série infinita por uma série finita). Erro de Truncamento Algumas funções, que podem vir a descrever problemas de engenharia, são aproximadas por séries O grau de aproximação de um resultado pode estar relacionado a quantidade de termos utilizados. Erro de Truncamento O erro de truncamento também pode estar associado a limitação de casas decimais de um número. 0110100011110001110000,0 Estudaremos esse tipo de problema mais a frente Representação Numérica Como o ser humano representa números? Representação Numérica Como um computador representa e grava números em sua memória? Representação Numérica Na era digital, os computadores foram criados com a capacidade de gravar informações em meios magnéticos, como um discos rígidos, representado na figura abaixo. A gravação de dados é feita por processos eletromagnéticos Um computador normalmente opera no sistema ou base binária (zeros e uns). Qual a base utilizada em nosso dia-a-dia? Base decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Exemplos: (100110)2 = (38)10 (11001)2 = (25)10 http://www.calculadoraonline.com.br/conversao-bases Representação Numérica Outras bases numéricas • Decimal • Hexadecimal • Octal Base Binária No sistema binário, os números são representados apenas pelos algarismos 1 e 0. Sua criação é atribuída ao cientista e engenheiro alemão Gottfried Wilhelm Leibniz. Um computador usa a base binária para armazenar vários tipos de informação, como números, letras, textos e até dados gráficos. Representação Numérica Representação de um número real Exemplo: Como seria a representação do número 39,28 em uma base decimal? Como seria a representação do número 100,01 em uma base binária? )10810(2)10910(328,39 2101 10(39,28)28,39 )212(0)20202(1100,01 21012 2)01,100(01,100 • Interação entre usuário e computador: Dados de entrada sistema decimal Operações no sistema binário Dados de saída sistema decimal Usuário UsuárioComputador Como fazer a conversão entre os sistemas ou bases? Representação Numérica Conversão entre bases numéricas • Binária para Decimal • Decimal para Binária • Na conversão de um número escrito em base decimal para uma base binária são utilizados: • Método das divisões sucessivas para a parte inteira; • Método das multiplicações sucessivas para conversão da parte fracionária do número em questão. 10 0123 2 (13)104821202121(1101) 10 01234 2 (25)2120202121(11001) • Decimal para Binária • Método das divisões sucessivas (parte inteira) • Divide-se o número (inteiro) por 2; • Divide-se por 2, o quociente da divisão anterior; • Repete-se o processo até que o último quociente seja igual a 1. O número binário é então formado pela concatenação do último quociente com os restos das divisões, lidos em sentido inverso. Conversão entre bases numéricas Conversão entre bases numéricas • Decimal para Binária • Exemplo: converter o número (13)10 (?)2 210 (?)(13) Quociente Resto 13/2 6 1 6/2 3 0 3/2 1 1 210 )1101()13( Resultado: • Decimal para Binária • Método das multiplicações sucessivas (parte fracionária) • Multiplica-se o número (parte fracionária) por 2; • Do resultado, a parte inteira será o primeiro dígito do número na base binária e a parte fracionária é novamente multiplicada por 2; • O processo é repetido até que a parte fracionária do último produto seja igual a zero. Conversão entre bases numéricas Conversão entre bases numéricas • Decimal para Binária • Exemplo: converter o número (0,375)10 (?)2 210 (?)(0,375) 210 (0,011)(0,375) Resultado: • Decimal para Binária • Exemplo: converter o número (13,375)10 (?)2 210 (?)5)37,13( Quociente Resto 13/2 6 1 6/2 3 0 3/2 1 1 Converte-se inicialmente a parte inteira: ... em seguida a parte fracionária: 210 1)1(1101,05)37(13, Resultado: Conversão entre bases numéricas Conversão entre bases numéricas • Atenção: Nem todo número real na base decimal possui uma representação finita na base binária. Tente fazer a conversão de (0,11)10 (?)2. Esta situação ilustra bem o caso de erro de arredondamento nos dados. • Um computador que opera no sistema binário irá armazenar uma aproximação para (0.11)10 • Supondo um computador que trabalhe com 6 dígitos: (0,11)10 seria armazenado (0,000111)2 e este número representaexatamente (0,109375)10 • Esse “erro” poderia se acumular num somatório e o resultado poderia ser diferente, dependendo 210 )100011110101110001100110100011110001110000,0()11,0( 30000 1i 0,11S Esse resultado poderia ser 3300 ou 3299,99691 a depender da quantidade de dígitos que o computador que realiza o cálculo trabalha Base Octal • Base Octal • Sistema de numeração na base 8, formado pelo resto das divisões sucessivas de um número na base decimal pelo quociente 8. • As informações são expressas em algarismos decimais de 0 a 7. • Esse sistema seria uma alternativa mais compacta ao sistema binário Conversão entre bases numéricas • Octal para Decimal • Decimal para Octal 6273484651283868281)163(1 01238 Base Hexadecimal Sistema de numeração na base 16, formada com a mesma metodologia da base octal, exceto pelo fato de que são usados pelos algarismos de 0 a 9 e ainda as letras A, B, C, D e F, sendo A equivalente a 10, B a 11 e assim por diante. • Hexadecimal para Decimal • Decimal para Hexadecimal Base Hexadecimal http://www.multicalculadora.com.br/ Na internet, existem vários sites que fazem conversão entre bases numéricas diferentes Representação no formato Ponto Flutuante É uma forma de representação numérica mais utilizada por computadores, na qual o número é dividido em três partes: • Sinal • Parte fracionária • Expoente Operações de Ponto Flutuante Exemplos: Escrever os números reais -5.172, 5391.3 e 0.0003 que estão na base β =10 em notação de um sistema de aritmética de ponto flutuante 114321 100.517210)10210710110(55.172 4454321 1053913.010)103101109103105(3.5391 331 103.010)103(0003.0 Número na base decimal Representação em ponto flutuante Mantissa Base Expoente -5,172 -0,5172 x 101 0,5172 10 1 5391,3 0,53913 x 104 0,53913 10 4 0,0003 0,3 x 10-3 0,3 10 -3 Operações de Ponto Flutuante • Exemplos: • Considerando agora que estamos diante de uma máquina que utilize apenas três dígitos significativos e que tenha como limite inferior e superior para o expoente, respectivamente, -2 e 2, como seriam representados nesta máquina os números do exemplo anterior? Temos então para esta máquina t = 3, I = -2 e S = 2. Desta forma -2 ≤ e ≤ 2. Sendo assim temos: 110517.0172.5 4100.5395391.3 3103.00003.0 (e = 4 não pode ser representado nesta máquina – overflow) (e = -3 não pode ser representado nesta máquina – underflow) • Um erro de overflow ocorre quando o número é muito grande para ser representado, já um erro de underflow ocorre na condição contrária, ou seja, quando um número é pequeno demais para ser representado. Operações de Ponto Flutuante Operações de Ponto Flutuante • Algumas linguagens de programação permitem a declaração de variáveis em precisão dupla: • Variável representada no sistema de aritmética de ponto flutuante com aproximadamente o dobro de dígitos disponíveis na mantissa; • Em contrapartida, o tempo de execução aumenta de forma significativa. Operações de Ponto Flutuante • Aplicação • Considerando uma máquina com capacidade para armazenar um número com quatro dígitos significativos, com limites inferior e superior para o expoente de -15 e 15, respectivamente. Como é representado o número (25)10 neste sistema? Qual o menor e o maior número, em valor absoluto, representados nesta máquina? Respostas: 0,2500 x 102 Menor: 0,1000 x 10-15 Maior: 0,9999 x 1015 Erros Numéricos • Na aplicação de Métodos Numéricos para resolver um problema, trabalhamos com aproximações. Assim, precisamos estabelecer maneiras de delimitar os erros. • Erro Absoluto: diferença entre o valor exato de um número x e seu valor aproximado :x xxEAx Em geral, apenas é conhecido, e o que se faz é assumir um limitante superior ou uma estimativa para o módulo do erro absoluto. x Erros Numéricos • Exemplos • Sabendo-se que tomaremos para um valor dentro deste intervalo e teremos, então, • Seja x representado por de forma que podemos dizer que • Seja y representado por de forma que , podemos dizer que 3,14;3,15π π 0,01ππEAπ 9,2112x 0,1EAx 13)(2112,8;21x 5,3y 0,1EAy (5,2;5,4)y Os valores para os erros absolutos nos dois últimos exemplos foram idênticos. Os valores de x e y foram representados com a mesma precisão? Erros Numéricos • Erro Relativo • Erro Relativo Exato: erro absoluto dividido pelo valor exato: • Erro Relativo Aproximado: erro absoluto dividido pelo valor aproximado: x xx x EAERe xx x xx x EAERa xx Em geral, conhecemos apenas um valor aproximado e um limitante superior para o erro absoluto. Erros Numéricos • Exemplos • Nos dois últimos exemplos queríamos saber se os valores de x e y foram representados com a mesma precisão. • Calculando os erros relativos: 5x x 10x4,72112,9 0,1 x EAERa 0,02 5,3 0,1 y EA ERa yy O número x é representado com maior precisão do que y. Concluindo: o erro absoluto não é suficiente para descrever a precisão de um cálculo. Daí a maior utilização do conceito de erro relativo. Erros Numéricos • Erro Relativo Percentual • É o erro relativo em termos percentuais: • Exemplos - calculando os erros relativos percentuais para: 100ERe(%)EPe xx 100ERa(%)EPa xx 0,0047%10104,7(%)EPa10x4,7ERa 25x 5 x 2%100,02(%)EPa0,02ERa 2yy Arredondamento x Truncamento • Arredondamento • Substituição de um número x por um número de máquina mais próximo. • Exemplo: dado o número x = 2,71828..., determinar usando arredondamento um número aproximado com duas casas decimais. • Truncamento • Acontece quando os dígitos de um número simplesmente são descartados. • Exemplo: no exemplo anterior, truncar o número em quatro casas decimais. 2,72 x:Solução 1822,7 x:Solução Arredondamento x Truncamento • Aplicação • Dar a representação dos números a seguir em um sistema de aritmética de ponto flutuante de três dígitos para β = 10, I = -4 e S = 4. x 1.25 10.053 -238.15 1.2152... 0.000007 718235.82 Representação por Arredondamento Representação por Truncamento 0.125 x 101 0.125 x 101 0.101 x 102 0.100 x 102 -0.238 x 103 -0.238 x 103 0.122 x 101 0.121 x 101 0.700 x 10-5 e < -4 (underflow) 0.700 x 10-5 e < -4 (underflow) 0.718 x 106 e > 4 (overflow) 0.718 x 106 e > 4 (overflow) Arredondamento x Truncamento • Considerações • No arredondamento os erros cometidos são menores que no truncamento, no entanto, o arredondamento requer um maior tempo de execução, e por esta razão o truncamento é mais utilizado. • A demonstração de que no arredondamento incorremos em erros menores que no truncamento pode ser encontrada no livro de Cálculo Numérico das autoras Márcia Ruggiero e Vera Lopes. Propagação de erros • Dada uma sequência de operações como: é importante conhecer como os erros se propagam nas operações matemáticas realizadas. • Para o exemplo abaixo considere: sistema de aritmética de ponto flutuante de quatro dígitos e base 10. • Dados e , obter: 2 w zyx 4 1 100.937x 0 2 1027120.x 112 xxx 112 xxx Propagação de erros • A adição em aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números: • A mantissa do número de menor expoente deve ser deslocada para direita de um número de casas decimais igual a diferença dos doisexpoentes 4 1 100.937x 42 1000000.x 44112 10937.010937.00000.0xxx 4112 10937.0937.0xxx 0000.0xxx 112 Propagação de erros • A adição em aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números: 42112 10937.0937.0xxxx 0112 101272.0xxx Propagação de erros • Considerações: • A causa da diferença nas operações foi um arredondamento que foi feito na adição x2 + x1 no primeiro caso, cujo resultado tem oito dígitos. Como a máquina só armazena 4 dígitos, os menos significativos foram desprezados. • Ao se utilizar uma máquina de calcular deve-se está atento a essas particularidades causadas pelo erro de arredondamento, não só na adição, mas também nas demais operações.
Compartilhar