Baixe o app para aproveitar ainda mais
Prévia do material em texto
CÁLCULO NUMÉRICO Tiago Loyo Silveira Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Descrever como os modelos matemáticos podem ser formulados. � Reconhecer o uso de métodos numéricos para problemas que não podem ser resolvidos analiticamente. � Identificar e corrigir as principais formas de erros numéricos. Introdução A modelagem matemática que você conhece hoje é, na verdade, con- sequência de centenas de anos de evolução do processo algébrico. Quando falamos em modelar um problema, estamos nos referindo a traduzir uma situação real para a linguagem matemática formal, que utiliza letras, números e métodos numéricos para a solução de problemas reais ou fictícios. Neste capítulo, você estudará como os modelos matemáticos podem ser formulados, o uso dos métodos numéricos para resolução de pro- blemas que não podem ser resolvidos analiticamente, e vai identificar e corrigir os principais erros do método numérico. Modelos matemáticos A matemática em si, pura e abstrata, não é uma ciência, mas sim uma linguagem com a qual representamos fenômenos. U N I D A D E 1 A modelagem matemática é a área da matemática que transformar os fenô- menos ou as situações reais em linguagem numérica. Para isso, utiliza símbolos, formas e padrões adotados ao longo de anos de evolução desses algoritmos. Dessa forma, um modelo, é uma interpretação de um cenário, completo ou não, traduzido em números e letras. Esses modelos podem representar uma situação real ou fictícia. Os modelos matemáticos são utilizados em quase todas as áreas científicas, entre as quais física, química, biologia, astronomia, geografia, economia, engenharia, bem como em suas subáreas. Construção de um modelo matemático Muitas vezes, a construção de um modelo matemático simples é feita de forma intuitiva, baseada no treinamento subconsciente ao longo da educação básica. Para modelos de média complexidade, o simples esboço do problema pode lhe dar uma boa ideia de como começar ou mesmo obter a resposta analiticamente (Figura 1). Porém, para modelos com um grau maior de complexidade, é ne- cessário processar melhor a situação e torná-la mais clara e numérica possível. Figura 1. Fluxograma de modelagem matemática. SITUAÇÃO- -PROBLEMA Fazer esboço Testar modelo De�nir objetivos Seguir exemplos Alcançar resultadoConsiderar fatores externos Listar informações conhecidas A seguir, você verá alguns passos que podem facilitar a construção do modelo e a obtenção da solução. Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante2 � Conheça o seu objetivo: é fundamental para construção e resolução de qualquer modelo matemático saber qual é o objetivo. Para isso, quando você se deparar com uma situação em que deve construir um modelo, precisará definir os objetivos a serem alcançados. � Liste as informações conhecidas: muitos modelos matemáticos fracas- sam por não usarem informações que já são conhecidas. Nesse caso, liste todas as informações conhecidas, como medidas conhecidas, variáveis numéricas, conceitos e fórmulas matemáticas. É nessa fase que começa a se construir o modelo numérico que será utilizado para a solução do modelo. � Determine possíveis interferências: existe algum fator “imprevisível” no modelo ou algum fator físico, meteorológico, geológico, etc. que possa fazer o modelo falhar? Essas são perguntas que devem ser feitas nos casos de modelos baseados em modelagens reais. � Abuse de exemplos: não deixe de investigar se alguém já fez algo pa- recido com o que você precisa fazer. Exemplos parecidos podem traçar um bom caminho a ser trilhado, além de evitar erros já conhecidos. � Desenhos são sempre bem-vindos: quando o modelo for simples, os desenhos podem ser dispensados, mas em diversas situações, desenhos podem esclarecer mentalmente o problema ou facilitar a organização das ideias. Portanto, não abra mão dessa ferramenta. � Teste e aprimore: após um modelo estar acabado, vá para os cálculos! Teste ele em diferentes situações e com diferentes variáveis. Após verificar sua funcionalidade, pense se algo pode ser aprimorado. Se o modelo falhar e não for capaz de produzir a solução para os objeti- vos listados, será necessário retornar ao início e percorrer todo o caminho novamente, fazendo os ajustes necessários e adicionando novas informações se for preciso. Métodos numéricos Os modelos matemáticos atingiram um nível superior com o advento das tecnologias digitais. O processamento de dados e os algoritmos de maior complexidade passaram a ser resolvidos de uma forma, até então, impossível manualmente. Como exemplo, hoje conhecemos uma grande quantidade de números primos e casas decimais após a vírgula de vários números irracionais. Tudo isso, em razão dos cálculos realizados por superprocessadores. 3Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante No entanto, para que se alcance esses níveis de excelência em precisão e velocidade, é necessário minimizar os erros e convencionar diversos fatores, na tentativa de fazer os modelos matemáticos serem compreendidos e analisados de uma forma puramente numérica e simbólica. Dessa forma, os métodos numéricos executados por máquinas, são a trans- mutação dos modelos matemáticos, que aprimorados pelo processamento digi- tal, trazem maior precisão e confiança aos resultados. Tais métodos numéricos nos permitem calcular melhor as taxas de juros em um cenário econômico; em qual velocidade um determinado motor se torna mais econômico; qual a organização geométrica que permite maior acomodação de determinados materiais; e uma infinidade de outras situações que podem ser modeladas conforme a necessidade humana. Porém, por mais que a tecnologia avance, há uma capacidade limitada de memória e processamento, o que nos leva a ter que truncar o número em determinado momento. O truncamento é uma pausa forçada nos casos de nú- meros com dízimas periódicas ou irracionais, ou decimais com mais números na parte fracionária do que o processador possa suportar. Sistemas numéricos Atualmente, o sistema numérico mais utilizado é o sistema decimal, que tem importante aplicação por utilizar o valor posicional, ou seja, um mesmo símbolo pode possuir diferentes valores de acordo com a posição que ocupa no número. Porém, nem sempre foi assim. Até a Idade Média, o mundo se concentrava basicamente na Europa e, na época, o velho continente utilizava os algarismos romanos, que possuem valores específicos para seus símbolos. Essa prática limitava consideravelmente os números conhecidos e dificultava as operações entre eles, mas após o ano de 1200 a Europa começou a se adaptar aos novos algarismos. Leonardo Fibonacci publicou o livro Liber Abacci, que era uma espécie de manual de conversão entre algarismos romanos e indo-arábicos. No sistema numérico decimal, cada algarismo em sua posição possui um valor relativo que é um produto de potências de base 10, assim, o número 2427, por exemplo, pode ser reescrito com seus valores relativos, da seguinte forma: 2 x 10³ + 4 x 10² + 2 x 10 + 7 x 100 Assim, é possível perceber que o algarismo 2 possui representações dife- rentes, conforme a posição que ocupa no número. Esse formato de representação na base 10, pode ser reescrito, de forma genérica, como: Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante4 N = dn-1 dn-2 ...d1d0 = dn-1 ٜ 10 n-1 + dn-2 ٜ 10 n-2 + (...) + d1 ٜ 10 1 + d0.10 0 Onde: N = número com n casas decimais; di = dígito que ocupa a posição i, assume um valor inteiro entre 0 e 9; n = quantidade de casas decimais. Esse mesmo modelo pode ser reescrito para qualquer base, apenas substi- tuindo 10 por β, que representará a base nesse novo formato. Contudo, lembre-se que o valor de cada dígito d varia entre 0 e β-1. N = dn-1 dn-2 ...d1d0= dn-1 ٜ β n-1 + dn-2 ٜ β n-2 + (...) + d1 ٜ β 1 + d0 . β 0 Nos computadores e processadores digitais em geral, a linguagem utilizada é a binária. Dessa forma, para um processador, todo e qualquer símbolo inserido e processado é lido como uma combinação de 0 e 1. Mudança de base Para fazer a mudança de base de decimal para binária, é necessário fazer divi- sões sucessivas por 2, até que não seja mais possível dividir. A representação na base 2 será o último quociente seguido dos restos anteriores na ordem inversa. Com a finalidade de evitar erros, vamos descrever cada número entre parênteses, seguido pela sua respectiva base subscrita (x)10 ou (x)2. Veja um exemplo a seguir: 27 1 13 1 6 0 3 1 1 2 2 2 2 5Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante O número 27 na base decimal (27)10 é representado por 11011 na base binária (11011)2. Veja, a seguir, a conversão do número (18)10 para a base binária: 18 0 9 1 4 0 2 0 1 2 2 2 2 Portanto, (18)10 é escrito na base binária como (10010)2. Para fazer a transformação de base binária para decimal, utilizaremos o conceito de representação de valor posicional visto anteriormente, e, em seguida, faremos a soma. Veja a transformação dos números 11011 e 10010, que estão na base binária, para a base decimal. 11011 = 1 � 24 + 1 � 23 + 0 � 22 + 1 � 21 + 1 � 20 = 16 + 8 + 0 + 2 + 1 = 27 11011 = 1 � 24 + 0 � 23 + 0 � 22 + 1 � 21 + 0 � 20 = 16 + 0 + 0 + 2 + 0 = 18 Representação em ponto flutuante e erros numéricos A representação de um número real por processadores é feita na base 2 (binária) e, quase sempre, esses números são da forma ponto flutuante. Esse tipo de número tem três partes: o sinal, a parte fracionária (mantissa) e o expoente. Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante6 A notação de ponto flutuante é análoga à notação científica que já conhe- cemos, com a diferença de que o ponto flutuante normalizado tem a parte inteira igual a zero, e a parte fracionária é conhecida como mantissa. x = ±0, d1d2 ... dp � β e , com x ≠ 0; d1 ≠ 0; d1, d2,... dp ∈ {0,..., β - 1} Onde: d = dígitos; β = base numérica; e = expoente; t = d1d2…dp = mantissa. Veja a representação do número 102,596 com uma mantissa de tamanho 4. 102,596 = 0,1025 � 103 Como a mantissa é limitada, todo número que tenha parte decimal infi- nita, periódica ou não, ou que tenha parte decimal maior que a capacidade de armazenamento de um processador, terá que ser “quebrado” em determinado momento para ser representado na forma de ponto flutuante. Por esse motivo, a representação por ponto flutuante irá gerar erros. Esses erros são divididos em: � erros por arredondamento ou truncamento; � erros absoluto e relativo. Erros por arredondamento ou truncamento Erros por arredondamento ou truncamento são aqueles nos quais os números perdem precisão por falta de algarismos na mantissa. No arredondamento, o último algarismo da mantissa pode se alterar de acordo com o primeiro dígito após a mantissa. 7Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante Retomando o caso anterior, temos uma mantissa de 4 algarismos para representar o número 102,596 que, após ser truncado, terá a representação 0,1025.10³. Nesse caso, o último algarismo da mantissa é 5, e o primeiro algarismo após a mantissa é 9. Os critérios para arredondamento são os seguintes: � se o primeiro algarismo após a mantissa for maior ou igual a 5, acres- centamos uma unidade ao último algarismo da mantissa, por exemplo, 53,237 passa a ser 0,5324.10². � se o primeiro algarismo após a mantissa for menor que 5, devemos manter inalterado o último algarismo da mantissa, por exemplo, 42,873 passa a ser 0,4287.10². � se o primeiro algarismo após a mantissa for 5, seguido em qualquer casa um algarismo diferente de zero, aumenta-se uma unidade no último algarismo da mantissa, por exemplo, 2,39152 passa a ser 0,2392.10; 253,6501 passa a ser 0,2537.10³; e 76,2650002 passa a ser 0,7627.10². � se o primeiro algarismo após a mantissa for 5, sendo o último algarismo diferente de zero, o último algarismo da mantissa será conservado so- mente se for par, caso seja ímpar será aumentado em uma unidade, por exemplo, 224,75 passa a ser 0,2248.10³; 224,65 passa a ser 0,2246.10³; e 24,73500 passa a ser 0,2474.10². No truncamento ocorre uma pausa mais brusca na separação da mantissa e da parte a ser desprezada, uma vez que, simplesmente, se abre mão de todo número após a mantissa sem qualquer tipo de mudança nos algarismos da mantissa. Esse tipo de “pausa” para o ponto flutuante é bem mais simples para o processador, por isso permite um processamento mais rápido. Porém, cria erros maiores, pois diminui significativamente a precisão numérica. Considere o número 0,999999999..., sendo esse uma dízima periódica igual a 1. No arredondamento, qualquer que fosse o tamanho da mantissa, isso iria gerar o aumento da casa decimal à esquerda e, por fim, o número se tornaria o próprio 1. Já no truncamento isso não iria ocorrer, pois qualquer que fosse o tamanho da mantissa, o número continuaria uma sequência de algarismos 9, apenas determinados pelo tamanho da mantissa. Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante8 Erros absoluto e relativo O erro absoluto é definido como a diferença gerada pelo número na forma decimal e na forma de ponto flutuante. Dessa forma, temos: |EAx| = |x - x| Onde: EA = erro absoluto de x; x = valor efetivo do número; x̅ = valor do número em ponto flutuante. Dado o número 534,278, de valor efetivo Então, EAx = 0,000078 � 10 3 → 0,78 � 103 � 10-4 → 0,78 � 10-1 Por outro lado, o erro relativo tem esse nome justamente por depender diretamente do número envolvido. A expressão para o erro relativo é dada por: |ERx| = , x ≠ 0 EAx x = (x - x) x Dessa forma, seguindo o exemplo anterior, o erro relativo referente ao número 534,278 em ponto flutuante com a mesma mantissa, será: ERx = 0,78 � 10-1 0,5342 � 103 = 1,460 = 0,1460 � 10 Podemos estimar o maior erro pelas seguintes expressões: No erro absoluto: e – t, No erro relativo: - t + 1 Onde: e = expoente do valor efetivo; t = mantissa. Note que para o erro absoluto a variável e está presente na expressão, portanto o erro absoluto dependerá da representação do número, ao passo que o erro relativo dependerá unicamente do tamanho da mantissa t. 9Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante Para saber mais sobre notação científica, leia o texto “Notação científica” (OLIVEIRA, 2017). https://goo.gl/hHzdr6 OLIVEIRA, N. C. N. Notação científica. Brasil Escola, 2017. Disponível em: <http://bra- silescola.uol.com.br/matematica/notacao-cientifica.htm>. Acesso em: 12 dez. 2017. Leituras recomendadas PILLING, S. Cálculo numérico. São José dos Campos: UNIVAP, [2010?]. Disponível em: <https://www1.univap.br/spilling/CN/CN_Capt1.pdf>. Acesso em: 12 dez. 2017. SILVA, M. N. P. da. Arredondando números. Brasil Escola, 2017. Disponível em: <http:// brasilescola.uol.com.br/matematica/arredondando-numeros.htm>. Acesso em: 12 dez. 2017. SODRÉ, U. Modelos matemáticos. Londrina: UEL, 2007. Disponível em: <http://www. uel.br/projetos/matessencial/superior/pdfs/modelos.pdf>. Acesso em: 12 dez. 2017. Referência Modelagem matemática e métodos numéricos: erros e sistemas de ponto flutuante10 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. Conteúdo:
Compartilhar