Regras do Trapézio e de Simpson

Published on 2026-11-04·v1.0

Objetivos de Aprendizagem

  • Deduzir as regras do trapézio e de Simpson integrando um polinômio interpolador, e escrever suas formas compostas.
  • Enunciar cada termo de erro com sua hipótese: f∈C2[a,b]f\in C^2[a,b] para o trapézio, f∈C4[a,b]f\in C^4[a,b] para Simpson.
  • Explicar por que a regra de Simpson, construída sobre uma parábola, é exata para cúbicas.
  • Medir uma ordem de convergência a partir de uma tabela de erros e mostrá-la caindo num integrando sem as derivadas exigidas.
  • Escolher nn a partir de uma cota de erro e distinguir a cota do erro verdadeiro.
  • Dizer onde o arredondamento interrompe a convergência e quando uma regra de grau mais alto piora o resultado.

Contexto e Motivação

A lição the-definite-integral-and-riemann-sums construiu a regra do trapézio como média das somas à esquerda e à direita e observou sua taxa O(1/n2)O(1/n^2) numa tabela. Uma taxa observada não diz qual propriedade de ff é responsável por ela, nem o que fazer quando a função não tem primitiva e só há amostras disponíveis.

Esta lição chega à mesma regra por outro caminho: troque ff por um polinômio que a interpola e integre esse polinômio de forma exata. O erro de interpolação de polynomial-interpolation-lagrange-and-newton vira então um termo de erro exato, com uma derivada específica dentro dele. Essa derivada é a hipótese, e tirá-la é o que faz a ordem cair.

Teoria Central

Integre o interpolante

Seja pp o polinômio que interpola ff nos nós x0,…,xdx_0,\dots,x_d em [a,b][a,b]. Escrever pp na base de Lagrange dá

∫abf dx≈∫abp dx=∑i=0dwi f(xi),wi=∫abℓi(x) dx.\int_a^b f\,dx \approx \int_a^b p\,dx = \sum_{i=0}^{d} w_i\, f(x_i), \qquad w_i = \int_a^b \ell_i(x)\,dx.

Os pesos dependem só dos nós, então são calculados uma vez. Com H=b−aH = b-a e m=(a+b)/2m = (a+b)/2:

  • Grau 1, nós a,ba, b: w=H/2w = H/2 para cada nó, logo T=H2(f(a)+f(b))T = \frac{H}{2}\big(f(a)+f(b)\big).
  • Grau 2, nós a,m,ba, m, b: integrar as três parábolas da base dá H/6H/6, 4H/64H/6, H/6H/6, logo S=H6(f(a)+4f(m)+f(b))S = \frac{H}{6}\big(f(a)+4f(m)+f(b)\big).

O erro do trapézio

Se f∈C2[a,b]f\in C^2[a,b], para cada xx existe ξ(x)\xi(x) com f(x)−p(x)=12f′′(ξ(x)) (x−a)(x−b)f(x)-p(x) = \frac12 f''(\xi(x))\,(x-a)(x-b). O fator (x−a)(x−b)(x-a)(x-b) não troca de sinal em [a,b][a,b], então vale o teorema do valor médio para integrais com peso de sinal constante. Como ∫ab(x−a)(x−b) dx=−H3/6\int_a^b (x-a)(x-b)\,dx = -H^3/6,

∫abf dx−T=−H312 f′′(η),η∈[a,b].\int_a^b f\,dx - T = -\frac{H^3}{12}\,f''(\eta), \qquad \eta\in[a,b].

Divida [a,b][a,b] em nn painéis de largura h=(b−a)/nh=(b-a)/n e some os painéis. Como f′′f'' é contínua, a média dos nn valores f′′(ηi)f''(\eta_i) é ela mesma um valor de f′′f'', o que dá o resultado composto:

I−Tn=−(b−a)h212 f′′(ξ),Tn=h[12f0+f1+⋯+fn−1+12fn].I - T_n = -\frac{(b-a)h^2}{12}\,f''(\xi), \qquad T_n = h\Big[\tfrac12 f_0 + f_1 + \dots + f_{n-1} + \tfrac12 f_n\Big].

Para ff convexa isso diz que TnT_n superestima. Quando h→0h\to0, o valor médio tende à média de f′′f'', logo I−Tn≈−h212(f′(b)−f′(a))I-T_n \approx -\frac{h^2}{12}\big(f'(b)-f'(a)\big).

Simpson ganha um grau de brinde

O mesmo argumento emperra em Simpson. O fator (x−a)(x−m)(x−b)(x-a)(x-m)(x-b) troca de sinal em mm, e sua integral em [a,b][a,b] é 00 por simetria. Esse zero é uma boa notícia: significa que a regra integra toda cúbica de forma exata, um grau acima da parábola que a gerou. Seu grau de precisão é 3.

