Integração Aproximada pelo Método do Trapézio

Invalid Date

Ontem, um estudante que assistiu minha série sobre Portugol Studio no Youtube entrou em contato comigo. Ele queria saber como implementar o Método dos Trapézios para integrais no Portugol Studio, então resolvi compartilhar toda a teoria e a implementação final aqui. É importante que, para compreender 100% o que vai ser dito aqui, o leitor já tenha estudado Cálculo I. Vamos lá!

Cálculo

Primeiramente, vamos analisar a definição precisa de integral através do método do ponto médio. A integral se propõe, no caso mathbbR2\\mathbb{R}^2, a calcular a área exata sob o gráfico de uma função (ou o volume no caso mathbbR3\\mathbb{R}^3) no intervalo \[a,b\]. Para isso, podemos dividir o eixo xx em nn subintervalos. Para cada subintervalo, escolhemos um x_ix\_i^* e definimos a área desse subintervalo como f(x_i)cdotDeltaxf(x\_i^*)\\cdot \\Delta x, em que Deltax\\Delta x é o tamanho do subintervalo (dado por (ba)/n{(b-a)/n}).

A Figura 1 abaixo mostra as diversas somas com n=4n=4, n=8n=8, n=16n=16 e n=32n= 32. Observe que, quando nn aumenta, a soma das áreas de cada subintervalo se aproxima da área sob o gráfico da função.

Figura 1: Somas convergindo.

Figura 1: Somas convergindo.

Isso pode ser representado, matematicamente, por:

Ai=1nf(xi)ΔxA \approx \sum\limits_{i=1}^n {f(x_i^*)\cdot \Delta x}

Sendo assim, se tomamos o limite quando ntoinftyn \\to \\infty, então obtemos uma soma perfeita:

abf(x)dx=limni=1nf(xi)Δx\int\limits_a^b{f(x)dx} = \lim_{n \to \infty} {\sum\limits_{i=1}^n {f(x_i^*)\cdot \Delta x}}

Infelizmente, são muitos os casos em que é simplesmente impossível calcular o limite infinito para encontrar uma integral exata. Daí recorremos a métodos de aproximação. Apenas remover o limite e escolher um nn arbitrariamente grande é chamado de Método dos Retângulos. Um outro método, com um erro bem menor, é o Método dos Trapézios, ou Integração Trapezoidal.

Nesse método, em vez de somar vários retângulos, cada um aproximando a área entre x_i1x\_{i-1} e x_ix\_i, usamos trapézios. Veja na Figura abaixo a comparação entre os dois métodos.

Figura 2(a): Integração por Retângulos.

Figura 2(a): Integração por Retângulos.

Figura 2(b): Integração Trapezoidal.

Figura 2(b): Integração Trapezoidal.

A implementação desse método é parecida com o dos retângulos. Começamos dividindo o intervalo de integração \[a,b\] em nn subintervalos de tal forma que Deltax=fracban\\Delta x = \\frac{b-a}{n}.

A área do trapézio é dada por: frac(B+b)cdoth2\\frac{(B+b)\\cdot h}{2} Em que BB e bb são as bases do trapézio e hh é a altura. No nosso caso (considere o ii-ésimo subintervalo), a "altura" do trapézio é Deltax\\Delta x, ao passo que as bases são f(x_i)f(x\_i) e f(x_i1)f(x\_{i-1}).

Observação: note que x_0=ax\_0 = a e x_n=bx\_n = b .

Podemos, então, tomar um nn arbitrariamente grande e teremos a integral aproximada:

abf(x)dxi=1n[f(xi)+f(xi1)]Δx2\int\limits_a^b {f(x)dx} \, \approx \, \sum\limits_{i=1}^n {\frac{[f(x_i) + f(x_{i-1})]\cdot \Delta x}{2}}

Como Deltax/2{\\Delta x}/{2} é uma constante, pode ser removido da soma.

abf(x)dxΔx2i=1n[f(xi)+f(xi1)]\int\limits_a^b {f(x)dx} \, \approx \, \frac{\Delta x}{2}\sum\limits_{i=1}^n {[f(x_i) + f(x_{i-1})]}

Então temos a equação final para o método dos trapézios. Basta, agora, implementá-lo.

Veja a implementação: