Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 NATUREZA E OBJETIVOS DA MATEMÁTICA NUMÉRICA Antes do advento dos computadores, a aplicação dos métodos numéricos sofria grandes restrições, pois muitos dos cálculos necessários demandavam grande esforço humano ou mesmo sobre-humano. Antes da década de 40 havia dispositivos que, embora facilitassem alguns cálculos, criavam muitos problemas na sua utilização. A partir do surgimento dos computadores na década de 40, muitos problemas passaram a ser resolvidos a contento e, a partir daí, cada vez mais ampliaram-se o tipo e o número de problemas tratáveis pela nova máquina. O crescimento dos computadores foi cada vez mais acentuado e nas duas últimas décadas houve uma popularização grande e sensível melhora na exatidão e no tempo de execução das instruções. Enfim, houve grande avanço. Contudo, algumas das propriedades básicas da aritmética real não valem mais quando executadas no computador, pois, enquanto na Matemática alguns números são representados por infinitos dígitos, no computador isso não é possível, pois uma palavra da memória é finita e a própria memória também. Surgem então problemas e várias maneiras de solucioná-los. O estudo da Matemática do ponto de vista computacional constitui a Matemática Computacional, conforme figura abaixo: A Matemática Numérica trata do desenvolvimento dos métodos operacionais construtivos para a resolução aproximada de problemas que podem ser representados por um modelo matemático. A Matemática Simbólica trata com modelos de forma literal e busca uma solução analítica exata para os problemas matemáticos. A Matemática Gráfica trabalha com dados de forma gráfica e busca representar a solução dos seus problemas também na forma gráfica. A Matemática Intervalar trata de dados na forma de intervalos numéricos, buscando controlar os limites de erro dos processos da Matemática Numérica de forma 100% confiável. Assim sendo, a Matemática Numérica e a Intervalar têm o mesmo escopo, embora com abordagens diferentes, e ambas usam métodos construtivos. Por Métodos Construtivos entendemos todo o método que envolve apenas um sistema de operações elementares dadas a priori, utilizada em um número finito de vezes e que “construirão” todo o processo de cálculo envolvido. O sistema de operações escolhido para a Matemática Numérica é evidentemente o conjunto básico de operações aritméticas {+, -, *, / }, e através delas serão implementadas as demais operações necessárias. Tal escolha é devida à facilidade de implementação, compreensão universal e possibilidade de expansões que formam operações mais complexas. A Matemática Numérica tem por objetivos estudar processos numéricos (algoritmos) para solução de problemas, visando à máxima economia e confiabilidade em termos dos fatores envolvidos. Como estes algoritmos são implementados em computadores, os fatores envolvidos podem ser: tempo de execução; memória utilizada e erros de arredondamento. Matemática Computacional Matemática Numérica Matemática Simbólica Matemática Gráfica Matemática Intervalar 2 ALGORITMOS Para que possamos resolver um problema através de um computador é necessário ter toda a sequencia de passos e operações estabelecidas de modo formal para resolução de problema. Só assim o computador poderá executar a tarefa desejada. Para isso, necessitamos de um algoritmo. Um conceito (e não definição) de um algoritmo pode ser uma sequência de instruções ordenadas de maneira a dar em seu decurso a solução para um problema específico. Tais instruções devem aparecer em um número finito e serem executáveis mecanicamente com uma quantidade limitada de esforço. Um algoritmo poderá depender ou não de dados iniciais (entradas), mas terá obrigatoriamente de produzir pelo menos um resultado final (saída). Deve ter apenas um ponto de início e pelo menos um ponto de parada. ALGORITMOS NUMÉRICOS São os algoritmos voltados ao processamento numérico, isto é, as operações aritméticas formam o cerne do algoritmo e seu objetivo é obter um ou mais resultados numéricos. Um algoritmo numérico de boa qualidade tem as seguintes características: - Inexistência do erro lógico: Esta característica é válida para qualquer algoritmo; no entanto, é nos algoritmos numéricos que devemos ter uma previsão completa de todas as tendências do processo, levando em conta as características das operações aritméticas e dos modelos matemáticos em questão. O algoritmo deve identificar todas as etapas do modelo. - Inexistência de erro operacional: Mesmo que não haja erro lógico, o algoritmo pode falhar por violar restrições físicas da máquina e teremos erros que são detectados em tempo de execução. - Quantidade finita de cálculos: Como muitos problemas numéricos são resolvidos por métodos iterativos (repetitivos), faz-se necessário estabelecer um critério de parada, para que o algoritmo possa terminar após um número finito de passos. É aconselhável que o número máximo de ciclos ou passos seja determinado a priori. - Existência de um critério de exatidão: Em virtude das limitações de precisão da máquina e da exatidão desta e do método, todo resultado obtido do computador deverá enquadrar-se em um critério de exatidão fornecidos de antemão de modo a possibilitar que um resultado aceitável seja escrito na forma: Resultado Valor Aproximado Limite de Erro Na Matemática Intervalar, todos os métodos apresentam tal característica, uma vez que os resultados são sempre um intervalo que contém a solução exata e daí temos implicitamente o limite para o erro. - Independência da máquina: Nos algoritmos numéricos não deve haver dados dependentes da máquina. Devem ser evitadas as cotas que, em geral, são usadas para terminar ciclos de iterações, pois essas grandezas são dependentes da máquina em uso e não provêm do problema em si. Em outras palavras, o programa gerado pelo algoritmo deve ser executado em diferentes máquinas, visando à máxima portabilidade. - Com precisão infinita, os limites de erro devem convergir a zero: Essa exigência estabelece a dependência entre a solução ideal em R e a solução de máquina. Sem essa condição de convergência a solução de máquina não precisará necessariamente estar relacionada com a solução verdadeira. - Eficiência: Quando se deseja encontrar a solução para um problema, sempre visamos obter economia de recursos envolvidos. Então prevemos certo conjunto de condições com respeito a fatores envolvidos no processo de solução e, conforme o resultado que queremos obter, estabelecemos um compromisso entre estas condições, de modo a fornecer aquelas 3 que nos forem mais vantajosas. Em geral, tais fatores são: tempo, exatidão, volume de dados de referência, dificuldades de representação e outros. Sobre eles formulamos condições de rapidez, alta exatidão, trabalhar com poucos dados de referência, ocupar menor espaço de memória, ser facilmente representável, etc. Podemos pensar em termos mais concretos, estabelecendo um conceito, ainda que incipiente, de custo operacional por quantidade de informação, ou seja, ponderar com certo custo relativo cada um dos fatores e depois computá-los em busca da mínima soma que nos possibilite a máxima quantidade de informação. Logo, a eficiência está, sem dúvida nenhuma, relacionada com a economia. Esta última característica de um bom algoritmo é bem diferente das características 1 e 2 que dizem respeito a eficácia. Explicando melhor, a eficácia é a quantidade de produzir uma resposta correta para o problema dado, enquanto a eficiência, além de intuir a ideia anterior, exige que o processo seja econômico nos termos citados. Exemplo: Fazer contas com os dedos da mão. É ineficaz para cálculos não aritméticos. É eficaz, mas não eficiente para cálculos aritméticos não triviais, É eficiente para certos cálculos aritméticos triviais. PASSOS PARA RESOLUÇÃO DE UM PROBLEMA Dado um problema técnico, para chegarmos a um resultado numérico,faz-se necessário percorrer uma sequencia pré-estabelecida de passos isolados. Em cada um desses passos pode existir uma parcela de erro que se acumula ao montante final do processo. Vamos detalhar, aproximadamente, os passos envolvidos no processo, conforme sua modalidade de atuação, visando com isso descobrir as causas de cada tipo de erro e sugerir meios de eliminá-los ou, pelo menos, minimizá-los. Uma ideia da cadeia de passos para solução numérica de um problema é dada na figura abaixo: a) O problema técnico precisa ser associado a um modelo matemático para ser possível a interpretação e a conseqüente solução. b) Acontece, de modo frequente, que o modelo usado para certa solução numérica necessita de simplificações. A essa etapa também pertence a aproximação de valores de contorno. Problema Resultado Numérico a b c d g f e Modelamento Simplificação Resultados de Ciências Vizinhas Medição Escolha de Métodos Escolha de Parâmetros Truncamento das Iterações 4 c-d) Nas equações ocorrem coeficientes, os quais foram obtidos de ciências vizinhas, como, por exemplo, Termodinâmica, Ecologia, Física, ou de medidas e, por isso, já providos de erros. Neste ponto, já dispomos das equações a serem resolvidas pelas máquinas digitais. e) É preciso escolher o método numérico para obter a solução, sempre levando em conta em que recurso vamos procurar maior eficiência. f) No método de solução devem ser escolhidos certos parâmetros de cálculos, como, por exemplo, a escolha de um “passo” num método de diferenças, ou a escolha do tamanho do subintervalo para um método para integração. g) Como a maioria dos problemas não tem solução direta e precisa, por isso, ser resolvida iterativamente, é necessário que se escolha um critério de parada. Todos esses passos causam erros no resultado final. Intuitivamente temos: se a passagem da teoria para a aproximação induz a certo erro na solução, então uma iteração com certa precisão pode não melhorar o erro e o tempo de cálculo é mero desperdício. Portanto, se quisermos melhorar o tempo de cálculo de modo efetivo, devemos fazer uma análise cuidadosa da nossa sequencia de erros. É, frequentemente, difícil dizer algo sobre os erros que ocorrem em a ou b. No caso b pode-se fazer uma análise a posteriori, isto é, substituir o resultado aproximado nas equações iniciais e assim obter-se uma ideia sobre a grandeza do erro. A influência das constantes empíricas em c e d sobre a solução pode ser obtida através de uma análise sensitiva. Observa-se a solução com os coeficientes limites de erros, o que mostra a influência dos erros no resultado final. A sequencia de erros a que os passos a até d induzem são dados fixos e, portanto, não mais sujeitos às melhoras pela escolha de outros métodos de solução. A importância dos métodos computacionais Ao resolver um problema matemático numericamente, o mais comum é a utilização de computação. Porém, é preciso tomar uma série de decisões antes de resolver o problema. E para tomar essas decisões é preciso ter conhecimento de métodos numéricos, dentre eles: Utilização ou não de um método numérico (existem métodos numéricos para resolver este problema?). Escolher o método a, ser utilizado, procurando aquele que é mais adequado para seu problema. Que vantagens cada método oferece e que limitações eles apresentam. Saber avaliar a qualidade da solução obtida. Para isso é importante saber exatamente o que está sendo feito pelo computador ou calculadora, como determinado método é aplicado. Objetivos dos métodos computacionais Apresentar diversos métodos numéricos para a resolução de diferentes problemas matemáticos mostrando a importância de: A essência de um método numérico. A diferença em relação a soluções analíticas. As situações em que eles devem ser aplicados. As vantagens de se utilizar um método numérico. As limitações na sua aplicação e confiabilidade na solução obtida. Melhorar a familiarização com a matemática, mostrando seu lado prático e sua utilidade no dia a dia. Rever conceitos já vistos, exercitá-los e utilizá-los de maneira prática. Mostrar como usar os métodos numéricos no software Derive. 5 Exemplos do uso dos métodos computacionais 1. Métodos Computacionais para Analisar Padrões de Pontos Espaciais O objetivo básico no processo de análise de padrões de pontos espaciais consiste em verificar se um conjunto de pontos ou eventos exibe algum padrão sistemático, tipo regularidade, agrupamento, ou aleatoriedade. Este trabalho objetiva o desenvolvimento de ferramentas computacionais para análise univariada de padrões pontuais. Essas ferramentas exploratórias se concentram, em particular, na análise das propriedades de segunda ordem dos dados pontuais que sugerem a existência ou não de dependência espacial entre os pontos. Os métodos de análise desenvolvidos se baseiam nas distâncias aos vizinhos mais próximos, e na função K que corresponde à expectativa do número de eventos para uma certa distância de um evento arbtrário. Um módulo computacional foi desenvolvido e adicionado ao software SPRING contendo ferramentas para explorar a dependência espacial entre os dados pontuais. 2. Métodos computacionais baseados na função de energia para analise direta da estabilidade transitória de sistemas de energia elétrica Resumo: Este trabalho trata da aplicação do método direto baseado na função de energia para a análise da estabilidade transitória de sistemas elétricos de potência. Por meio da função de energia é possível determinar a margem de energia, um índice numérico que facilita a adoção de ações preventivas, corretivas e de controle para melhorar a estabilidade transitória e a segurança dinâmica dos sistemas de potência. Estudou-se a energia potencial nas proximidades do tempo crítico de eliminação de uma perturbação, mostrando um comportamento ainda não descrito na literatura. Como resultado desse estudo foi proposto um critério para identificar o tempo crítico a partir de simulação no tempo. Neste trabalho propõe-se ainda uma nova metodologia para o cálculo do ponto de equilíbrio instável de controle, que se mostrou mais eficiente e confiável que a metodologia existente. Essa metodologia incorpora um novo algoritmo de detecção do ponto de saída, bem como dois novos algoritmos numéricos de cálculo de pontos de equilíbrio. Diversos resultados de testes realizados em sistemas elétricos de pequeno e grande porte, operando sob estresse, são apresentados, confirmando a validade das propostas formuladas neste trabalho de pesquisa 3. Métodos computacionais: introdução a métodos numéricos na Física Resumo: Na mecânica a descrição do movimento dos corpos, num campo de potencial, envolve a resolução de equações diferenciais que são geralmente não lineares, cuja solução é possível somente através do uso de métodos numéricos. Pretende-se dar uma introdução a alguns métodos de resolução numérica de equações diferenciais que envolvem as equações de movimento de Newton, e a equação de onda descrita pela equação de Schrodinger. Dentro do possível serão desenvolvidos alguns programas de computação, no laboratório de computação, como uma aplicação dos métodos de integração numérica, resolvendo alguns exemplos da mecânica. 4. Métodos Computacionais para Identificação de Padrões e Modelos de Previsão Resumo: Este projeto é voltado para pesquisa de ferramentas para análise de sinais e sistemas para o reconhecimento de padrões e modelos de previsão. Os objetivos do projeto estão relacionados à pesquisa de modelos matemáticos e desenvolvimento de algoritmos para a combinação de funções de quantização (extratores de características) - tais como Short Time Fourier Transform (STFT) e Wavelets Transform (WT) - e de classificação - tais como Análise Polinomial, Lógica Fuzzy e Redes Neurais - para a análise de sistemasreais. Os modelos computacionais de classificadores e quantizadores para a análise de sinais digitais podem ser aplicados para o desenvolvimento de filtros adaptativos, análise por funções descritivas, análise do espaço de fase, e análise de Lyapunov. 6 SISTEMA DE PONTO FLUTUANTE O conjunto dos números de máquina é denominado por sistema de ponto flutuante e denotado por F. Este sistema é descrito por F(b, n, e1, e2), onde b é a base do sistema de numeração, n é a precisão da máquina, e1 é o menor expoente, e e2 é o maior expoente admitido pela configuração. Um número em ponto flutuante é expresso por uma sequência de dígitos do tipo: 0,d1d2d3...dn x β e, onde d1 0 (onde d1 é sempre diferente de zero). Características do Sistema de Ponto Flutuante o É possível representar somente um intervalo limitado de números. o Um número de ponto flutuante representa um conjunto de números reais. o A representação em um ponto flutuante de um número real x com mais do que n- bits de mantissa é obtida arredondando este número real para o número de ponto flutuante mais próximo. o O espaçamento entre elementos de F muda para cada potência fixada de b. ERRO Conceito: é a diferença que ocorre na obtenção de uma solução numérica para um problema físico por meio da aplicação de métodos numéricos que nem sempre fornecem valores que se encaixam dentro de limites razoáveis. Esta afirmação é verdadeira mesmo quando se aplica um método adequado e os cálculos são efetuados de uma maneira correta. Análise completa da propagação de erros se faz considerando os erros nas parcelas ou fatores e no resultado de cada operação efetuada. Erro underflow: expoente menor que a capacidade da máquina. Erro overflow: expoente maior que a capacidade da máquina. Para facilitar a apresentação das fontes de erros, o processo de solução de um problema físico, por meio da aplicação de métodos numéricos é representado abaixo de uma forma geral: Duas fases podem ser identificadas no diagrama: o Modelagem: é a fase de obtenção de um modelo matemático que descreve o comportamento do sistema físico em questão. 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. Problema Físico Modelo Matemático Solução Modelagem Resolução 7 Tipos de Erros Erro absoluto: a = x – x onde x é o valor exato e x é o valor aproximado Ou x = x Erro relativo: deve ser sempre 0,5 x – x a r = ou r = x x Erro relativo percentual: x – x rp = * 100 % x O erro absoluto não é suficiente para descrever a precisão de um cálculo. Por essa razão, o erro relativo é amplamente empregado. Obs.: quando não conhece o valor exato torna-se impossível calcular o erro relativo e absoluto. Fontes dos Erros Inerente: Aparecem na criação ou simplificação de um modelo matemático de determinado sistema, ou ainda nas medidas, em geral. Os valores de medidas como tempo, temperatura, distância, intensidade luminosa, etc. são obtidos de instrumentos que tem precisão limitada. Sobre tais erros o analista numérico não tem meios de evitá-los ou mesmo minimizar seu efeito. Ocorre na fase de modelagem. Discretização / Aproximação / Truncamento: Erros cometidos quando se substitui qualquer processo infinito por um processo finito e discreto. Ocorre na fase de resolução. Ex.: ex = 1 + x + x2 + ... + xn 1! 2! n! 8 Se quisermos obter o valor de e, teremos de efetuar o cálculo de várias parcelas e depois parar, ou seja, truncando, cometemos um erro causado pelo abandono das parcelas que não foram somadas. Arredondamento: Surge quando trabalhamos com máquinas digitais para representar os números reais. Ocorre na fase de resolução. Os arredondamentos conhecidos são: - para cima ou por excesso (x) - para baixo ou por falta (x) - para o número de máquina mais próximo (Ox) Erro Gerado É o erro introduzido num resultado por uma das fontes (inerente, truncamento ou arredondamento). Erro Propagado É o crescimento ou diminuição de um erro gerado após a execução de várias operações com um valor aproximado. Obs.: As operações + e – normalmente aumentam o erro. As operações * e / normalmente diminuem o erro. DÍGITOS SIGNIFICATIVOS EXATOS Num sistema decimal, um dígito é significante se qualquer dos dígitos for 1, 2, 3, 4, 5, 6, 7, 8 ou 9. O dígito zero é significante, exceto quando for usado para fixar a vírgula ou ponto decimal ou preencher o lugar de dígitos descartados. Dígito Significativo é Exato se, arredondando-se o número aproximado para uma posição imediatamente após aquela posição do dígito, isso fizer com que o erro absoluto não seja maior do que a meia unidade naquela posição do dígito. PRECISÃO A precisão de uma máquina digital é definida como o número de dígitos da mantissa dessa máquina. Portanto, a precisão é algo claro, não variável para uma máquina. EXATIDÃO É uma medida de perfeição do resultado. A exatidão do resultado depende da precisão da máquina e do método utilizado para obtenção desse resultado. INSTABILIDADE A instabilidade pode ser entendida como uma “sensibilidade a perturbação” e pode ocorrer tanto no problema em si como no algoritmo, isto é, na maneira de resolvê-lo.
Compartilhar