Para obter o erro, use uma cúbica que também coincida com f′(m)f'(m). Para f∈C4[a,b]f\in C^4[a,b],

f(x)−p3(x)=f(4)(ξ(x))24 (x−a)(x−m)2(x−b),f(x) - p_3(x) = \frac{f^{(4)}(\xi(x))}{24}\,(x-a)(x-m)^2(x-b),

e agora o fator mantém um sinal só. Sua integral é −H5/120-H^5/120, e ∫p3=S\int p_3 = S porque SS é exata para cúbicas e p3p_3 coincide com ff nos três nós. Daí I−S=−H52880f(4)(η)I - S = -\frac{H^5}{2880}f^{(4)}(\eta). Cada painel tem H=2hH=2h, então a regra composta exige nn par, e

I−Sn=−(b−a)h4180 f(4)(ξ),Sn=h3[f0+4f1+2f2+4f3+⋯+4fn−1+fn].I - S_n = -\frac{(b-a)h^4}{180}\,f^{(4)}(\xi), \qquad S_n = \frac{h}{3}\big[f_0 + 4f_1 + 2f_2 + 4f_3 + \dots + 4f_{n-1} + f_n\big].

As duas regras compostas usam n+1n+1 avaliações de ff:

plaintext
def trapezoid(f, a, b, n): x = np.linspace(a, b, n + 1); y = f(x); h = (b - a) / n return h * (y[0] / 2 + y[1:-1].sum() + y[-1] / 2) def simpson(f, a, b, n): # n par x = np.linspace(a, b, n + 1); y = f(x); h = (b - a) / n return h / 3 * (y[0] + y[-1] + 4 * y[1:-1:2].sum() + 2 * y[2:-1:2].sum())

Por que não um único polinômio de grau alto

Mais nós num só polinômio podem ajudar quando ff é muito suave: em exe^x sobre [0,1][0,1], Newton-Cotes de grau 8 tem erro 9,8×10−139{,}8\times10^{-13}, contra 2,3×10−62{,}3\times10^{-6} de Simpson nos mesmos nove nós. Em nós igualmente espaçados isso também pode falhar feio. Tome f(x)=1/(1+25x2)f(x)=1/(1+25x^2) em [−1,1][-1,1], onde I=25arctan⁡5I = \frac25\arctan 5. A regra fechada de Newton-Cotes de grau dd integra o interpolante em d+1d+1 nós equiespaçados. Seus pesos, em unidades do espaçamento, vêm de scipy.integrate.newton_cotes:

text
d erro de Newton-Cotes peso mais negativo Simpson composta, mesmos nós 4 7.46e-02 (nenhum) 1.93e-02 8 2.49e-01 -1.28 2.59e-02 12 6.12e-01 -16.7 9.00e-03 16 1.80e+00 -168 2.70e-03 20 5.92e+00 -1800 7.79e-04

É o fenômeno de Runge, agora integrado. Pesos negativos também amplificam o arredondamento de ff. Grau baixo em muitos painéis é o remédio usual.

Onde a ordem cai

As ordens 2 e 4 são promessas sob C2C^2 e C4C^4. Aqui elas foram medidas dobrando nn de 1024 para 2048, exceto nas duas últimas linhas, em que se ajustou uma reta por n=24,…,216n = 2^4,\dots,2^{16} porque os erros são erráticos:

