Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodos Computacionais em F´ısica I
Jos ´e Helder Lopes
Instituto de F´ısica
Universidade Federal do Rio de Janeiro
Aula Remota Semestre Especial 2020-2
baseado nas aulas remotas da Profa. Sandra Amato para o
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais
Ü Uma grande quantidade de problemas de f´ısica exige o c ´alculo de integrais
Ü Em muitos casos, precisamos calcular integrais sem soluc¸ ˜ao anal´ıtica
Ü Por exemplo, o per´ıodo de um p ˆendulo abandonado de um ˆangulo θ0com a vertical ´e dado por
T = 2 s L 2g Z θ0 −θ0 dθ0 (cos θ0− cos θ0)1/2
Ü Existem v ´arios m ´etodos num ´ericos para c ´alculo de integrais Ü Em todos eles, usamos a pr ´opria definic¸ ˜ao de integral: ela ´e a
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais
I = Z b a f (x )dx = lim N→∞ N X i=1 f (xi)∆xi onde ∆xi = b − a N Ex . : I ' 4 X i=1 f (mi)∆xIntegrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais
Ü Aumentando o n ´umero de divis ˜oes do intervalo, melhoramos nossa aproximac¸ ˜ao.
Ü Ou podemos melhorar a descric¸ ˜ao da curva nos intervalos ∆xi
m valor constante (f (mi)): ret ˆangulo
m reta: M ´etodo dos Trap ´ezios m par ´abola: M ´etodo de Simpson
Ü C ´alculo da ´area sob uma curva : aproximado pela soma das ´areas de
trap ´ezios de largura ∆xi.
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais
Ü Aumentando o n ´umero de divis ˜oes do intervalo, melhoramos nossa aproximac¸ ˜ao.
Ü Ou podemos melhorar a descric¸ ˜ao da curva nos intervalos ∆xi
m valor constante (f (mi)): ret ˆangulo
m reta:M ´etodo dos Trap ´ezios m par ´abola: M ´etodo de Simpson
Ü C ´alculo da ´area sob uma curva : aproximado pela soma das ´areas de
trap ´ezios de largura ∆xi.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
I = Z b a f (x )dx ≈ T0 T0= 1 2[f (a) + f (b)] (b − a)| {z } ∆x0
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
I = Z b a f (x )dx ≈ T1 T1= 1 2[f (a) + f1] ∆x1 + 1 2[f1+f (b)] ∆x1
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao) I = Z b a f (x )dx T1= 1 2[f (a) + f1] ∆x1 + 1 2[f1+f (b)] ∆x1 T1= 1 2[f (a) + 2f1+f (b)] (b − a) 2 | {z } ∆x1
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
I = Z b a f (x )dx T1= 1 2[f (a) + 2f1+f (b)] (b − a) 2 | {z } ∆x1
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
I = Z b a f (x )dx ≈ T1 T1= 1 2[f (a) + 2f1+f (b)] (b − a) 2 | {z } ∆x1 T1= ∆x1 2 [f (a) + 2f1+f (b)]
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
Ü Em ordem 2, aproximamos por 4 trap ´ezios (2 divis ˜oes)
I = Z b a f (x )dx ≈ T2 T2= ∆x2 2 f (a) + 2 3 X j=1 fj +f (b)
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
Ü Em ordem 2, aproximamos por 4 trap ´ezios (2 divis ˜oes) T0= ∆x0 2 [f (a) + f (b)] T1= ∆x1 2 [f (a) + 2f1+f (b)] T2= ∆x2 2 f (a) + 2 3 X j=1 fj +f (b) Tk = ?
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios
Ü Em ordem 0, aproximamos por 1 trap ´ezio (0 divis ˜oes)
Ü Em ordem 1, aproximamos por 2 trap ´ezios (1 divis ˜ao)
Ü Em ordem 2, aproximamos por 4 trap ´ezios (2 divis ˜oes)
Ü Em ordem k , aproximamos por 2k trap ´ezios (k divis ˜oes) I = Z b a f (x )dx ≈ Tk Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj +f (b) ∆xk = b − a 2k fj =f (a + j∆xk)
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Como escolher k ?
A primeira vista, quanto maior k , mais preciso ser ´a o c ´alculo. Cuidado com arredondamentos ...
Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b)
Utilizamos um crit ´erio de converg ˆencia:
Partindo de T0, calculamos consecutivamente T1,T2, . . . at ´e que a
pr ´oxima substituic¸ ˜ao n ˜ao traga mais uma melhoria significativa: |Tk − Tk −1|/|Tk| <
Para implementarmos este procedimento, o ideal ´e calcular cada ordem em func¸ ˜ao da anterior, aproveitando o que j ´a foi calculado.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Como escolher k ? A primeira vista, quanto maior k , mais preciso ser ´a o c ´alculo.
Cuidado com arredondamentos ...
Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b)
Utilizamos um crit ´erio de converg ˆencia:
Partindo de T0, calculamos consecutivamente T1,T2, . . . at ´e que a
pr ´oxima substituic¸ ˜ao n ˜ao traga mais uma melhoria significativa: |Tk − Tk −1|/|Tk| <
Para implementarmos este procedimento, o ideal ´e calcular cada ordem em func¸ ˜ao da anterior, aproveitando o que j ´a foi calculado.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Como escolher k ? A primeira vista, quanto maior k , mais preciso ser ´a o c ´alculo. Cuidado com arredondamentos ...
Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b)
Utilizamos um crit ´erio de converg ˆencia:
Partindo de T0, calculamos consecutivamente T1,T2, . . . at ´e que a
pr ´oxima substituic¸ ˜ao n ˜ao traga mais uma melhoria significativa: |Tk − Tk −1|/|Tk| <
Para implementarmos este procedimento, o ideal ´e calcular cada ordem em func¸ ˜ao da anterior, aproveitando o que j ´a foi calculado.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Como escolher k ? A primeira vista, quanto maior k , mais preciso ser ´a o c ´alculo. Cuidado com arredondamentos ...
Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b) Utilizamos um crit ´erio de converg ˆencia:
Partindo de T0, calculamos consecutivamente T1,T2, . . . at ´e que a
pr ´oxima substituic¸ ˜ao n ˜ao traga mais uma melhoria significativa: |Tk − Tk −1|/|Tk| <
Para implementarmos este procedimento, o ideal ´e calcular cada ordem em func¸ ˜ao da anterior, aproveitando o que j ´a foi calculado.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Como escolher k ? A primeira vista, quanto maior k , mais preciso ser ´a o c ´alculo. Cuidado com arredondamentos ...
Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b) Utilizamos um crit ´erio de converg ˆencia:
Partindo de T0, calculamos consecutivamente T1,T2, . . . at ´e que a
pr ´oxima substituic¸ ˜ao n ˜ao traga mais uma melhoria significativa: |Tk − Tk −1|/|Tk| <
Para implementarmos este procedimento, o ideal ´e calcular cada ordem em func¸ ˜ao da anterior, aproveitando o que j ´a foi calculado.
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
T0= 1 2∆x0[f (a) + f (b)] T1= 1 2∆x1[f (a)+2f1+f (b)] ∆x1= ∆x0 2 T1= 1 2 ∆x0 2 [f (a) + f (b)] + f1∆x1 T1= T0 2 + ∆x1f1
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
Tk= ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b)
para k = 2 (n = 2k=4 pain ´eis)
T2= ∆x2 2 [f (a) + 2(f1+f2+f3) +f (b)] Lembrando que ∆x2= ∆x1/2 T2= 1 2 ∆x1 2 [f (a)+2(f1+f2+f3) +f (b)] T2= T1 2 + ∆x1 2 (f1+f3) generalizando: Tk = Tk −12 + ∆xkPn−1j(impar )=1f (a + j∆xk)
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Converg ˆencia
E temos a f ´ormula iterativa Z b a f (x )dx ≈ Tk = Tk −1 2 + ∆xk 2k−1 X j(impar)=1 f (a + j∆xk) m Com T0= 1 2∆x0[f (a) + f (b)] e ∆xk = b − a 2k
m Itera-se at ´e que
Tk − Tk −1<
m Atenc¸ ˜ao:
k = 20 → ∆xk = b − a
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo dos Trap ´ezios - Resumo
Temos duas express ˜oes equivalentes para o m ´etodo dos trap ´ezios: Z b a f (x )dx ≈ Tk = ∆xk 2 f (a) + 2 2k−1 X j=1 fj+f (b) ∆xk = b − a 2k e fj =f (a + j∆xk) e Z b a f (x )dx ≈ Tk = Tk −1 2 + ∆xk 2k−1 X j(impar)=1 f (a + j∆xk) Com T0= 1 ∆x0[f (a) + f (b)] e ∆xk = b − a
Integrac¸ ˜ao Trap ´ezio Simpson
Exerc´ıcios
ÜEscolha uma das duas express ˜oes para o m ´etodo dos trap ´ezios e escreva um algoritmo para calcular uma integral usando esse m ´etodo para uma ordem k .
ÜEscreva uma func¸ ˜ao (trapezio) em python que implemente o
algoritmo de integrac¸ ˜ao. Os argumentos dessa func¸ ˜ao devem ser a func¸ ˜ao a ser integrada, os limites da integral e k
ÜEscreva um programa que utilize a func¸ ˜ao do item anterior. A ordem k deve ser solicitada ao usu ´ario.
ÜCalcule a integral abaixo usando o m ´etodo dos trap ´ezios. I =
Z π
0
sin(x )dx
ÜRode o seu programa para diferentes valores de k e note a
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais: M ´etodo de Simpson
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais: M ´etodo de Simpson
M ´etodo dos Trap ´ezios Uma curva pode ser aproximada por trap ´ezios (polin ˆomio do primeiro grau).
Integrac¸ ˜ao Trap ´ezio Simpson
C ´alculo de Integrais: M ´etodo de Simpson
M ´etodo de SimpsonUma curva pode ser aproximada por par ´abolas (polin ˆomio do segundo grau).
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
y (x ) = c0 + c1x + c2x2
A ´area sob a par ´abola, entreaebvale I = Z b a y (x )dx = c0(b − a) + c1 b2− a2 2 + c2 b3− a3 3
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
y (x ) = c0 + c1x + c2x2
A ´area sob a par ´abola, entreaebvale I = Z b a y (x )dx = c0(b − a) + c1 b2− a2 2 + c2 b3− a3 3
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
y (x ) = c0 + c1x + c2x2
A ´area sob a par ´abola, entreaebvale I = Z b a y (x )dx = c0(b − a) + c1 b2− a2 2 + c2 b3− a3 3 = b − a 6 n 6c0+3c1(a + b) + 2c2(a2+ab + b2) o
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
I = b − a 6 n 6c0+3c1(a + b) + 2c2(a2+ab + b2) o = 1 3 b − a 2 n c0+c1a + c2a2 +4 " c0+c1 a + b 2 +c2 a + b 2 2# +c0+c1b + c2b2 o
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
I = b − a 6 n 6c0+3c1(a + b) + 2c2(a2+ab + b2) o = 1 3 b − a 2 n c0+c1a + c2a2 +4 " c0+c1 a + b 2 +c2 a + b 2 2# +c0+c1b + c2b2 o I = 1 3 b − a 2 y (a)+4y a + b 2 +y (b)
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
I = 1 3 b − a 2 y (a)+4y a + b 2 +y (b)
A ´area sob uma par ´abola gen ´erica pode ser escrita em termos do valor da par ´abola nos extremos e no centro do intervalo.
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
I = 1 3 b − a 2 y (a)+4y a + b 2 +y (b)
A ´area sob uma par ´abola gen ´erica pode ser escrita em termos do valor da par ´abola nos extremos e no centro do intervalo.
Chamando b−a2 = ∆x1temos:
I = Z b a f (x )dx ≈ S1= ∆x1 3 [f (a) + 4f1+f (b)] onde f1=f (x1) =f a+b 2
Integrac¸ ˜ao Trap ´ezio Simpson
´
Area sob uma Par ´abola
I = 1 3 b − a 2 y (a)+4y a + b 2 +y (b)
A ´area sob uma par ´abola gen ´erica pode ser escrita em termos do valor da par ´abola nos extremos e no centro do intervalo.
Chamando b−a2 = ∆x1temos:
I = Z b a f (x )dx ≈ S1= ∆x1 3 [f (a) + 4f1+f (b)] onde f1=f (x1) =f a+b 2
Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo de Simpson
I = Z b a f (x )dxIntegrac¸ ˜ao Trap ´ezio Simpson
M ´etodo de Simpson
S1= ∆x1 3 [f (a) + 4f1+f (b)] ∆x1= b − a 21Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo de Simpson
S2= ∆x2 3 [f (a) + 4f1+f2] +∆x2 3 [f2+4f3+f (b)]Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo de Simpson
S2= ∆x2 3 [f (a) + 4f1+f2] +∆x2 3 [f2+4f3+f (b)] S2= ∆x2 3 [f (a) + 4 (f1+f3) +2f2+f (b)]Integrac¸ ˜ao Trap ´ezio Simpson
M ´etodo de Simpson
S2= ∆x2 3 [f (a) + 4 (f1+f3) +2f2+f (b)] Sk = ∆xk 3 f (a) +4 2k−1 X iimpar=1 fi +2 2k−2 X ipar=2 fi+f (b) ∆xk = b − a 2k fi =f (a + i∆xk)Integrac¸ ˜ao Trap ´ezio Simpson
Exerc´ıcio - opcional
ÜEscreva um algoritmo para calcular uma integral usando o m ´etodo de Simpson em ordem k (qual o primeiro valor de k ?)
ÜEscreva uma func¸ ˜ao (simpson) em python que implemente o
algoritmo de integrac¸ ˜ao da quest ˜ao anterior. Quais devem ser os argumentos da func¸ ˜ao simpson ?
ÜCalcule a integral abaixo usando o m ´etodo de Simpson. O valor de k deve ser solicitado ao usu ´ario
I = Z π
0
sin(x )dx
Integrac¸ ˜ao Trap ´ezio Simpson
F ´
ormula de Simpson
I = Z b a f (x )dx ≈ Sk Sk = ∆xk 3 f (a) + 4 2k−1 X iimpar=1 fi+2 2k−2 X ipar=2 fi +f (b) ∆xk = b − a 2k fi =f (a + i∆xk)Esta ´e a f ´ormula do M ´etodo de Simpson.
Veremos que ela n ˜ao precisa ser implementada dessa forma. Ela pode ser escrita em func¸ ˜ao do m ´etodo dos trap ´ezios:
Integrac¸ ˜ao Trap ´ezio Simpson
F ´
ormula de Simpson
Sk = ∆xk 3 f (a) + 4 2k−1 X iimpar=1 fi+2 2k−2 X ipar=2 fi +f (b) Lembrando que Tk = ∆xk 2 f (a) + 2 2k−1 X i=1 fi+f (b) Integrac¸ ˜ao Trap ´ezio Simpson
F ´
ormula de Simpson
Sk = ∆xk 3 f (a) + 4 2k−1 X iimpar=1 fi+2 2k−2 X ipar=2 fi +f (b) Lembrando que Tk = ∆xk 2 f (a) + 2 2k−1 X i=1 fi+f (b) Podemos escrever Z b a f (x )dx ≈ Sk =Tk+ Tk− Tk −1 3Integrac¸ ˜ao Trap ´ezio Simpson
Trabalho
ÜVeja os detalhes do trabalho no arquivo Tarefa7.pdf
ÜFac¸a um programa integral.py que calcula a integral para
valores de k crescentes, at ´e que |Tk − Tk −1|/|Tk| (para o m ´etodo dos
trap ´ezios) e |Sk− Sk −1|/|Sk| (para o m ´etodo de Simpson) seja menor
que 10−6.
ÜCalcule a integral da func¸ ˜ao Gaussiana, com precis ˜ao de 10−6, no intervalo ±2σ I = Z x0+2σ x0−2σ 1 √ 2πσ exp −(x − x0)2 2σ2 dx Observe que I = √1 2π Z +2 −2 exp −y 2 2 dy