5.1 Integração Numérica — Regra do Trapézio
1. Introdução
Da mesma forma como apresentamos nos posts sobre derivação numérica, a integração numérica consiste em uma espécie de interpolação. A ideia é substituir uma função complicada por outra composta por operações mais simples e fácil de se integrar. Além disso, como mostramos em diversos posts relacionados aos métodos de interpolação, as fórmulas mais simples que podemos obter são polinômios. Assim, podemos obter esses polinômios através da fórmula de Taylor ou outra estratégia.
Tais polinômios gerados para integração numérica são chamados de fórmulas de Newton-Cotes, que possuem a seguinte forma de aproximação
onde é um polinômio na forma
onde é o grau do polinômio. Por exemplo, na figura abaixo os gráficos mostram a função original em vermelho e duas aproximações distintas em azul. No gráfico da esquerda, um polinômio de primeiro grau (reta) é usado para aproximar a função em duas divisões. O gráfico da direita utiliza um polinômio de grau maior para aproximar a função em cada intervalo.
Da figura acima também podemos notar que a integral é melhor aproximada se usarmos uma série de polinômios aplicados por partes à função , dividindo-se o intervalo de integração em sub-intervalos menores.
2. A Regra do Trapézio
A regra do trapézio consiste na utilização de com . Portanto, ela corresponde à primeira fórmula de Newton-Cotes:
onde
A área sob é uma estimativa da integral de entre os extremos e . Para obtermos essa estimativa, expressamos a equação acima como
Agrupando os dois últimos termos, obtemos
ou
que é então integrada, fornecendo
Na expressão integrada que vemos acima, usamos o intervalo delimitado por e . Esse resultado pode ser calculado por
Agora, como , temos
que ao fazermos a multiplicação e agruparmos os termos, temos
que é a fórmula da regra dos trapézios.
2.1. Divisão de intervalos
Para melhorar a acurácia da integração, devemos dividir o intervalo de integração de e em diversos segmentos e aplicar o método a cada asegmento. Cada área correspondente aos segmentos individuais podem então ser somadas para fornecer a integral para o intervalo inteiro. A figura abaixo mostra como um conjunto de trapézios formados em cada subintervalo dividido se aproxima da integral.
Dividindo o intervalo de integração em partes, temos segmentos de mesma largura tal que
Se e forem respectivamente renomeados por e , a integral total pode ser obtida por
Substituindo cada integral pela regra do trapézio, obtemos
Agrupando os termos da equação acima, temos
que é a expressão usada na implementação da regra dos trapézios.
3. Estimativa do Erro
Como a soma dos coeficientes de no numerador dividido por é igual a 1, a altura média representa uma média ponderada dos valores da função. De acordo com a última equação apresentada na seção anterior, os pontos interiores tem um peso duas vezes maior do que as extremidades. Assim, um erro para a aplicação múltipla da regra dos trapézios pode ser obtido pela soma dos erros individuais em cada segmento, o que dá
em que é a segunda derivada em um ponto localizado no segmento . Esse resultado pode ser simplificado por uma estimativa do valor médio da segunda derivada no intervalo todo como
Portanto, e a expressão do erro em função do número de intervalos pode ser escrita como
Onde é a média das derivadas de segunda ordem.
4. Implementação
def trapezoid(f, xi, xe, n=10000):
"""
Numerical integration using the Trapezoid Rule.
integral = trapezoid(f, xi, xe, n=10000)
INPUT:
* f: function to be integrated
* xi: beginning of integration interval
* xe: end of integration interval
* n: number of interval divisions
return: \int_{xi}^{xe} f(x)
Author: Pedro Garcia [sawp@sawp.com.br]
see: http://www.sawp.com.br
License: Creative Commons
http://creativecommons.org/licenses/by-nc-nd/2.5/br/
Jul 2012
"""
h = float(xe - xi) / n
t = [f(xi)] + [2 * f(xi + i * h) for i in xrange(1, n)] + [f(xi + n * h)]
integral = sum(t) * (h / 2.0)
return integral
Um exemplo de utilização dessa função pode ser obtido em http://www.sawp.com.br/code/integral/integral_trapezoid.py.
5. Copyright
Este documento é disponível sob a licença Creative Commons. As regras dos direitos de cópia deste conteúdo estão acessíveis em http://creativecommons.org/licenses/by-nc-nd/2.5/br/.