text
integrando em [0,1] ordem T ordem S o que falha x^(1/2) 1.50 1.50 f' ilimitada em 0 x^(3/2) 2.00 2.50 f'' ilimitada em 0 x^(5/2) 2.00 3.49 f''' ilimitada em 0 x^(7/2) 2.00 3.99 f'''' ilimitada em 0 |x - 1/sqrt(2)| 2.02 1.83 quina degrau em 1/sqrt(2) 0.98 1.05 salto

Em x\sqrt x a vantagem de Simpson some: as duas regras têm ordem 3/23/2. A linha x3/2x^{3/2} mostra que as hipóteses são suficientes, não necessárias: f′′f'' é ilimitada, o teorema não diz nada e o trapézio mantém ordem 2. Numa quina, o remédio é dividir a integral ali. Com ∣x−14∣\lvert x-\tfrac14\rvert e nn múltiplo de 4 a quina é um nó e TnT_n é exata, porque ff é linear em todo painel.

A ordem também pode ser melhor que a prometida. Para f(x)=ecos⁡xf(x)=e^{\cos x} no período inteiro [0,2π][0,2\pi], um integrando suave e periódico:

text
n erro do trapézio erro de Simpson 8 1.25e-06 1.15e-02 16 1.78e-15 4.17e-07 32 1.78e-15 2.66e-15

As duas regras ficam muito à frente de h2h^2 e h4h^4, e o trapézio vence Simpson. A próxima lição, error-orders-and-adaptive-quadrature, explica por quê.

O arredondamento interrompe a convergência

Os termos de erro acima são só de truncamento. Rode a regra do trapézio em exe^x sobre [0,1][0,1] em float32, com uma soma acumulada simples:

text
n erro em float32 truncamento h^2(e-1)/12 16 5.591e-04 5.593e-04 256 2.182e-06 2.185e-06 1024 2.018e-07 1.366e-07 4096 5.594e-07 8.535e-09 65536 6.786e-07 3.334e-11 262144 7.474e-06 2.084e-12 1048576 3.066e-04 1.302e-13

Até n≈256n\approx 256 o truncamento domina. Depois de n≈2000n\approx 2000 o erro para de cair, e depois de 6553665536 ele cresce, porque o arredondamento acumulado da soma (veja sources-of-error-truncation-rounding-propagation) ultrapassa o truncamento, que continua encolhendo. Em float64 o mesmo efeito fica bem mais abaixo. Simpson nesta integral tem erro 8,66×10−158{,}66\times10^{-15} em n=1024n=1024, que ainda é truncamento (previsto: 8,68×10−158{,}68\times10^{-15}), e o arredondamento aparece em n=2048n=2048: 6,66×10−166{,}66\times10^{-16} contra 5,43×10−165{,}43\times10^{-16} previstos.

Exemplos Resolvidos

Exemplo 1: exata para cúbicas, não para quárticas

Tome f(x)=x3−2x+1f(x)=x^3-2x+1 em [0,2][0,2] com um painel de Simpson: f(0)=1f(0)=1, f(1)=0f(1)=0, f(2)=5f(2)=5, logo S=26(1+0+5)=2S = \frac{2}{6}(1+0+5) = 2, e a integral exata é 22. Para f(x)=x4f(x)=x^4 em [0,1][0,1] com n=2n=2, h=12h=\tfrac12: S2=16(0+416+1)=524S_2 = \frac{1}{6}\big(0+\tfrac{4}{16}+1\big) = \tfrac{5}{24} contra 15\tfrac15, então I−S2=−1120I-S_2 = -\tfrac{1}{120}. A fórmula do erro dá −1⋅(1/2)4180⋅24=−1120-\frac{1\cdot(1/2)^4}{180}\cdot 24 = -\tfrac{1}{120}, exatamente, porque f(4)f^{(4)} é constante.

Exemplo 2: medindo as duas ordens em exe^x

Para I=∫01ex dx=e−1I=\int_0^1 e^x\,dx = e-1, um script imprime os erros, a razão ao dobrar nn, a ordem log⁡2(raza˜o)\log_2(\text{razão}) e os termos principais previstos h2(e−1)/12h^2(e-1)/12 e h4(e−1)/180h^4(e-1)/180.

text
n |I-T_n| razão ordem previsto |I-S_n| razão ordem previsto 4 8.940e-03 8.949e-03 3.701e-05 3.729e-05 8 2.237e-03 3.997 2.00 2.237e-03 2.326e-06 15.91 3.99 2.331e-06 16 5.593e-04 3.999 2.00 5.593e-04 1.456e-07 15.98 4.00 1.457e-07 32 1.398e-04 4.000 2.00 1.398e-04 9.103e-09 15.99 4.00 9.104e-09 64 3.496e-05 4.000 2.00 3.496e-05 5.690e-10 16.00 4.00 5.690e-10 128 8.740e-06 4.000 2.00 8.740e-06 3.556e-11 16.00 4.00 3.556e-11

Tanto Tn−IT_n - I quanto Sn−IS_n - I são positivos aqui, como os sinais dos termos de erro preveem para f′′>0f''>0 e f(4)>0f^{(4)}>0.

Exemplo 3: escolhendo nn por uma cota

O integrando de ∫01e−x2dx\int_0^1 e^{-x^2}dx não tem primitiva elementar; o valor é π2erf⁡(1)≈0,746824\frac{\sqrt\pi}{2}\operatorname{erf}(1) \approx 0{,}746824. Busque erro 10−610^{-6}. Aqui f′′=(4x2−2)e−x2f''=(4x^2-2)e^{-x^2} e f(4)=(16x4−48x2+12)e−x2f^{(4)}=(16x^4-48x^2+12)e^{-x^2}, cujos valores absolutos em [0,1][0,1] têm máximo em x=0x=0, valendo 22 e 1212. Assim:

  • Trapézio: 212n2≤10−6\frac{2}{12n^2}\le10^{-6} exige n≥409n\ge 409.
  • Simpson: 12180n4≤10−6\frac{12}{180n^4}\le10^{-6} exige n≥16,07n\ge16{,}07, então o primeiro valor par é n=18n=18.

São 410 avaliações contra 19. As duas cotas são seguras e pessimistas: em n=409n=409 o erro do trapézio é 3,67×10−73{,}67\times10^{-7}, e em n=18n=18 o de Simpson é 7,78×10−87{,}78\times10^{-8}. Varrendo nn com o valor exato, a meta é atingida primeiro em n=248n=248 no trapézio (9,97×10−79{,}97\times10^{-7}) e em n=10n=10 em Simpson (8,15×10−78{,}15\times10^{-7}).

Exemplo 4: onde o trapézio é exato e Simpson erra

A curva ROC de evaluation-metrics-precision-recall-and-roc, construída a partir de uma amostra finita com escores distintos, é uma poligonal. Ordene dez exemplos por escore, com rótulos 1,1,0,1,1,0,1,0,0,01,1,0,1,1,0,1,0,0,0 (cinco positivos, cinco negativos). A regra do trapézio pelos pontos da ROC dá AUC =0,84=0{,}84, que é igual à fração de pares positivo-negativo ordenados corretamente, calculada em separado. Ela é exata porque a regra integra cada segmento de reta sem erro. Passar os mesmos pontos a scipy.integrate.simpson devolveu 0,680{,}68 sem nenhum aviso (SciPy 1.15.3): a curva tem segmentos verticais, então xx se repete, e uma parábola por esses pontos não significa nada. A regra de ordem mais alta é a ferramenta errada para dados que não são suaves.

Exemplo 5: conferindo com as bibliotecas

Em exe^x com n=10n=10 e n=100n=100, as duas funções acima concordam com scipy.integrate.trapezoid e scipy.integrate.simpson dentro de 4,5×10−164{,}5\times10^{-16}.

Livro vs hoje: os livros dizem que nn deve ser par, o que significa um número ímpar de amostras. scipy.integrate.simpson também aceita um número par de amostras e trata o intervalo que sobra com uma correção. Com 12 amostras a ordem fica perto de 4 (medida: 3,963{,}96), mas a exatidão para cúbicas some: em x3x^3 o erro é 1,7×10−51{,}7\times10^{-5} com 12 amostras e 00 com 11. Código antigo chama scipy.integrate.trapz e simps, que não existem mais no SciPy, e numpy.trapz, que foi depreciada no NumPy 2.0 e removida no 2.4 em favor de numpy.trapezoid.

Equívocos Comuns e Armadilhas

  • "Simpson é sempre mais precisa que o trapézio." Ela tem ordem maior em integrandos C4C^4. Em x\sqrt x as ordens empatam, num integrando suave e periódico o trapézio vence, e num degrau em x=13x=\tfrac13 com n=64n=64 o erro de Simpson (5,2×10−35{,}2\times10^{-3}) é o dobro do erro do trapézio (2,6×10−32{,}6\times10^{-3}).
  • "Uma parábola só pode ser exata para parábolas." Simpson é exata para cúbicas, por simetria.
  • "Dobrar nn divide o erro por 16." Só sob C4C^4 e na faixa assintótica. Em x\sqrt x o fator é 2,832{,}83, e em float32 pode ficar abaixo de 1.
  • "Grau maior significa mais precisão." Na função de Runge, grau 20 em nós equiespaçados tem erro 5,925{,}92.
  • "A cota é o erro." É uma garantia, aqui cerca de 2,72{,}7 vezes maior para o trapézio em n=409n=409.
  • "Simpson precisa de um número par de pontos." Precisa de um número par de painéis, logo um número ímpar de pontos.

Resumo

Integrar um interpolante de grau 1 ou 2 dá as regras do trapézio e de Simpson. Para f∈C2f\in C^2 o erro do trapézio composto é −(b−a)h2f′′(ξ)/12-(b-a)h^2 f''(\xi)/12, e para f∈C4f\in C^4 o de Simpson composta é −(b−a)h4f(4)(ξ)/180-(b-a)h^4 f^{(4)}(\xi)/180, com nn par. Simpson ganha um grau porque o termo cúbico integra zero. Essas ordens foram medidas em exe^x como 2,002{,}00 e 4,004{,}00, e caem em integrandos sem as derivadas (1,501{,}50 para ambas em x\sqrt x, cerca de 1 num salto). Elas também podem ser superadas, como faz o trapézio em integrandos suaves e periódicos. Subir o grau de uma única regra equiespaçada diverge na função de Runge, então grau baixo em muitos painéis é a escolha usual. O arredondamento impõe um piso que o float32 mostra com clareza. Um nn fixo ainda exige uma cota de derivada que raramente se tem, e esse é o problema que a próxima lição resolve.

Documentation Links