FP5_Ex1:
Calcule um valor aproximado do integral
=
∫
2 / 0)
sin(
πdx
x
e
I
xcom
um erro de truncatura, não superior, em valor absoluto a 0.01 usando:
a) a regra dos Trapézios
b) a regra de Simpson (composta)
Regra dos Trapézios Composta
i:
Para calcular a aproximação do integral divide-se o intervalo
I
em
subintervalos de igual amplitude
/
e logo aproxima-se o
integral de
em cada subintervalo
1,
pela regra do Trapézio:
∫
∑ ∫
∑
[
]
= = − − −−
−
=
=
=
b a n i x x n i i i i i i ix
f
x
f
x
x
x
f
dx
f
I
1 1 1 1 1(
)
(
2
)
(
(x)
Como resultado da soma obtemos a regra dos trapézios (composta):
TC
[
f
f
f
f
nf
n]
h
f
I
I
≈
=
0+
2
1+
2
2+
...
+
2
−1+
2
)
(
,
f
i=(x
i),
i=0, …, n
O erro de truncatura cometido na aproximação de I determinada pela regra dos trapézios composta é dado por:
)
,
(
),
(
''
12
)
(
2b
a
f
h
a
b
I
I
e
TC=
−
TC=
−
−
η
η
∈
Resolução do exercício 1.a)
,
,
π
/
Primeiramente é preciso determinar o menor número de subintervalos, , em que devemos dividir 0,π/2 por forma a garantir que |eTC| ≤ 0.01
O erro cometido na aproximação de I determinada pela regra dos trapézios composta é dado por:
)
,
(
),
(
''
12
)
(
2b
a
f
h
a
b
I
I
e
TC=
−
TC=
−
−
η
η
∈
Substituindo por 0, π/2 e / π/2 , obtém-se:
)
2
,
0
(
),
(
''
4
24
2 2π
η
η
π
π
×
∈
−
=
f
n
e
TCQueremos que |eTC| ≤ 0.01, então
⎥⎦
⎤
⎢⎣
⎡
∈
=
≤
≤
2
,
0
,
)
(
''
max
onde
,
01
.
0
96
2 2 2 3π
π
x
x
f
M
M
n
e
TCO valor máximo de | |, 3.1017664, se atinge em π/4 ≈ 0.7854. Por análise do gráfico vemos que
’’ 2 é positiva em
0,π/2 mas não é monótona crescente (nem decrescente). Assim, para determinar o máximo é preciso determinar tal que ’’’ 0.
0 2 0
/4
Logo, | ’’ /4 | 3.1017664
Substituindo na fórmula do majorante do erro absoluto de truncatura vem:
009
.
10
1017664
.
3
01
.
0
96
01
.
0
1017664
.
3
96
3 2 3≥
⇔
×
≥
⇔
≤
≤
n
n
n
e
TCπ
π
Como ≥ 10.0009 então é o número mínimo de intervalos que garante que |eTC| ≤ 0.01.
Uma vez determinado n, podemos determinar π/ / π/ e construir a tabela com os 12 pontos , , 0, 1, … ,11 que necessitamos usar na fórmula
xk 0 π /22 π /11 3π/22 2π/11 5π/22 3π/11 7π/22 4π/11 9π/22 5π/11 π/2 fk 0 0.1642 0.3749 0.6379 0.9571 1.3373 1.7802 2.2858 2.8510 3,4689 4.1279 4,8105
[
02
12
22
32
42
52
62
72
82
92
10 11]
2
)
(
f
h
f
f
f
f
f
f
f
f
f
f
f
f
I
I
≈
TC=
+
+
+
+
+
+
+
+
+
+
+
Substituindo por π /22 e pelos valores da tabela, 0, 1, … ,11 obtemos:
1815
9117205878
.
2
)
(
=
≈
I
f
I
TCPodemos calcular em MatLab o valor da aproximação obtido pela regra dos trapézios composta usando a rotina trapezios.m (incluída nas rotinas de MN):
>> a=0; b=pi/2; n=11;
>> f=inline('exp(x).*sin(x)') ans = 2.911720587818155 >> trapezios (f, a, b, n)
Alternativamente podemos utilizar os seguintes comandos em Matlab: >> a=0; b=pi/2; n=11;
>> f=inline('exp(x).*sin(x)') >> h= (b-a)/n
>> x=a:h:b >> y=f(x)
>> itc=h/2* sum([1 2 2 2 2 2 2 2 2 2 2 1].*y) ⇒
Também podemos calcular o máximo do valor absoluto da segunda derivada em Matlab usando computação simbólica e a função fminbnd que determina o valor mínimo (por isso para determinar o valor máximo precisamos de multiplicar por -1):
>> f=inline('exp(x)*sin(x)'); a=0; b=pi/2; >> syms x;
>> df2= diff(f(x), 2)
df2 =2*exp(x)*cos(x)
>> x_max = fminbnd(['-1 * abs(', char(df2), ')'], a, b) x_max = 0.7854
>> M2 = abs(subs(df2, x_max)) M2 =3.1018
Podemos também criar previamente o vector com os 12 coeficientes: coef(1)=1; coef(n+1)=1; coef(2:n)=2 e usá-lo na fórmula para calcular o itc itc=h/2* sum(coef.*y)
Regra de Simpson Composta
ii:
Para calcular a aproximação do integral divide-se o intervalo em subintervalos de igual
amplitude / e logo aproxima-se o
integral de em cada subintervalo [
x
0, x
2],[
x
2, x
4], …, [x
n-2, x
n], pela regra de Simpson.Logo somando obtemos a regra de Simpson composta.
[
n n n]
C Sf
f
f
f
f
f
h
f
I
I
≈
=
0+
4
1+
2
2+
...
+
2
−2+
4
−1+
3
)
(
,
f
i= (x
i),
i=0, …n.
ATENÇÃO: n tem de ser par pois necessitamos de dois subintervalos (3 pontos) para
aproximar a função por um polinómio de grau 2
O erro de truncatura cometido na aproximação de determinada pela regra de Simpson composta é dado por:
)
,
(
),
(
180
)
(
4 (4)b
a
f
h
a
b
I
I
e
SC=
−
SC=
−
−
η
η
∈
Resolução do exercício 1.b)
,
,
π
/
Primeiramente é preciso determinar o menor número de subintervalos, n, em que devemos dividir
,
π
/
por forma a garantir que |e
SC| ≤ 0.01Substituindo por 0, π/2 / π/2 na fórmula do erro,
obtém-se:
)
2
,
0
(
),
(
180
1
2
) 4 ( 4 5π
η
η
π
×
∈
⎟
⎠
⎞
⎜
⎝
⎛
−
=
f
n
e
SC⎥⎦
⎤
⎢⎣
⎡
∈
=
≤
≤
2
,
0
,
)
(
max
onde
,
01
.
0
5760
) 4 ( 4 4 4 5π
π
x
x
f
M
M
n
e
SCO valor máximo de | |, 19.240675 se atinge em π/2 ≈ 1.5707321.
Por análise do gráfico vemos que
4 é negativa
e decrescente em [0, π/2], pelo
que | | é uma função
positiva e crescente e o valor máximo se atinge em π/2.
Substituindo na fórmula do majorante do erro absoluto de truncatura vem:
18
.
3
23
.
102
19.240675
01
.
0
5760
01
.
0
5760
4 4 5 4 4 5≥
⇔
≥
⇔
×
≥
⇔
≤
≤
M
n
n
n
n
e
SCπ
π
Como ≥ 3.18 e tem de ser par então é o número mínimo de intervalos que garante que |
e
SC| ≤ 0.01.Uma vez determinado , podemos calcular a amplitude π/2 0 /4 π/8 e construir a tabela com os 5 pontos , , 0, 1, 2, 3, 4 que necessitamos usar na fórmula: xk 0 π /8 π /4 3π/8 π/2 fk 0 0.5667 1.5509 3.0009 4.8105
[
0 1 2 3 4]
4
2
4
3
)
(
f
h
f
f
f
f
f
I
I
≈
SC=
+
+
+
+
Substituindo na fórmula por π /22 e pelos valores
f
k da tabela, 0, 1, 2, 3, 4,obtemos:
(
)
2
.
9
0374209126
865
=
≈
I
f
Podemos em Matlab calcular o valor da aproximação obtido pela regra de Simpson usando a rotina simpson.m de Métodos Numéricos
>> a=0; b=pi/2; n=4;
>> f=inline('exp(x).*sin(x)') ans = 2.903742091268649 >> simpson (f, a, b, 4)
Alternativamente podemos calcular o valor da aproximação usando os seguintes comandos em Matlab: >> a=0; b=pi/2; n=4; >> f=inline('exp(x).*sin(x)') >> h= (b-a)/n >> x=a:h:b x = 0 0.3927 0.7854 1.1781 1.5708 >> y=f(x) y = 0 0.5667 1.5509 3.0009 4.8105
>> isc = h/3* sum([1 4 2 4 1].*y)
⇒
Também podemos calcular o máximo do valor absoluto da quarta derivada em Matlab usando computação simbólica e a função fminbnd que determina o valor mínimo (por isso para determinar o valor máximo precisamos de multiplicar por -1):
>> f=inline('exp(x)*sin(x)'); a=0; b=pi/2; >> syms x;
>> df4= diff(f(x), 4)
df4 =(-4)*exp(x)*sin(x)
>> x_max = fminbnd(['-1 * abs(', char(df4), ')'], a, b) x_max = 1.5707
>> M4 = abs(subs(df4, x_max)) M4= 19.2407
Podemos também criar previamente o vector com os 5 coeficientes: coef(1)=1; coef(n+1)=1; coef(2:2:n)=4 %índices pares coef(3:2:n-1)=2 %índices impares e usá-lo na fórmula para calcular o isc isc=h/3* sum(coef.*y)
Sem conhecer o valor real do integral I podemos concluir que as aproximações determinadas são por excesso ou por defeito?
• Para a aproximação ITC determinada pela regra dos trapézios
)
,
(
),
(
''
12
)
(
2b
a
f
h
a
b
I
I
e
TC=
−
TC=
−
−
η
η
∈
Como 0 0,π/2 ⇒ eTC = I - ITC < 0 ⇒ I < ITC ⇒ então a aproximação ITC de I é por excesso• Para a aproximação ISC determinada pela regra de Simpson composta
)
,
(
),
(
180
)
(
4 (4)b
a
f
h
a
b
I
I
e
SC=
−
SC=
−
−
η
η
∈
Como 0 0,π/2 ⇒ eSC = I – ISC > 0 ⇒ I > ISC ⇒ então a aproximação ISC de I é por defeitoPodemos ainda confirmar os resultados obtidos porque sabemos calcular o valor do integral da função dada.
Podemos calcular o valor do integral de uma função num intervalo dado usando os seguintes comandos em MatLab:
>> f = inline('exp(x).*sin(x)') >> syms x; >> I = double(int(f(x), 0, pi/2)) O valor do integral I = 2.90523869048268 ITC(f) = 2.91172058781815 com |eTC |= |I- ITC|= 0.0064818973 ≤ 0.01 ISC(f) = 2.90374209126865 com |eSC|= |I- ISC|= 0.0014965992 ≤ 0.01
Podemos confirmar que para as aproximações calculadas o erro de truncatura não excede em valor absoluto o valor da tolerância dada (0.01). Também podemos constatar que realmente a aproximação ITC de I obtida pela regra dos trapézios é
uma aproximação por excesso enquanto a aproximação ISC obtida pela regra de
Simpson composta é uma aproximação por defeito. i A figura que ilustra a regra dos trapézios foi extraída de http://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Trapezoidal_rule_illustration_small.svg/ 500px‐Trapezoidal_rule_illustration_small.svg.png ii A figura que ilustra a regra de Simpson foi extraída de http://www.math.ist.utl.pt/~calves/courses/integra/int‐ 24.gif