O método dos trapézios é utilizado para fazer a Integração numérica de funções. Esse método consiste em aproximar a função através de um polinômio de grau para então obter a área do gráfico da função aproximada.

Dada uma função , é possível aproximar sua integral definida em um intervalo através da seguinte definição:

com e .

Vale notar que esse método produz resultados exatos caso seja uma função linear. Caso contrário, o limitante superior para o erro da aproximação é dado pela seguinte expressão:

onde .

O método pode ser implementado em python de uma maneira relativamente simples:

import numpy as np
 
 
def trapezio(i, f):
    h = i[1] - i[0]
 
    return h * ((f(i[0]) + f(i[1])) / 2)
 
 
i = [0, 2]
f = lambda x: np.exp(x)
 
print(trapezio(i, f))

É possível ainda subdividir o intervalo de integração e aplicar o método para cada um dos subintervalos, gerando uma aproximação mais precisa principalmente no caso do intervalo de integração ser muito grande. Dessa forma, o método dos trapézios repetidos para subintervalos é definido por:

O limitante superior para o erro da aproximação é dado pela soma dos erros obtidos em cada subintervalo, dessa forma, para subintervalos:

onde .

O método dos trapézios repetidos pode ser implementado em python da seguinte forma:

import numpy as np
 
 
def trapezio(i, f, n):
    x, h = np.linspace(i[0], i[1], num=n + 1, retstep=True)
    sum = f(x[0]) + f(x[n])
 
    for i in range(1, n):
        sum = sum + (2 * f(x[i]))
 
    return (h / 2) * sum
 
 
i = [0, 6]
f = lambda x: np.cos(4 * x)
 
 
print(trapezio(i, f, 14))