Integração numérica
Regra dos trapézios, implementação em Python e verificação do erro.
#1 Aproximando uma integral
Considere uma função suave
A expressão
#2 Implementação
def trapezoid(f, a, b, n):
if not isinstance(n, int) or isinstance(n, bool) or n < 1:
raise ValueError("n must be a positive integer")
h = (b - a) / n
interior = sum(f(a + i * h) for i in range(1, n))
return h * (0.5 * f(a) + interior + 0.5 * f(b))
approximation = trapezoid(lambda x: x * x, 0.0, 1.0, 4)
print(approximation) # 0.34375
#3 Um caso verificável
Para
Assim, duplicar
| Subintervalos |
Erro |
|---|---|
| 1 | |
| 2 | |
| 4 | |
| 8 |
Use Tabela 1 para conferir os resultados do notebook complementar.
Carregando gráfico interativo…
Em Figura 1, passe o cursor sobre os dados para inspecionar os
valores ou use as ferramentas do gráfico para ampliar uma região. A área sob
os segmentos de reta corresponde a
#4 Exercícios
- Implemente o método e verifique o erro para
. - Calcule a razão entre os erros de duas malhas consecutivas.
- Troque o integrando por
. Explique o resultado antes de executar.
Conferência do terceiro exercício
A regra dos trapézios integra funções afins exatamente em aritmética exata.
Para
Volte ao índice de aulas ou consulte o programa.