Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Introdução 2. Representação de Números 2.1. Conversão de Números nos Sistemas Decimal e Binário 2.2. Aritmética de Ponto Flutuante 3. Erros 3.1. Erros Absolutos e Relativos 3.2. Erros de Arredondamento e Truncamento em um Sistema da Aritmética de Ponto Flutuante 3.3. Análise de Erros nas Operações Aritméticas de Ponto Flutuante 1-Introdução: • Neste instante, trabalharemos com a disciplina de Cálculo Numérico, que em verdade seria um curso com implementação de ferramentas numéricas para discussão da teoria ministrada em um curso de Cálculo Diferencial e Integral, bem como, em um curso introdutório de Álgebra Linear, com mais cálculos envolvidos. • Com relação ao conteúdo como um todo, trata-se de uma teoria que envolve muitos cálculos, que talvez no início, é possível que vocês tenham algum tipo de dificuldade no entendimento e desenvolvimento dos diversos métodos numéricos apresentados que compõem o referencial teórico. • A essência da Matemática não está nas fórmulas, mas nas ideias que impulsionam a criatividade de suas teorias. Portanto, não se deixem intimidar por fórmulas, equações e cálculos cansativos. Objetivos do Capítulo 01: • Apresentar a Importância da Obtenção de uma Solução Numérica para Modelagens em diversas Áreas do Conhecimento; • Apresentar a Conversão de Números nos sistemas decimal e binário; • Definir e Apresentar a Aritmética do Ponto Flutuante de um Computador ou Calculadora; • Apresentar e Aplicar os Erros Absolutos e Relativos; • Apresentar e Analisar os Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante; • Apresentar alguns exemplos introdutórios envolvendo os tópicos discutidos anteriormente. A obtenção de uma solução numérica para um problema físico por meio da aplicação de métodos numéricos nem sempre fornece valores que se encaixam dentro de limites razoáveis e desejáveis. Esta afirmação é verdadeira mesmo quando se aplica um método adequado e os cálculos são efetuados de uma maneira correta. Esta diferença é denominada de erro e é inerente ao processo, não podendo, em muitos dos casos, ser evitada. Nesta unidade, estaremos interessados em fornecer, noções sobre as fontes de erros, tipos de erros, etc., para que possamos saber como controlá-los ou, de forma ideal, como evitá-los, a fim de aproveitarem ao máximo a utilização dos métodos numéricos discutidos ao longo da nossa disciplina. Em outras palavras, neste semestre é nosso objetivo estudar os métodos numéricos para a resolução de problemas que surgem nas mais diversas áreas. A resolução de tais problemas envolve várias fases que podem ser estruturadas como descrita na figura a seguir: Podemos claramente visualizar duas fases importantíssimas na figura anterior: • Modelagem – é a fase de obtenção de um modelo matemático que descreve o comportamento do sistema físico em questão. • Resolução – é a fase de obtenção da solução do modelo matemático através da aplicação de métodos numéricos. Não é difícil de acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução tenham sido realizadas corretamente. Os resultados obtidos dependem também: • Da precisão dos dados de entrada; • Da forma como estes dados são representados no computador; • Das operações numéricas efetuadas. Os dados de entrada contêm uma imprecisão inerente, isto é, não há como evitar que ocorram, uma vez que representam medidas obtidas usando equipamentos específicos, como, por exemplo, no caso de medidas de corrente e tensão num circuito elétrico, ou então podem ser dados resultantes de pesquisas ou levantamentos, como no caso de dados populacionais obtidos num recenseamento. Nesta unidade, estaremos interessados principalmente nos erros que surgem da representação de números num computador e os erros resultantes das operações numéricas efetuadas. São erros provenientes de simplificações, muitas vezes necessárias, para que o fenômeno da natureza que estivermos observando possa ser representado por um modelo matemático e que tenha condições de ser tratado com as ferramentas matemáticas disponíveis. Ao tentarmos representar um fenômeno do mundo físico por meio de um modelo matemático, raramente se tem uma descrição correta deste fenômeno. Normalmente, são necessárias várias simplificações do mundo físico para que se tenha um modelo matemático com qual se possa trabalhar. Exemplo: Para o estudo do movimento de um corpo sujeito a uma aceleração constante, temos a seguinte equação associada: Suponhamos que um engenheiro queira determinar a altura de um edifício e que para isso disponha apenas de uma bolinha de metal, um cronômetro e a fórmula acima, ele sobe então ao topo do edifício e mede o tempo que a bolinha gasta para tocar o solo, ou seja, 3 segundos. Levando este valor a equação 01 acima, obtemos: • É bem provável que não, pois no modelo matemático não foram consideradas outras forças como, por exemplo, a resistência do ar, a velocidade do vento etc. Além destas, existe um outro fator que tem muita influência: a precisão da leitura do cronômetro, pois para uma pequena variação no tempo medido existe uma grande variação na altura do edifício. • Se o tempo medido fosse 3,5 segundos ao invés de 3 segundos, a altura do edifício seria de 60 metros. Em outras palavras, observamos para uma variação de 16,7% no valor lido no cronômetro, a altura calculada apresenta uma variação de 36%. • Com este exemplo podemos notar a grande influência que o modelo matemático e a precisão dos dados obtidos exercem sobre a confiabilidade da resposta conseguida. São erros provenientes da utilização de algum equipamento, como, por exemplo, um computador, para processarmos os cálculos necessários à obtenção de uma solução para o modelo matemático. Tais erros ocorrem devido ao fato de os equipamentos terem capacidade limitada para armazenar os dígitos significativos de valores numéricos utilizados nas operações elementares de adição, multiplicação, subtração e divisão. Os erros nesta fase de resolução podem ser classificados em erros na mudança de base e erros de representação, conforme veremos a seguir. 2.Representação de Números: Exemplo 01 : Calcular a área de uma circunferência de raio 100 m. a)Use π = 3,14 b)Use π = 3,1416 c)Use π = 3,141592654. Uma das constantes mais importantes dentro da Matemática, o número π , não pode ser representado através de um número finito de dígitos decimais. No Exemplo o número π foi escrito como 3,14, 3,1416 e 3,141592654; respectivamente, nos casos (a), (b) e(c). Em cada um deles foi obtido um resultado diferente, e percebemos já que o erro neste caso então depende exclusivamente da aproximação escolhida para π . Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que π é um número irracional. Como neste exemplo, qualquer cálculo que envolta números que não podem ser representados através de um numero finito de dígitos não fornecera como resultado um valor exato. Quanto maior o número de dígitos utilizados, maior será a precisão obtida. Por isso, a melhor aproximação para o valor da área da circunferência no Exemplo 03 é aquela obtida no caso (c). Exemplo 02: Efetuar os somatórios seguintes em uma calculadora e em um computador: Resposta: Como podemos justificar a diferença entre os resultados obtidos pela calculadora e pelo computador para xi =0,11? • Os erros ocorridos no problema depende da representação dos números na máquina utilizada. A representação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na suarepresentação. • Além disto, um número pode ter representação finita em uma base e não finita em outras bases. Atualmente, percebemos que a base decimal é a que mais empregamos. Porém, na antiguidade, foram utilizadas outras bases, como a base 12 e a base 60. • Não é novidade para nós, mas o computador opera normalmente no sistema binário, já que é amplamente falado. Observe o que acontece na interação entre o usuário e o computador: os dados de entrada são enviados ao computador pelo usuário no sistema decimal; toda esta informação é convertida para o sistema binário, e as operações todas serão efetuadas neste sistema. Os resultados finais serão convertidos para o sistema decimal e, finalmente, serão transmitidos ao usuário. Todo este processo de conversão é uma fonte de erros que afetam o resultado final dos cálculos. Na seção seguinte, estudaremos os processos para conversão de números do sistema binário para o sistema decimal e vice-versa. 2.1- Conversão de Números nos Sistemas Decimal e Binário Vejamos inicialmente a conversão de números inteiros e depois passaremos aos fracionários. Para tal, consideremos os números (347)10 e (10111)2 , ou seja, o número 347 está escrito na base 10 enquanto que o número 10111 está escrito na base 2 Exemplo 03: Escreva na forma polinomial a)(347)10 b)(10111)2 , vamos treinar mais um pouco... c)(231)10 d)(1011)2 Conversão de um número na base 2 para a base 10: Exemplo 04: Converter para a base 10 os seguintes números na base 2 a)(10111)2 b)(1011)2 Conversão de um número na base 10 para a base 2: É de nosso interesse agora, desenvolver o procedimento contrário, ou seja, queremos caracterizar um processo para converter um número inteiro representado no sistema decimal para o sistema binário. Exemplo 05: Converter para a base 2 os seguintes números na base 10 a)(347)10 b)(231)10 Conversão de um número fracionário na base 10 para a base 2: Dado um número entre 0 e 1 no sistema decimal, como obter sua representação binária? Para transformar um número fracionário na base 10 para a base 2, utiliza-se o método das multiplicações sucessivas, que consiste em: 1. Multiplicar o número fracionário por 2 2. Deste resultado, a parte inteira será o primeiro dígito do número na base 2 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. Exemplo 06: Converter para o sistema binário a) (0,1875)10 b)(13,25)10 c)(0,6)10 d)(0,1)10 Conversão de um número fracionário na base 2 para a base 10: Exemplo 07: Converter para o sistema decimal a) (10,1)2 b)(11,01)2 c)(0,000111)2 2.2-Aritmética de Ponto Flutuante [L , U] Um sistema de ponto flutuante F depende das varáveis β, t, L e U e pode ser representado pela função: F = F(β, t, L, U) onde a precisão da máquina com o sistema F é definida pelo números de dígitos da mantissa t. d1 ≠ 0 caracteriza o sistema de números em ponto flutuante normalizado ! Exemplo 08: Considere uma máquina que opera no sistema F = F(10, 3, -5 , 5) m Exemplo 09: Dado o sistema de aritmética de ponto flutuante F(10,3,-4,4), represente o número x, use se necessário o arredondamento : a) – 279,15 b) 1,35 c) 0,024712 d) 10,093 O número zero pertence a qualquer sistema F . Exemplo 10: Dado o sistema de aritmética de ponto flutuante F(3,2,-1,2), responda: a)Qual o menor número representável? b)Qual o maior número representável? c)Qual a quantidade de números reais positivos representáveis? Exemplo 11: Dado o sistema de aritmética de ponto flutuante F(10,3,-4,4), represente o número x, use se necessário o truncamento : a) 1,25 b) 10,053 c) -238,15 d) 2,71828... e) 0,000007 f) 718235,82 3-ERROS: 3.1 – Erros Absolutos e Erros Relativos: A partir do momento em que se calcula um resultado por aproximação, é preciso saber como estimar ou delimitar o erro cometido na aproximação ( que pode ser por arredondamento ou truncamento). Sem isso, a aproximação obtida não têm significado. Frequentemente é possível, no cálculo numérico, estimar o erro ou delimitá-lo, isto é, estabelecer a menor das cotas superiores para o erro. A delimitação do erro é sempre desejável, pois com ela tem-se um valor em que o erro cometido seguramente é inferior a um limite. Para se estimar ou delimitar o erro, recorre-se a dois conceitos: erro absoluto e erro relativo. Seja 𝑥 um valor aproximado para uma quantidade cujo valor exato é x. Define-se: ERRO ABSOLUTO 𝑬𝑨 = 𝑿 − 𝑿 ERRO RELATIVO 𝑬𝑹 = 𝑿 − 𝑿 𝑿 O erro relativo é frequentemente dado como uma porcentagem. Exemplo 12: Dado o sistema de aritmética de ponto flutuante F(10,4,-4,4), vamos representar o número x = 234,57 e calcular os erros: a)Use o arredondamento. b)Use o truncamento. Apesar de incorrer em erros menores, o uso do arredondamento acarreta um tempo maior de execução e por esta razão o truncamento é mais utilizado. Exemplo 13: a)Consideremos o valor exato 3258,713 e o valor aproximado 3258. Determine para a aproximação o erro absoluto e o erro relativo. b) Consideremos o valor exato 1,713 e o valor aproximado 1,000. Determine para a aproximação o erro absoluto e o erro relativo. Observe que neste exemplo, o erro absoluto é o mesmo, embora o erro acometido pela aproximação seja muito mais significativo no item b. 3.2. Erros de Arredondamento e Truncamento em um Sistema da Aritmética de Ponto Flutuante: Observação: Em geral, nos procedimentos numéricos geramos uma sequência de soluções aproximadas que convergem ou não para a solução desejada do problema. Os erros absolutos e relativos serão usados como critério de parada nestas sequências de aproximações. Em geral, o erro relativo é preferível, basta observar o exemplo anterior. 3.3 - Análise de Erros nas Operações Aritméticas de Ponto Flutuante Exemplo 14: Usando F(10,4,-5,5) e dados x = 0,937 x 104 e y = 0,1272 x 102 , obter x + y. A adição em aritmética de ponto flutuante necessita do alinhamento dos pontos decimais dos dois números. Para isso a mantissa do número de menor expoente deve ser deslocada para a direita. Este deslocamento deve ser feito de um número de casas decimais igual à diferença entre os dois expoentes. Exemplo 15: Usando F(10,4,-5,5) e dados x = 0,937 x 104 e y = 0,1272 x 102 , obter xy. 14 e 15 Observação: em nossos estudos poderemos usar 𝑂𝑃 ou 𝑥 . Análise da Propagação de Erros: Quando desenvolvemos ou utilizamos um processo numérico para buscar a solução de um determinado problema, normalmente processamento envolve um número muito grande de operações elementares. Assim, na maioria das vezes, o erro cometido em uma operação isolada pode não ser muito significativo para a solução do problema que estamos tratando, mas sim, é necessário analisar como os erros se propagam quando tratamos com muitas operações no processamento. Neste caso, é fundamental termos o conhecimento da forma com que estes erros estão se propagando, isto é, caso estejam se acumulando a uma taxa crescente, dizemos que o erro é ilimitado, e a sequência de operações é considerada instável (a). Se, por outro lado, os erros estão se acumulando a uma taxa decrescente, dizemos que o erro é limitado e, portanto, a sequência de operações é considerada estável (b). Exemplo 16: Usando F(10,4,-5,5) e dados x = 0,46709 e y = 3,5678 , obter a soma (𝑥𝑖 + 𝑦𝑖) 4 𝑖=1 . Use truncamento e analise a propagação dos erros. Exemplo 17: (a)Em um sistema F(10,10.-5,5), calcule 9876 − 9875 . (b)Use a identidade 𝑥 − 𝑦 = 𝑥−𝑦 𝑥+ 𝑦 para efetuar o calculo. (c)Compare os resultados, o que você pode concluir? Exemplo 18: (a) Em um sistema F(10,10,-5,5), resolva a equação x2 – 1634x + 2 = 0. (b) Usando a relação entre o produto das raízes, determine a menor raiz utilizando a maior. (c) Compare os resultados, o que você pode concluir?
Compartilhar