Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Integração numérica em Python
Prof. David Fernandes Cruz Moura
Descrição
Emprego de modelos matemáticos para resolução de problemas
clássicos em Engenharia por meio de integração numérica.
Propósito
A aplicação de modelos matemáticos para resolução de integrais é uma
ferramenta fundamental para a compreensão de situações clássicas em
Engenharia, como a análise de ondas de choque em explosões, a análise
de resistência e tenacidade de materiais, taxas de geração de gás
carbônico e de consumo de oxigênio, entre outras situações-problema
da Engenharia.
Preparação
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
1 of 70 25/09/2024, 12:33
A aplicação de modelos matemáticos para resolução de integrais é uma
ferramenta fundamental para a compreensão de situações clássicas em
Engenharia, como a análise de ondas de choque em explosões, a análise
de resistência e tenacidade de materiais, taxas de geração de gás
carbônico e de consumo de oxigênio, entre outras situações-problema
da Engenharia.
Objetivos
Módulo 1
Métodos de interpolação (Newton-Cotes:
retângulos)
Aplicar o método de interpolação de Newton-Cotes, Método dos
Retângulos, por meio da implementação computacional em Python.
Módulo 2
Métodos de interpolação (Newton-Cotes:
trapézios)
Aplicar o método de interpolação de Newton-Cotes, Método dos
Trapézios, por meio da implementação computacional em Python.
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
2 of 70 25/09/2024, 12:33
Módulo 3
Métodos de interpolação (Newton-Cotes:
Regras de Simpson)
Aplicar o método de interpolação de Newton-Cotes, Método de
Simpson, por meio da implementação computacional em Python.
Módulo 4
Métodos de extrapolação (Romberg)
Aplicar o método de extrapolação de Romberg, por meio da
implementação computacional em Python.
Neste conteúdo, veremos formas de emprego de modelos
matemáticos para solucionar um problema clássico em Engenharia
– a resolução numérica de integrais definidas.
São modelos matemáticos para resolução de integrais definidas.
Ondas de choque em explosões, análise de resistência e
tenacidade de materiais, taxas de geração de gás carbônico e de
consumo de oxigênio são alguns problemas do contexto da
Engenharia, nos quais podem ser aplicados tais modelos.
Dessa maneira, conheceremos os métodos mais tradicionais de
Introdução
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
3 of 70 25/09/2024, 12:33
1 - Métodos de interpolação (Newton-Cotes: retângulos)
Ao �nal deste módulo, você será capaz de aplicar o método de interpolação de Newton-Cotes,
Método dos Retângulos, por meio da implementação computacional em Python.
Dessa maneira, conheceremos os métodos mais tradicionais de
resolução de integrais definidas com o emprego de técnicas
numéricas. Inicialmente, estudaremos os métodos de interpolação
numérica para integração, empregando diversas variantes do
método de Newton-Cotes (retângulos, trapézios e de Simpson). Em
seguida, estudaremos o método de extrapolação numérica, como
foco na técnica de Romberg. Em ambos os casos, aplicaremos os
métodos estudados, por meio da implementação computacional de
programas em Python.
Vamos lá?
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
4 of 70 25/09/2024, 12:33
Introdução ao Método dos Retângulos
Segundo Moura (2017), a integral definida apresenta a seguinte notação:
Assim, temos que o resultado da expressão indicada é equivalente à
área definida sob a curva f(x) no plano cartesiano, entre os pontos a e b.
Veja a região hachurada da imagem:
Gráfico: Integral Definida de f(x) no intervalo entre a e b.
Extraído de: Moura, 2017.
Para prosseguirmos, vamos relembrar o conceito de
integral?
Pois bem: a integral definida e sua aplicação são muito úteis em
diversas áreas, como Física, Engenharia e Economia, entre outras.
No entanto, o cálculo matemático da integral definida nem sempre é
fácil. Por vezes, a função é difícil de integrar ou de impossível
∫
b
a
f(x)dx
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
5 of 70 25/09/2024, 12:33
fácil. Por vezes, a função é difícil de integrar ou de impossível
integração. Mesmo quando o resultado é conhecido, há situações em
que o cálculo somente pode ser obtido de modo aproximado.
Resumindo
Existem diversas situações que mostram que nem sempre é possível
calcular a integral de uma função f(x) em um intervalo [a,b]. Nesses
casos, aplicam-se métodos numéricos de integração – os denominados
métodos de integração numérica.
Qual é o princípio fundamental para esses métodos de
integração numérica?
A resposta é simples: a lembrança de que a integral de uma função
equivale a uma área. Com base nesse princípio, foram criados diversos
métodos que dividem a área a ser calculada em vários elementos, de
pequena dimensão.
Comentário
Conforme exposto em Moura (2017), a soma das pequenas partes
resulta na área total equivalente à integral que se deseja calcular – a
menos de erros de aproximação inerentes ao modelo utilizado. Quanto
menor for o intervalo de integração de cada uma dessas partes, menor o
erro; no entanto, isso implica em aumento da quantidade necessária de
operações – ou seja, um aumento da ordem de complexidade do
algoritmo.
Logo, temos um dilema: complexidade ou precisão? Para resolver a
integral e permitir que você chegue a uma conclusão, temos diversos
métodos em que a função f(x) passa a ser aproximada por funções
polinomiais de grau cada vez maior: 0 (função constante), 1 (função
linear), 2 (função quadrática) e assim por diante.
De acordo com Moura (2017), o método básico envolvido nessa
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
6 of 70 25/09/2024, 12:33
aproximação é a denominada quadratura numérica. Esse método
consiste em aproximar a integral definida por uma expressão do tipo:
,
Em que os valores são reais (peso da função) e
.
Atenção!
É importante sabermos desde já que o emprego de funções de maior
grau acaba promovendo melhor captura do comportamento da função a
ser integrada. Dessa maneira, conseguimos reduzir a quantidade de
operações matemáticas requeridas, bem como os erros de aproximação
já citados.
Método dos Retângulos
O método que veremos neste módulo é o Método dos Retângulos.
Nesse método, o princípio básico para fazer a aproximação da integral
definida por é dividir o intervalo de integração [a,b] em h
partes iguais.
Dessa maneira, a integral é calculada de acordo com a expressão
apresentada a seguir:
Método dos Retângulos
∑
n
i=1
α
i
f (x
i
)
α
i
∀x
i
∈ R ⇒ x
i
∈ [a, b]
∫
b
a
f(x)dx
n
∑
i=1
α
i
f (x
i
) = h
n
∑
i=1
f (
x
i
+ x
i+1
2
)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
7 of 70 25/09/2024, 12:33
Veja só como funciona essa técnica, analisando a imagem apresentada
a seguir:
Gráfico: Integral como soma de 5 subáreas (retângulos azuis) – Método dos Retângulos.
Extraído de: Moura, 2017.
Nesse exemplo, nosso objetivo é calcular a integral dada por
 (em que f(x) é a linha indicada em
vermelho).
Para fazer essa operação, dividimos o intervalo de integração [2,3] em 5
intervalos iguais, indicados na cor azul. Naturalmente, como o intervalo
de integração tem tamanho 1, cada intervalo apresenta dimensão h,
dada por:
Em cada um dos 5 intervalos, adota-se como referência o valor da
função no ponto médio de cada intervalo, em que o dito ponto médio é
dado por .
Atenção!
∫
3
2
f(x)dx = ∫
3
2
x
2
+ cos(x)dx
h =
3 − 2
5
= 0, 2
x
i
+x
i+1
2
=
x
i
+(x
i
+h)
2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...8 of 70 25/09/2024, 12:33
Repare que cada ponto corresponde ao valor de seu antecessor
, adicionado do tamanho de cada intervalo (h).
Dessa maneira, percebemos que os cálculos ficam como está exposto
na tabela a seguir:
Intervalo Limite inferior Limite superior
1 2 2.2
2 2,2 2,4
3 2,4 2,6
4 2,6 2,8
5 2,8 3,0
Feitos esses cálculos, conseguimos chegar a uma aproximação para a
integral de , dada por:
Comentário
Como já era esperado, o resultado obtido apresenta uma diferença em
relação ao valor exato da integral proposta que conseguimos ao realizar
(x
i+1
)
(x
i
)
f(x) = x
2
+ cos(x)
n
∑
i=1
α
i
f (x
i
) = h
n
∑
i=1
f (
x
i
+ x
i+1
2
) = 0, 2
5
∑
i=1
f (
(2 + i ∗ 0, 2) + [2 + (i − 1) ∗
2
→ 0, 2 ∗ 3, 91 + 0, 2 ∗ 4, 62 + 0, 2 ∗ 5, 45 + 0, 2 ∗ 6, 39 + 0, 2 ∗ 7, 44
= 0, 2 ∗ (3, 91 + 4, 62 + 5, 45 + 6, 39 + 7, 44) = 5, 562
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
9 of 70 25/09/2024, 12:33
relação ao valor exato da integral proposta que conseguimos ao realizar
a operação dita analítica (5,5652).
Continuando nosso estudo, aplicaremos os conhecimentos obtidos na
resolução de algumas integrais, de acordo com os métodos aprendidos.
Vamos lá?
Para tal, vamos calcular a integral de , no intervalo de 0 a 1,
empregando o método dos retângulos. Como já vimos, a resolução do
problema de integração numérica em um intervalo definido requer que o
enunciado forneça alguns elementos importantes, como:
• A função a ser integrada;
• O valor inicial do intervalo de integração;
• O valor final do intervalo de integração;
• A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
• A função a ser integrada é ;
• O valor inicial do intervalo de integração é 0;
• O valor final do intervalo de integração é 1.
Quanto ao intervalo de integração, vamos fazer de algumas maneiras
diferentes, para que você veja o comportamento de cada método, com
5, 10 e 20 intervalos, considerando 2 casas decimais.
Assim, aplicando o Método dos Retângulos com 5 intervalos, temos:
X x2 – x + 2 f(x).Δx
0 2 0,4
0,2 1,84 0,37
x
2
− x + 2
f(x) = x
2
− x + 2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
10 of 70 25/09/2024, 12:33
0,4 1,76 0,35
0,6 1,76 0,35
0,8 1,84 0,37
Desse modo, fazendo a soma dos elementos na coluna da direita, temos
0,4 + 0,37 + 0,35 + 0,35 + 0,37 = 1,84.
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,2
0,1 1,91 0,19
0,2 1,84 0,18
0,3 1,79 0,18
0,4 1,76 0,18
0,5 1,75 0,17
0,6 1,76 0,18
0,7 1,79 0,18
0,8 1,84 0,18
0,9 1,91 0,19
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
11 of 70 25/09/2024, 12:33
Agora, fazendo a soma dos elementos na coluna da direita, temos: 0,2 +
0,19 + 0,18 + 0,18 + 0,18 + 0,17 + 0,18 + 0,18 + 0,18 + 0,19 = 1,83.
Por fim, ainda com o Método dos Retângulos, mas com 20 intervalos,
temos os valores intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,10
0,05 1,95 0,10
0,1 1,91 0,10
0,15 1,87 0,09
0,2 1,84 0,09
0,25 1,81 0,09
0,3 1,79 0,09
0,35 1,79 0,09
0,4 1,76 0,09
0,45 1,75 0,09
0,5 1,75 0,09
0,55 1,75 0,09
0,6 1,76 0,09
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
12 of 70 25/09/2024, 12:33
0,6 1,76 0,09
0,65 1,77 0,09
0,7 1,79 0,09
0,75 1,81 0,09
0,8 1,84 0,09
0,85 1,87 0,09
0,9 1,91 0,10
0,95 1,95 0,10
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos: 0,1 + 0,1 + 0,1 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 +
0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,1 + 0,1 +
0,1 = 1,83.
Prosseguindo na aplicação dos conhecimentos obtidos para resolução
numérica de integrais definidas, vamos calcular a integral de
 no intervalo de 0 a 1, empregando o Método dos
Retângulos.
Como já vimos, a resolução do problema de integração numérica em um
intervalo definido requer que o enunciado forneça alguns elementos
importantes, como:
1. A função a ser integrada;
2. O valor inicial do intervalo de integração;
3. O valor final do intervalo de integração;
4. A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
cos(x) − 3. sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
13 of 70 25/09/2024, 12:33
Neste exemplo, temos que:
1. A função a ser integrada é ;
2. O valor inicial do intervalo de integração é 0;
3. O valor final do intervalo de integração é 1.
Quanto ao intervalo de integração, vamos fazer de algumas maneiras
diferentes, para que você veja o comportamento de cada método, com
5, 10 e 20 intervalos, considerando 2 casas decimais.
Assim, aplicando o Método dos Retângulos com 5 intervalos, temos:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,2
0,2 0,38 0,08
0,4 -0,25 -0,05
0,6 -0,87 -0,17
0,8 -1,46 -0,29
Desse modo, fazendo a soma dos elementos na coluna da direita, temos
0,2 + 0,08 + (-0,05) + (-0,17) + (-0,29) = -0,24.
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,1
f(x) = cos(x) − 3. sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
14 of 70 25/09/2024, 12:33
0,1 0,70 0,07
0,2 0,38 0,04
0,3 0,07 0,01
0,4 -0,25 -0,02
0,5 -0,56 -0,06
0,6 -0,87 -0,09
0,7 -1,17 -0,12
0,8 -1,46 -0,15
0,9 -1,73 -0,17
Agora, fazendo a soma dos elementos na coluna da direita, temos: 0,1 +
0,07 + 0,04 + 0,01 + (-0,02) + (-0,06) + (-0,09) + (-0,12) + (-0,15) + (-0,17) =
-0,39.
Por fim, ainda com o Método dos Retângulos, mas com 20 intervalos,
temos os valores intermediários apresentados a seguir:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,05
0,05 0,85 0,04
0,1 0,70 0,03
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
15 of 70 25/09/2024, 12:33
0,15 0,54 0,03
0,2 0,38 0,02
0,25 0,23 0,01
0,3 0,07 0,00
0,35 -0,09 -0,00
0,4 -0,25 -0,01
0,45 -0,40 -0,02
0,5 -0,56 -0,03
0,55 -0,72 -0,04
0,6 -0,87 -0,04
0,65 -1,02 -0,05
0,7 -1,17 -0,06
0,75 -1,31 -0,07
0,8 -1,46 -0,07
0,85 -1,53 -0,08
0,9 -1,73 -0,09
0,95 -1,86 -0,09
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
16 of 70 25/09/2024, 12:33
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos: 0,05 + 0,04 + 0,03 + 0,03 + 0,02 + 0,01 + 0,00 + (-0,00) +
(-0,01) + (-0,02) + (-0,03) + (-0,04) + (-0,04) + (-0,05) + (-0,06) + (-0,07) +
(-0,07) + (-0,08) + (-0,09) + (-0,09) = -0,46.
Implementação do Método dos
Retângulos em Python
Vamos ver um exemplo de integração em Python? Agora, nós
calcularemos a integral da função no intervalo [2, 3]. Em Python,
podemos implementar o Método dos Retângulos para efetuar essa
aproximação da seguinte maneira:
Python 
x
2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
17 of 70 25/09/2024, 12:33
Resolução de exercícios com o
Python
Neste bate-papo, serão resolvidos exercícios com o método de
interpolação (Retângulos) utilizando o Python.

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
18 of 70 25/09/2024, 12:33
Falta pouco para atingir seus objetivos.
Vamos praticar alguns conceitos?
Questão 1
Calcule o valor de . Para tal, utilize o Método dos
Retângulos, dividindo o intervalo de integração em 4 partes:
∫
2
0
sen(x)dx
A 1,43101
B 1,53101
C 1,63101
D 1,73101
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
19 of 70 25/09/2024, 12:33
Parabéns! A alternativa A está correta.
Comoestudamos, a resolução de uma integral definida requer que
o enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 0;
- O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
4; e
- O método a ser utilizado é de Interpolação Numérica dos
Retângulos.
Aplicando os conceitos ensinados acerca desse método, temos:
N x Y
0 ¼ sen(¼) = 0,24740
1 ¾ sen(¾) = 0,68164
2 5/4 sen (5/4) = 0,94898
D 1,73101
E 1,83101
f(x) = sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
20 of 70 25/09/2024, 12:33
3 7/4 sen (7/4) = 0,98398
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y) e multiplicar por 1/2. Fazendo isso, obtemos I =
1,43101.
Questão 2
Calcule o valor de . Para tal, utilize o Método dos
Retângulos, dividindo o intervalo de integração em 4 partes:
Parabéns! A alternativa A está correta.
Estudamos que a resolução de uma integral definida requer alguns
∫
2
0
2. sen(x)dx
A 2,86202
B 2,76202
C 2,66202
D 2,56202
E 2,46202
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
21 of 70 25/09/2024, 12:33
Estudamos que a resolução de uma integral definida requer alguns
elementos importantes fornecidos pelo enunciado, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é
- O limite inferior de integração é 0;
- O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
4; e
- O método a ser utilizado é de Interpolação Numérica dos
Retângulos.
Aplicando os conceitos ensinados acerca desse método, temos:
N x Y
0 ¼ 2.sen (¼) = 0,49480
1 ¾ 2.sen (¾) = 1,36328
2 5/4
2. sen (5/4) =
1,89796
3 7/4
2. sen (7/4) =
1,96796
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y) e multiplicar por 1/2. Fazendo isso, obtemos I =
f(x) = 2 ⋅ sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
22 of 70 25/09/2024, 12:33
2,86202.
2 - Métodos de interpolação (Newton-Cotes: trapézios)
Ao �nal deste módulo, você será capaz de aplicar o método de interpolação de Newton-Cotes,
Método dos Trapézios, por meio da implementação computacional em Python.
Método dos Trapézios
Você pode se perguntar: tem como fazer melhor? Podemos fazer, pelo
menos, de duas formas diferentes: reduzindo o tamanho do intervalo h
ou aprimorando a função de aproximação – o que veremos a seguir,
com a apresentação do Método dos Trapézios.
Nesse método, a estratégia para fazer o cálculo da aproximação da
integral definida por também consiste em dividir do intervalo∫
b
f(x)dx
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
23 of 70 25/09/2024, 12:33
integral definida por também consiste em dividir do intervalo
de integração [a,b] em h partes iguais. Só que a expressão de cálculo
dentro de cada intervalo é diferente daquela que vimos para o método
anterior. Nesse caso, a integral é calculada de acordo com a expressão
apresentada a seguir:
Método dos Trapézios
Para entender melhor como isso é feito, veja a imagem apresentada a
seguir:
Gráfico: Integral da função f(x) (em vermelho) como soma de 4 subáreas (trapézios hachurados
em azul) – Método dos Trapézios.
Extraído de: Moura, 2017.
Para ajudar, vamos utilizar o mesmo exemplo que vimos no Método dos
Retângulos, calculando . Como
mencionado há pouco, vamos dividir o intervalo de integração [2,3] em 5
intervalos iguais de tamanho:
∫
a
f(x)dx
n
∑
i=1
α
i
f (x
i
) = h
n
∑
i=1
f (x
i
) + f (x
i+1
)
2
∫
3
2
f(x)dx = ∫
3
2
x
2
+ cos(x)dx
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
24 of 70 25/09/2024, 12:33
Aqui, vem a diferença: em cada um desses 5 intervalos, adota-se como
função de referência a média entre os valores da função nos pontos-
limite de cada intervalo, ou seja
.
Mais uma vez, note que cada ponto corresponde ao valor de seu
antecessor , adicionado do tamanho de cada intervalo (h).
Dessa maneira, neste segundo exemplo, temos a situação exposta na
tabela apresentada a seguir:
Intervalo Limite inferior Limite superior
1 2 2.2
2 2,2 2,4
3 2,4 2,6
4 2,6 2,8
5 2,8 3,0
Com isso, tem-se a seguinte aproximação para a integral de
, dada por:
h =
3 − 2
5
= 0, 2
f(x
i
)+f(x
i
+h)
2
(x
i+1
)
(x
i
)
f(x) = x
2
+ cos(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
25 of 70 25/09/2024, 12:33
Agora, vamos calcular novamente a integral de no intervalo
de 0 a 1, empregando o Método dos Trapézios. Como vimos, a
resolução do problema de integração numérica em um intervalo definido
requer que o enunciado forneça alguns elementos importantes, como:
• A função a ser integrada;
• O valor inicial do intervalo de integração;
• O valor final do intervalo de integração;
• A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
• A função a ser integrada é ;
• O valor inicial do intervalo de integração é 0;
• O valor final do intervalo de integração é 1.
Quanto ao intervalo de integração, vamos fazer de algumas maneiras
diferentes, para que você veja o comportamento de cada método, com
5, 10 e 20 intervalos, considerando 2 casas decimais.
Será que o comportamento observado no módulo anterior se mantém
com outras técnicas? Vamos agora aplicar o Método dos Trapézios com
5 intervalos:
X x2 – x + 2 f(x).Δx
n
∑
i=1
α
i
f (x
i
) =h
n
∑
i=1
f (x
i
) + f (x
i+1
)
2
= 0, 2
5
∑
i=1
f(2 + (i − 1) ∗ 0, 2) + f[2 + i ∗ 0, 2]
2
→ 0, 2 ∗ (3, 9177 + 4, 6371 + 5, 4629 + 6, 4004 + 7, 4539) = 5, 5744
x
2
− x + 2
f(x) = x
2
− x + 2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
26 of 70 25/09/2024, 12:33
0 2 0,40
0,2 1,84 0,37
0,4 1,76 0,35
0,6 1,76 0,35
0,8 1,84 0,37
Desse modo, fazendo a soma dos elementos na coluna da direita,
temos: 0,40 + 0,37 + 0,35 + 0,35 + 0,37 = 1,84.
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,2
0,1 1,91 0,19
0,2 1,84 0,18
0,3 1,79 0,18
0,4 1,76 0,18
0,5 1,75 0,18
0,6 1,76 0,18
0,7 1,79 0,18
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
27 of 70 25/09/2024, 12:33
0,7 1,79 0,18
0,8 1,84 0,19
0,9 1,91 0,20
Agora, fazendo a soma dos elementos na coluna da direita, temos: 0,2 +
0,19 + 0,18 + 0,18 + 0,18 + 0,18 + 0,18 + 0,18 + 0,19 + 0,20 = 1,83.
Por fim, ainda com o Método dos Trapézios, mas com 20 intervalos,
temos os valores intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,10
0,05 1,95 0,10
0,1 1,91 0,09
0,15 1,87 0,09
0,2 1,84 0,09
0,3 1,79 0,09
0,35 1,77 0,09
0,4 1,76 0,09
0,45 1,75 0,09
0,5 1,75 0,09
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
28 of 70 25/09/2024, 12:33
0,55 1,75 0,09
0,6 1,76 0,09
0,65 1,77 0,09
0,7 1,79 0,09
0,75 1,81 0,09
0,8 1,84 0,09
0,85 1,87 0,09
0,9 1,91 0,10
0,95 1,95 0,10
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos: 0,1 + 0,1 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 +
0,09 +0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,1 + 0,1 =
1,83.
Prosseguindo na aplicação dos conhecimentos obtidos
para resolução numérica de integrais definidas, vamos
calcular a integral de no intervalo
de 0 a 1, empregando o Método dos Trapézios.
Como vimos neste tema, a resolução do problema de integração
numérica em um intervalo definido requer que o enunciado forneça
alguns elementos importantes, como:
• A função a ser integrada;
cos(x) − 3. sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
29 of 70 25/09/2024, 12:33
• O valor inicial do intervalo de integração;
• O valor final do intervalo de integração;
• A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
• A função a ser integrada é ;
• O valor inicial do intervalo de integração é 0;
• O valor final do intervalo de integração é 1.
Quanto ao intervalo de integração, vamos fazer de algumas maneiras
diferentes, para que você veja o comportamento de cada método, com
5, 10 e 20 intervalos, considerando 2 casas decimais. Será que o
comportamento obtido no módulo anterior se mantém com outras
técnicas?
Vamos aplicar o Método dos Trapézios com 5 intervalos:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,14
0,2 0,38 0,01
0,4 -0,25 -0,11
0,6 -0,87 -0,23
0,8 -1,46 -0,34
Desse modo, fazendo a soma dos elementos na coluna da direita, temos
0,14 + 0,01 + (-0,11) + (-0,23) + (-0,34) = -0,54.
Já para o mesmo método, mas com 10 intervalos, temos os valores
f(x) = cos(x) − 3. sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
30 of 70 25/09/2024, 12:33
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,08
0,1 0,70 0,05
0,2 0,38 0,02
0,3 0,07 -0,01
0,4 -0,25 -0,04
0,5 -0,56 -0,07
0,6 -0,87 -0,10
0,7 -1,17 -0,13
0,8 -1,46 -0,16
0,9 -1,73 -0,19
Agora, fazendo a soma dos elementos na coluna da direita, temos: 0,08
+ 0,05 + 0,02 + (-0,01) + (-0,04) + (-0,07) + (-0,10) + (-0,13) + (-0,16) +
(-0,19) = -0,54.
Por fim, ainda com o Método dos Trapézios, mas com 20 intervalos,
temos os valores intermediários apresentados a seguir:
X cos(x) – 3.sen(x) f(x).Δx
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
31 of 70 25/09/2024, 12:33
0 1 0,05
0,05 0,85 0,04
0,1 0,70 0,03
0,15 0,54 0,02
0,2 0,38 0,02
0,25 0,23 0,01
0,3 0,07 -0,00
0,35 -0,09 -0,01
0,4 -0,25 -0,02
0,45 -0,40 -0,02
0,5 -0,56 -0,03
0,55 -0,72 -0,04
0,6 -0,87 -0,05
0,65 -1,02 -0,05
0,7 -1,17 -0,06
0,75 -1,31 -0,07
0,8 -1,46 -0,08
0,85 -1,53 -0,08
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
32 of 70 25/09/2024, 12:33
0,85 -1,53 -0,08
0,9 -1,73 -0,09
0,95 -1,86 -0,10
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos 0,05 + 0,04 + 0,03 + 0,02 + 0,02 + 0,01 + (-0,00) + (-0,01) +
(-0,02) + (-0,02) + (-0,03) + (-0,04) + (-0,05) + (-0,05) + (-0,06) + (-0,07) +
(-0,08) + (-0,08) + (-0,09) + (-0,10) = -0,54.
Implementação do Método dos
Trapézios em Python
Vamos ver um exemplo de integração em Python? Calcularemos a
integral da função no intervalo [2, 3]. Em Python, podemos
implementar o Método dos Trapézios para efetuar essa aproximação, de
modo que o cálculo pode ser feito da seguinte maneira:
Python 
x
2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
33 of 70 25/09/2024, 12:33
Resolução de exercícios com o
Python
Neste bate-papo, serão resolvidos exercícios com o método de
interpolação (Trapézios) utilizando o Python.

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
34 of 70 25/09/2024, 12:33
Falta pouco para atingir seus objetivos.
Vamos praticar alguns conceitos?
Questão 1
Calcule o valor de . Para tal, utilize o Método dos
Trapézios, dividindo o intervalo de integração em 8 partes:
∫
2
1
cos(x)dx
A 0,0677
B 0,0777
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
35 of 70 25/09/2024, 12:33
Parabéns! A alternativa A está correta.
Como vimos, a resolução de uma integral definida requer que o
enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 1;
- O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
8; e
- O método a ser utilizado é de Interpolação Numérica dos
Trapézios.
Aplicando os conceitos ensinados acerca desse método, temos:
n X Y
B 0,0777
C 0,0877
D 0,09771
E 0,0577
f(x) = cos(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
36 of 70 25/09/2024, 12:33
n X Y
0 1 cos (1) = 0,54030
1 9/8
2. cos (9/8) =
0,86235
2 5/4
2. cos (5/4) =
0,63064
3 11/8
2. cos (11/8) =
0,38910
4 3/2
2. cos (3/2) =
0,14147
5 13/8
2. cos (13/8) = -
0,10835
6 7/4
2. cos (7/4) = -
0,35649
7 15/8
2. cos (15/8) = -
0,59907
8 2 cos (2) = - 0,41615
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y) e multiplicar por 1/16. Fazendo isso, obtemos I =
0,06774.
Questão 2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
37 of 70 25/09/2024, 12:33
Calcule o valor de . Para tal, utilize o Método dos
Trapézios, dividindo o intervalo de integração em 8 partes:
Parabéns! A alternativa A está correta.
Como estudamos, a resolução de uma integral definida requer que
o enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é
;
- O limite inferior de integração é 1;
- O limite superior de integração é 2;
∫
2
1
2. cos(x)dx
A 0,13547
B 0,15547
C 0,11547
D 0,17547
E 0,19547
f(x) = 2. cos(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
38 of 70 25/09/2024, 12:33
O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
8; e
- O método a ser utilizado é de Interpolação Numérica dos
Trapézios.
Aplicando os conceitos ensinados acerca desse método, temos:
n X Y
0 1 [2. cos (1)] = 1,0806
1 9/8
2. [2. cos (9/8)] =
1,7247
2 5/4
2. [2. cos (5/4)] =
1,26128
3 11/8
2. [2. cos (11/8)] =
0,7782
4 3/2
2. [2. cos (3/2)] =
0,28294
5 13/8
2. [2. cos (13/8)] = -
0,2167
6 7/4
2. [2. cos (7/4)] = -
0,72198
7 15/8
2. [2. cos (15/8)] = -
1,19814
8 2
[2. cos (2)] = -
0,8323
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
39 of 70 25/09/2024, 12:33
0,8323
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y) e multiplicar por 1/16. Fazendo isso, obtemos I =
0,13547.
3 - Métodos de interpolação (Newton-Cotes: regras de
Simpson)
Ao �nal deste módulo, você será capaz de aplicar o método de interpolação de Newton-Cotes,
Método de Simpson, por meio da implementação computacional em Python.
Método de Simpson
Como imaginávamos, o resultado obtido ainda apresenta uma diferença
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
40 of 70 25/09/2024, 12:33
Como imaginávamos, o resultado obtido ainda apresentauma diferença
em relação ao valor exato da integral proposta (5,5652), mas a diferença
foi reduzida.
Mesmo assim, o resultado pode ser melhor: podemos reduzir o tamanho
do intervalo h ou aprimorar a função de aproximação, empregando o
denominado Método de Simpson para n = 3.
No Método de Simpson para n = 3, como nos métodos
anteriores, o princípio básico para calcular 
consiste em dividir o intervalo de integração [a,b] em h
partes iguais.
Assim, a integral é calculada de acordo com a expressão apresentada a
seguir:
Vamos ver qual é o efeito dessa modificação?
Mais uma vez utilizando o exemplo anterior, considere o cálculo de
. Como nos demais casos, dividimos o
intervalo de integração [2,3] em 5 intervalos iguais de tamanho:
Conforme exposto em Moura (2017), em cada um desses 5 intervalos,
adota-se como referência uma aproximação quadrática entre os valores
da função nos pontos-limite de cada intervalo, considerando-se como
ponto focal da parábola o ponto médio do intervalo, ou seja:
∫
b
a
f(x)dx
n
∑
i=1
α
i
f (x
i
) = h
n
∑
i=1
f (x
i
) + 4f(y) + f (x
i+1
)
6
,  onde y =
x
i
+ x
i+1
2
∫
3
2
f(x)dx = ∫
3
2
x
2
+ cos(x)dx
h =
3 − 2
5
= 0, 2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
41 of 70 25/09/2024, 12:33
ponto focal da parábola o ponto médio do intervalo, ou seja:
De igual modo ao que fizemos nos casos anteriores, cada ponto 
equivale ao valor de seu antecessor ( ), adicionado do tamanho de
cada intervalo (h). Vamos ver como ficam os cálculos neste terceiro
caso?
Veja a tabela apresentada a seguir:
Intervalo Limite inferior Limite superior
1 2 2,2
2 2,2 2,4
3 2,4 2,6
4 2,6 2,8
5 2,8 3,0
Com isso, tem-se a seguinte aproximação para a integral de
, com resultado igual a 5,5652. Eis os cálculos:
f (x
i
) + 4f(y) + f (x
i+1
)
6
,  onde y =
x
i
+ x
i+1
2
(x
i+1
)
(x
i
)
f(x) = x
2
+ cos(x)
h
n
∑
i=1
f (x
i
) + 4f(y) + f (x
i+1
)
6
=0, 2
5
∑
i=1
f(a + (i − 1)h) + 4f(y) + f(a + ih)
6
,  on
=
(a + (i − 1)h) + (a + ih)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
42 of 70 25/09/2024, 12:33
0,2
Como você pode ver, o resultado alcançado é equivalente ao valor exato
da integral proposta (5,5652) – era de se esperar que nós
encontrássemos uma aproximação melhor do que a oferecida pelos
métodos anteriores, mas nem sempre se chegará a um resultado exato
com tão poucos intervalos.
Atenção!
Já tratamos disso anteriormente, mas não custa repetir: podemos
encontrar uma aproximação ainda melhor, reduzindo o tamanho do
intervalo h ou aprimorando a função de aproximação – a partir de
funções cúbicas, quárticas ou de ordem superior.
Para concluir, aplicaremos o Método de Simpson para calcular a integral
de no intervalo de 0 a 1. Como vimos, a resolução do
problema de integração numérica em um intervalo definido requer que o
enunciado forneça alguns elementos importantes, como:
• A função a ser integrada;
• O valor inicial do intervalo de integração;
• O valor final do intervalo de integração;
• A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
• A função a ser integrada é ;
• O valor inicial do intervalo de integração é 0;
O valor final do intervalo de integração é 1
=
2
∗
f(2) + 4f(2, 1) + 2f(2, 2) + 4f(2, 3) + 2f(2, 4) + 4f(2, 5) + 2f(2, 6) + 4f(2, 7)
6
→= 5, 5652
x
2
− x + 2
f(x) = x
2
− x + 2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
43 of 70 25/09/2024, 12:33
• O valor final do intervalo de integração é 1.
Quanto ao intervalo de integração, vamos fazer de algumas maneiras
diferentes, para que você veja o comportamento de cada método, com
5, 10 e 20 intervalos, considerando 2 casas decimais.
Como feito nos casos anteriores, vamos começar com 5 intervalos:
X x2 – x + 2 f(x).Δx
0 2 0,38
0,2 1,84 0,36
0,4 1,76 0,35
0,6 1,76 0,36
0,8 1,84 0,38
Desse modo, fazendo a soma dos elementos na coluna da direita, temos
0,38 + 0,36 + 0,35 + 0,36 + 0,38 = 1,83.
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,2
0,1 1,91 0,19
0,2 1,84 0,18
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
44 of 70 25/09/2024, 12:33
0,2 1,84 0,18
0,3 1,79 0,18
0,4 1,76 0,18
0,5 1,75 0,18
0,6 1,76 0,18
0,7 1,79 0,18
0,8 1,84 0,19
0,9 1,91 0,20
Agora, fazendo a soma dos elementos na coluna da direita, temos 0,2 +
0,19 + 0,18 + 0,18 + 0,18 + 0,18 + 0,18 + 0,18 + 0,19 + 0,20 = 1,83.
Por fim, ainda com o Método de Simpson, mas com 20 intervalos, temos
os valores intermediários apresentados a seguir:
X x2 – x + 2 f(x).Δx
0 2 0,10
0,05 1,95 0,10
0,1 1,91 0,09
0,15 1,87 0,09
0,2 1,84 0,09
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
45 of 70 25/09/2024, 12:33
0,25 1,81 0,09
0,3 1,79 0,09
0,35 1,77 0,09
0,4 1,76 0,09
0,45 1,75 0,09
0,5 1,75 0,09
0,55 1,75 0,09
0,6 1,76 0,09
0,65 1,77 0,09
0,7 1,79 0,09
0,75 1,81 0,09
0,8 1,84 0,09
0,85 1,87 0,09
0,9 1,91 0,10
0,95 1,95 0,10
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos: 0,1 + 0,1 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 +
0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,09 + 0,1 + 0,1 =
1,83.
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
46 of 70 25/09/2024, 12:33
Prosseguindo na aplicação dos conhecimentos obtidos para resolução
numérica de integrais definidas, vamos calcular a integral de cos(x) – 3.
sen(x) no intervalo de 0 a 1, agora empregando o Método de Simpson.
Como vimos, a resolução do problema de integração numérica em um
intervalo definido requer que o enunciado forneça alguns elementos
importantes, como:
• A função a ser integrada;
• O valor inicial do intervalo de integração;
• O valor final do intervalo de integração;
• A quantidade de intervalos (ou o tamanho de cada intervalo).
Neste exemplo, temos que:
• A função a ser integrada é ;
• O valor inicial do intervalo de integração é 0;
• O valor final do intervalo de integração é 1.
Vamos agora aplicar o Método de Simpson. Como nos casos anteriores,
vamos começar com 5 intervalos:
X cos(x) – 3.sen(x) f(x).Δx
1 0,14
0,2 0,38 0,01
0,4 -0,25 -0,11
0,6 -0,87 -0,23
0,8 -1,46 -0,35
f(x) = cos(x) − 3. sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
47 of 70 25/09/2024, 12:33
Desse modo, fazendo a soma dos elementos na coluna da direita,
temos: 0,14 + 0,01 + (-0,11) + (-0,23) + (-0,35) = -0,54.
Já para o mesmo método, mas com 10 intervalos, temos os valores
intermediários apresentados a seguir:
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,08
0,1 0,70 0,05
0,2 0,38 0,02
0,3 0,07 -0,01
0,4 -0,25 -0,04
0,5 -0,56 -0,07
0,6 -0,87 -0,10
0,7 -1,17 -0,13
0,8 -1,46 -0,16
0,9 -1,73 -0,19
Fazendo a soma dos elementos na coluna da direita, temos: 0,08 + 0,05
+ 0,02 + (-0,01) + (-0,04) + (-0,07) + (-0,10) + (-0,13) + (-0,16) + (-0,19) =
-0,54.
Por fim, ainda com o Método de Simpson, mas com 20 intervalos, temos
os valores intermediários apresentados a seguir:
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
48 of 70 25/09/2024, 12:33
X cos(x) – 3.sen(x) f(x).Δx
0 1 0,05
0,05 0,85 0,04
0,1 0,70 0,03
0,15 0,54 0,02
0,2 0,38 0,02
0,25 0,23 0,01
0,3 0,07 -0,00
0,35 -0,09 -0,01
0,4 -0,25 -0,02
0,45 -0,40 -0,02
0,5 -0,56 -0,03
0,55 -0,72 -0,04
0,6 -0,87 -0,05
0,65 -1,02 -0,05
0,7 -1,17 -0,06
0,75 -1,31 -0,07
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
49 of 70 25/09/2024, 12:33
0,8 -1,46 -0,080,85 -1,53 -0,08
0,9 -1,73 -0,09
0,95 -1,86 -0,10
Com essa configuração, fazendo a soma dos elementos na coluna da
direita, temos 0.05 + 0.04 + 0.03 + 0.02 + 0.02 + 0.01 + (-0.00) + (-0.01) +
(-0.02) + (-0.02) + (-0.03) + (-0.04) + (-0.05) + (-0.05) + (-0.06) + (-0.07) +
(-0.08) + (-0.08) + (-0.09) + (-0.10) = -0,54.
Implementação do Método de
Simpson em Python
Vamos ver um exemplo de integração em Python? Calcularemos a
integral da função no intervalo [2, 3]. Em Python, podemos
implementar o Método de Simpson para efetuar essa aproximação, de
modo que o cálculo pode ser feito da seguinte maneira:
Python 
x
2
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
50 of 70 25/09/2024, 12:33
Resolução de exercícios com o
Python
Neste bate-papo, serão resolvidos os exercícios com o método de
interpolação (Newton-Cotes) utilizando o Python.

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
51 of 70 25/09/2024, 12:33
Falta pouco para atingir seus objetivos.
Vamos praticar alguns conceitos?
Questão 1
Calcule o valor de . Para tal, utilize o Método de
Simpson, dividindo o intervalo de integração em 4 partes:
∫
2
0
sen(x)dx
A 1,42
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
52 of 70 25/09/2024, 12:33
Parabéns! A alternativa A está correta.
Como estudamos, a resolução de uma integral definida requer que
o enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada;
- O limite inferior de integração; o limite superior de integração;
a quantidade de intervalos (ou o tamanho de cada intervalo); e
o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 0;
- O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
4;
- O método a ser utilizado é de Interpolação Numérica de
A 1,42
B 1,52
C 1,62
D 1,72
E 1,82
f(x) = sen(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
53 of 70 25/09/2024, 12:33
Simpson.
Aplicando os conceitos ensinados acerca desse método, temos:
N x Y
0 0 0,12
1 1/2 0,34
2 1 0,47
3 3/2 0,49
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y). Fazendo isso, obtemos I = 1,42.
Questão 2
Calcule o valor de . Para isso, utilize o Método de
Simpson, dividindo o intervalo de integração em 4 partes:
∫
2
0
cos(x)dx
A 0,91
B 1,01
C 0,81
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
54 of 70 25/09/2024, 12:33
Parabéns! A alternativa A está correta.
Como vimos, a resolução de uma integral definida requer que o
enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 0;
- O limite superior de integração é 2;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
4;
- O método a ser utilizado é de Interpolação Numérica de
Simpson.
Aplicando os conceitos ensinados acerca desse método, temos:
N x Y
0 0 0,48
1 1/2 0,36
D 0,71
E 0,61
f(x) = cos(x)
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
55 of 70 25/09/2024, 12:33
2 1 0,16
3 3/2 -0,09
Para obter o valor de I, basta somar os valores indicados na coluna
da direita (Y). Fazendo isso, obtemos I = 0,91.
4 - Métodos de extrapolação (Romberg)
Ao �nal deste módulo, você será capaz de aplicar o Método de extrapolação de Romberg, por
meio da implementação computacional em Python.
Método de Romberg
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
56 of 70 25/09/2024, 12:33
Além dos métodos indicados no módulo anterior, existem outros que
permitem alcançar resultados ainda mais precisos. Entre eles,
destacamos o Método de extrapolação de Romberg. A despeito de sua
maior precisão, seu fundamento teórico se baseia no Método dos
Trapézios, já estudado neste conteúdo.
Vamos analisar esse método, a partir de um exemplo. Para tal,
consideremos o cálculo da integral I apresentada a seguir:
Método de Romberg
Utilizando o Método dos Trapézios, podemos calcular o valor da integral
I, considerando uma quantidade qualquer de subintervalos dentro do
intervalo de integração [1,2]. Assim, vamos calcular o valor de I,
considerando a quantidade n de subintervalos igual a 1, 2, 4, 8 e 16. Os
valores obtidos são mostrados a seguir:
Índice n
1
2
4
8
I = ∫
2
1
1
x
dx
  R 
0
1
  R 
0
2
  R 
0
3
  R 
0
4
1
16
( 1 + 1.777
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
57 of 70 25/09/2024, 12:33
16
Isso feito, temos como aplicar a ideia central do Método de Romberg,
que é o emprego da extrapolação de Richardson para obter valores
ainda mais precisos, a partir dos resultados do Método dos Trapézios
dentro do intervalo de integração considerado.
O Método de extrapolação de Richardson permite a obtenção de índices
 quaisquer, a partir da fórmula:
Parece complicado? Nem tanto! Recomendamos construir uma tabela
da seguinte forma:
Assim, considerando os valores da primeira coluna (ou seja, aqueles que
calculamos inicialmente nesse exemplo), todas as demais podem ser
calculadas, considerando o valor à esquerda e o que fica acima deste
último (ou seja, as posições à oeste e à noroeste, respectivamente).
Vamos ver?
  R 
0
5
R
i
k
R
i
k
=
4
i
⋅ R
i−1
k
− R
i−1
k−1
4
i
− 1
R
1
2
=
4R
0
2
− R
0
1
3
= 0, 69444
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
58 of 70 25/09/2024, 12:33
Prosseguindo, você pode obter o valor de , muito mais
preciso, para representar o logaritmo neperiano de
.
Implementação do Método de
Romberg em Python
Agora, trataremos da utilização do método de Romberg em Python. Para
tal, nós utilizaremos o pacote SciPy, o qual disponibiliza a função
scipy.integrate.romberg para realizar a integração de acordo com o
método de extrapolação de Romberg.
Como exemplo, vamos calcular a integral .
Para isso, basta executar os comandos na sequência indicada a seguir:
• Importar o pacote scipy;
• Importar o pacote de integração (integrate);
• Definir a função a ser integrada (func);
• Executar a função de integração (integrate.romberg), indicando a
função (func), os limites inferior (1) e superior (2) de integração,
com exibição da tabela de resultados até n=16 (show=True).
Comentário
O trecho de comandos em Python indicado a seguir apresenta a
sequência descrita anteriormente para cálculo da integral de
acordo com o método de Romberg, empregando a função
R
1
3
=
4R
0
3
− R
0
2
3
= 0, 69325
R
2
3
=
16R
1
3
− R
1
2
15
= 0, 69317
R
3
5
= 0, 69315
2(0, 693147 → 0, 69315)
∫
2
1
e
−x
dx
∫
2
1
e
−x
dx
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
59 of 70 25/09/2024, 12:33
integrate.romberg.
Por definição, a função integrate.romberg apresenta os resultados com
um erro de aproximação de .
Python 
Vamos fazer outros exemplos com o mesmo pacote
em Python?
Dessa maneira, veja a sequência de comandos necessários para cálculo
da integral , de acordo com o método de Romberg,
empregando a função integrate.romberg.
Como mencionado anteriormente, a função integrate.romberg apresenta
os resultados com um erro de aproximação de .
Python 
1, 48 × 10
−8
∫
2
1
sen(x)dx1, 48 × 10
−8
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
60 of 70 25/09/2024, 12:33
Ainda de acordo com a mesma sistemática, veja a sequência de
comandos necessários para cálculo da integral , de acordo
com o método de Romberg empregando a função integrate.romberg.
Como mencionado anteriormente, a função integrate.romberg apresenta
os resultados com um erro de aproximação de .
Python 
∫
2
1
cos(x)dx
1, 48 × 10
−8
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
61 of 70 25/09/2024, 12:33
Por fim, veja a sequência de comandos necessários para cálculo da
integral , de acordo com o método de Romberg,
empregando a função integrate.romberg.
Python 
Como já indicado ao longo do conteúdo, o resultado aqui é bem mais
preciso do que com os métodos de interpolação estudados
anteriormente, requerendo uma quantidade menor de iterações, o que
ilustra a qualidade desse método.
∫
2
1
sen(x) + cos(x)dx

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
62 of 70 25/09/2024, 12:33
Resolução de exercícios com o
Python
Neste bate-papo, serão resolvidos os exercícios com o método de
extrapolação (Romberg) utilizando o Python.

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
63 of 70 25/09/2024, 12:33
Falta pouco para atingir seus objetivos.
Vamos praticar alguns conceitos?
Questão 1
Calcule o valor de . Para tal, utilize o método de
Romberg, dividindo o intervalo de integração em 8 partes:
∫
1
0
cos(x)dx
A 0,84147
B 0,85147
C 0,86147
D 0,87147
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
64 of 70 25/09/2024, 12:33
Parabéns! A alternativa A está correta.
Como vimos, a resolução de uma integral definida requer que o
enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 0;
- O limite superior de integração é 1;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
8;
- O método a ser utilizado é de Romberg.
Aplicando os conceitos ensinados acerca desse método, temos:
N
1 0,84177
2 0,84147
3 0,84147
E 0,88147
f(x) = cos(x)
 R 
n
n
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
65 of 70 25/09/2024, 12:33
Assim, obtemos I = 0,84147.
Questão 2
Calcule o valor de . Para tal, utilize o método de
Romberg, dividindo o intervalo de integração em 8 partes:
Parabéns! A alternativa A está correta.
Como vimos, a resolução de uma integral definida requer que o
enunciado forneça alguns elementos importantes, como: a função
propriamente dita a ser integrada; o limite inferior de integração; o
limite superior de integração; a quantidade de intervalos (ou o
tamanho de cada intervalo); e o método a ser utilizado.
Neste exemplo, temos que:
∫
1
0
sen(x)dx
A 0,45970
B 0,47970
C 0,49970
D 0,43970
E 0,41970
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
66 of 70 25/09/2024, 12:33
- A função propriamente dita a ser integrada é ;
- O limite inferior de integração é 0;
- O limite superior de integração é 1;
- A quantidade de intervalos (ou o tamanho de cada intervalo) é
8;
- O método a ser utilizado é de Romberg.
Aplicando os conceitos ensinados acerca desse método, temos:
N
1 0,45986
2 0,45970
3 0,45970
Assim, obtemos I = 0,45970
Considerações �nais
Como vimos, é possível empregar modelos matemáticos para resolução
numérica de integrais definidas.
f(x) = sen(x)
 R 
n
n
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
67 of 70 25/09/2024, 12:33
Neste conteúdo, você estudou os principais métodos associados:
Interpolação e Extrapolação. Os métodos de interpolação como os de
Newton-Cotes, nas variantes dos Retângulos, Trapézios e de Simpson,
são caracterizados pela simplicidade, mas requerem grande quantidade
de passos para que apresentem um resultado mais preciso. Por sua vez,
o método da extrapolação, analisado de acordo com a técnica de
Romberg, apresenta melhores resultados a partir do emprego de uma
fórmula mais elaborada de aproximação do valor real.
Além disso, você também pode identificar como é simples a
implementação desses modelos em ferramentas de suporte
computacional. Em particular, vimos exemplos de implementação em
Python, automatizando procedimentos e permitindo a rápida resolução
desses métodos.
Você não só conheceu os métodos, mas também sua implementação
em ambiente computacional, de modo a utilizar essa importante
ferramenta para a resolução de problemas clássicos e variados em
Engenharia.
Podcast
Neste bate-papo, relembre os principais conceitos abordados com o
intuito de reforçar os conhecimentos desenvolvidos no material.

Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
68 of 70 25/09/2024, 12:33
Explore +
Para encontrar demonstrações e discussões acerca dos assuntos
estudados, busque por vídeos no YouTube:
• Integração Numérica – Método dos Trapézios
• Método da Integração de Romberg e Algoritmo em Python
Leia o artigo Uso de integração numérica em problemas de Engenharia,
de Augusto Giacchini Kloth e Olga Harumi Saito, do departamento
acadêmico de Matemática da UTFPR.
Referências
MOURA, D. F. C, Cálculo Numérico. Rio de Janeiro: SESES, 2017. 144 p.
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL. UFRGS. Cálculo
Numérico: Um Livro Colaborativo Versão Python. Porto Alegre: UFRGS,
2019.
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
69 of 70 25/09/2024, 12:33
Material para download
Clique no botão abaixo para fazer o download do
conteúdo completo em formato PDF.
Download material
O que você achou do conteúdo?
Relatar problema
Integração numérica em Python https://stecine.azureedge.net/repositorio/00212ti/02521/index.html?bra...
70 of 70 25/09/2024, 12:33
javascript:CriaPDF()
javascript:CriaPDF()
javascript:CriaPDF()
javascript:CriaPDF()
javascript:CriaPDF()
javascript:CriaPDF()

Mais conteúdos dessa disciplina