Análise numérica

estudo de algoritmos que usam aproximações numéricas para os problemas de análise matemática
(Redirecionado de Cálculo numérico)

A análise numérica é o estudo de algoritmos de aproximação para a solução de problemas matemáticos. Em geral, os algoritmos numéricos se dividem em diretos, recursivos e iterativos. Os iterativos apresentam uma sucessão de passos visando a convergência para o valor aproximado da solução exata. [1][2].

Clay tablet Babilônio YBC 7289
(c. 1800–1600 BCE) [1] com anotações. (Imagem por Bill Casselman)

Uma das primeiras referências a métodos numéricos consta na tabuleta babilônica YBC 7289, que fornece uma aproximação sexagesimal de o comprimento da diagonal de um quadrado unitário. A aproximação da raiz quadrada de 2 consiste de quatro algarismos sexagesimais, que estão sobre seis dígitos decimais:[3]

Ser capaz de calcular as faces de um triângulo (e assim, sendo capaz de calcular raízes quadradas) é extremamente importante, por exemplo, em carpintaria e construção.[4] Em uma parede quadrada que tem dois metros por dois metros, uma diagonal deve medir metros.[5]

Embora a análise numérica tenha sido concebida antes dos computadores, tal como o entendemos hoje, o assunto se relaciona a uma interdisciplinaridade entre a matemática e a tecnologia da informação. Também é muito referido na disciplina de cálculo numérico.

Um dos procedimentos mais conhecidos de tal área do saber é o método de Newton e o Método de Newton-Raphson.

Pelo método de Newton, se determinam dois valores extremos, entre os quais deve estar o resultado do problema. A função, então, é aplicada à média dos dois valores e esta, na iteração posterior, passa a ser um dos valores extremos, em substituição a um dos anteriores, dependendo do resultado da função.

No método de Newton-Raphson, o número de iterações para se chegar a um resultado com uma determinada aproximação é diminuído pelo uso da derivada da função.

Introdução Geral

editar

O objetivo do campo de análise numérica é projetar e analisar técnicas para encontrar soluções aproximadas, porém precisas, para problemas complexos, cuja variedade é demonstrada a seguir.

  • Métodos numéricos avançados são essenciais para previsões meteorológicas adequadas.
  • Calcular a trajetória de uma aeronave requer a solução numérica precisa de um sistema de equações diferenciais ordinárias.
  • Fabricantes de carros podem melhorar a segurança de seus veículos utilizando simulações computacionais de acidentes. Tais simulações consistem essencialmente da resolução de derivadas parciais numericamente.
  • Fundos de cobertura usam ferramentas de todos os campos da análise numérica para tentar calcular o valor de ações mais precisamente do que outros envolvidos no mercado.
  • Companhias aéreas usam sofisticados algoritmos de otimização para definir os valores de passagens, pagamentos de funcionários e necessidades de combustíveis. Historicamente, tais algoritmos foram desenvolvidos dentro do campo de pesquisa de operações.
  • Companhias de seguros usam programas numéricos para análise de riscos.
  • O resto desta seção destaca diversos temas importantes para a análise numérica.

Histórico

editar

O campo da análise numérica antecede a invenção do computador em séculos. Interpolação linear é usada há mais de 2000 anos. Grandes matemáticos no passado trabalharam com análise numérica, o que é obviamente percebido pelo nome de importantes algoritmos como: Método de Newton, Polinômio de Lagrange, Eliminação Gaussiana, ou Método de Euler.

Para facilitar os cálculos manuais, grandes livros foram produzidos, com fórmulas e tabelas de dados como pontos de interpolação e coeficientes de funções. Utilizando estas tabelas, freqüentemente calculadas até a 16ª casa decimal ou além, qualquer um poderia olhar os valores e inseri-los nas fórmulas e encontrar estimações numéricas aproximadas para algumas funções. Este trabalho culminou em uma publicação do NIST em 1964, de um livro de mais de 1000 páginas editado por Abramowitz e Stegun com um grande número de formulas e funções comumente utilizadas e seus valores em diversos pontos. Os valores das funções não são mais de grande utilidade quando temos um computador à disposição, mas as diversas fórmulas podem ainda ser bastante úteis.

As calculadoras mecânicas também foram desenvolvidas como uma ferramenta para cálculos a mão. Estas calculadoras evoluíram para computadores eletrônicos nos anos 40, quando então se percebeu que estes computadores seriam úteis para fins administrativos. Mas a invenção do computador também influenciou campo da análise numérica, uma vez que cálculos maiores e mais complexos poderiam ser resolvidos.

Métodos diretos e iterativos

editar

Método direto x Método iterativo

Considerando o problema:

3x3 4 = 28

para uma quantidade desconhecida de x.

Método direto
3x3 4 = 28.
Subtraindo 4 3x3 = 24.
Dividindo por 3 x3 = 8.
Fazendo a raiz cúbica x = 2.

Para o método iterativo, aplique o método da bissecção para f(x) = 3x3 − 24. Os valores iniciais são a = 0, b = 3, f(a) = −24, f(b) = 57.

Método iterativo
a b mid f(mid)
0 3 1.5 −13.875
1.5 3 2.25 10.17...
1.5 2.25 1.875 −4.22...
1.875 2.25 2.0625 2.32...

Concluímos desta tabela que a solução está entre 1.875 e 2.0625. O algoritmo deve retornar qualquer número neste intervalo com um erro menor que 0.2.

Discretização e Integração numérica

editar
 

Em uma corrida de 2 horas, foi medida a velocidade do carro em três instantes e inseridas na tabela a seguir.

Tempo 0:20 1:00 1:40
km/h 140 150 180

Uma Discretização seria dizer que a velocidade do carro foi constante de 0:00 até 0:40, depois de 0:40 até 1:20 e finalmente de 1:20 até 2:00. Por exemplo, a distância total percorrida nos primeiros 40 minutos é aproximadamente (2/3h × 140 km/h) = 93.3 km. Isto nos permitiria estimar a distância total percorrida em 93.3 km 100 km 120 km = 313.3 km, que é um exemplo de integração numérica, pois, o deslocamento é a integral da velocidade.

Problema mal posto: Considere a função f(x) = 1/(x − 1). Perceba que f(1.1) = 10 e f(1.001) = 1000: uma variação em x de menos de 0.1 resulta numa variação de f(x) em aproximadamente 1000. Avaliar f(x) próximo de x = 1 é um problema mal condicionado.

Problema bem posto: Em contraste temos a função   que é continua e analisá-la consiste em um problema bem posto, ao mínimo para ‘x’ não muito próximo de zero.

Métodos diretos calculam a solução de um problema em um número finito de passos. Estes métodos resultariam na resposta precisa se eles fossem realizados com precisão infinita. Exemplos incluem a Eliminação Gaussiana, o método de fatoração QR para a resolução de sistemas lineares de equações e o Algoritmo simplex de programação linear. Na prática, é utilizada precisão finita e o resultado é uma aproximação da solução real (assumindo estabilidade).

Em contraste aos métodos diretos, Métodos Iterativos não terminam em um determinado número de passos. Atribuído um valor inicial, métodos iterativos realizam sucessivas aproximações que convergem para a solução exata em seu limite. Um teste de convergência é especificado para decidir quando uma solução suficientemente precisa foi encontrada. Mesmo usando uma precisão infinita, estes métodos (geralmente) não chegariam à solução em um número finito de passos. Exemplos incluem o Método de Newton, Método da Bissecção e a Interação de Jacob. Em matrizes de álgebra computacionais, métodos iterativos são geralmente necessários para problemas complexos.

Métodos iterativos são mais usuais do que métodos diretos em análise numérica. Alguns métodos são diretos em seu princípio, mas são utilizados como se não fossem; e.g Método do resíduo mínimo generalizado e o Método do gradiente conjugado. Para estes métodos o número de passos necessários para se obter a solução exata é tão grande que a aproximação é a aceita da mesma maneira que no método iterativo.

Discretização

editar

Além disso, problemas contínuos devem as vezes ser substituídos por problemas discretos cuja solução é conhecidamente próxima da do problema contínuo; este processo é chamado “discretização”. Por exemplo, a solução de uma Equação diferencial é a Função. Esta função deve ser representada por uma quantidade limitada de dados, por exemplo, por seu valor em um número finito de números em seu domínio, apesar de seu domínio ser contínuo.

Cálculo dos valores de funções

editar

Um dos problemas mais simples é a avaliação de uma função em um determinado ponto. Mas mesmo a avaliação de um polinómio não é sempre trivial: o esquema de Horner é muitas vezes mais eficiente do que o método óbvio. De forma geral, é importante estimar e controlar o erro de arredondamento que resulta do uso do sistema de ponto flutuante na aritmética.

Resolução de equações e sistemas de equações

editar

Resolução de equações não lineares

editar

Resolver uma equação não linear, consiste basicamente em determinar os zeros de  .

Para que possamos usar algum método numérico temos de localizar um intervalo para um zero. Para termos uma ideia onde o zero se localiza teremos de fazer uma análise gráfica da função. Por exemplo, fazer o gráfico na calculadora ou com programas de computador, como por exemplo o GNU Octave, Mathematica ou MATLAB.

Para garantir que a raiz existe e seja única temos de verificar os seguintes teoremas:

  1. Seja  , se   então existe pelo menos um   tal que  .
  2. Seja  , se   existe e tem sinal constante em   então f não pode ter mais de um zero em  .

Um dos métodos numéricos para o cálculo de zeros em um intervalo é o método da bissecção. Este método consiste na divisão do intervalo em dois. Haverá um intervalo em que o zero estará e outro não. Para o localizarmos usamos o teorema 1. Rejeitamos o intervalo que não tem o zero e ficamos com o subintervalo que tem o zero. Repetimos este procedimento o número de vezes necessárias de modo a obtermos um erro inferior ao pretendido.

Para encontrarmos o erro de ordem k usamos a seguinte fórmula: 

 
Ilustração das primeiras etapas da aplicação do método da bissecção

Fórmula para o cálculo do zero da função:

 

Resolução de sistemas lineares

editar

Um sistema de equações lineares Sn é um conjunto de n equações com n incógnitas. Os sistemas de equações lineares possuem diversas aplicações na matemática e na física sendo um dos principais temas tratados pelo cálculo numérico.

Genericamente um sistema linear pode ser representado como:   ou ainda:  

Um sistema linear pode ainda ser representado utilizando-se matrizes, na forma:   sendo:

 ,   e  

Os sistemas lineares podem ser resolvidos através de métodos diretos (exatos) e métodos iterativos (aproximativos).

Os métodos diretos, ou exatos, possibilitam encontrar a solução exata de um sistema de equações lineares a partir de um número finito de operações.

Os métodos iterativos, ou aproximativos, são aqueles em que a solução do sistema de equações linear é obtida a partir de uma sequência de aproximações sucessivas x(1), x(2), ... , x(k) partindo-se de uma aproximação inicial x(0).

Outras aplicações

editar

Várias outras aplicações existem da análise numérica, como resolução de problemas de autovalores ou valores singulares, cálculo de integrais ou equações diferenciais.

Em geral, operações que envolvem limite são facilmente aplicadas em análise numérica, já que os respectivos algoritmos seguem a própria definição de limite.

Ver também

editar

Notas e referências

  1. Buffoni, S.S.O. Apostila de introdução aos métodos numéricos - parte I. Universidade Federal Fluminense, 2002. 44p.
  2. Hildebrand, 1974
  3. Fotografia, ilustração, e descrição do tablet da raiz(2), da Coleção Babilônica Yale
  4. A autoridade de qualifição da Nova Zelândia menciona especificamente as habilidades no documento 13004, versão 2, datado de 17 de Outubro de 2003, cujo título é CARPENTRY THEORY: Demonstrate knowledge of setting out a building
  5. Segundo o teorema de Pitágoras, um quadrado cujo lado é 2 metros tem uma diagonal medindo   metros.

Referências gerais

editar

Ligações externas

editar
 
O Commons possui uma categoria com imagens e outros ficheiros sobre Análise numérica