Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Integração Numérica
Regras de Newton-Cotes
Computação – 2º Semestre 2016/2017
Integração e Diferenciação
Integração é o inverso da diferenciação:a) Diferenciação
b) Integração
216 Maio 2017 Integração Numérica – Regras de Newton-Cotes
dttvtyt
)(0
tydt
dtv )(
Integração
Integração:
é o valor total (soma) de f(x) dx deste a até b:
I f x a
b
dx
3Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Integração em Ciência e Engenharia
Cálculo de áreas:
Cálculo de médias:
4Integração Numérica – Regras de Newton-Cotes
ab
dxxfb
a
Meann
yn
i
i 1Mean
16 Maio 2017
Integração em Ciência e Engenharia
Cálculo do valor total de uma variável (linha/superfície/volume)
Ex: Massa = concentraçãovolume
Caso discreto:
Caso contínuo:
5Integração Numérica – Regras de Newton-Cotes
dxdydzzyxc ),,(
n
i
ii Vc1
16 Maio 2017
Regras de Newton-Cotes
São os métodos de integração numérica mais comuns.
A ideia é substituir uma função complicada (ou os valores
tabelados) por um polinómio que seja fácil de integrar:
em que fn(x) é um polinómio interpolador de grau n:
I f x a
b
dx fn x a
b
dx
6Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regras de Newton-Cotes
A função pode ser um
polinómio de qualquer
ordem:
(a) linha recta
(b) parábola.
O integral pode ser
aproximado num só passo ou
numa série de passos para
diminuir o erro.
7Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio
É a primeira das regras de
Newton-Cotes;
usa uma linha recta para
aproximar a função:
I fn x a
b
dx
I f (a)f b f a
b ax a
a
b
dx
I b a f a f b
2
8Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio
Uma estimativa para o erro local de
truncatura da aplicação da regra do
trapézio é:
em que é um valor entre a e b.
O erro depende da curvatura da
função e da distância entre os pontos.
O erro pode portanto ser reduzido
partindo a curva em segmentos.
Et 1
12f ba
3
9Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio
Exemplo: Usar a regra do trapézio para integrar numericamente:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Como sabemos o valor exacto, o erro é:
Em geral apenas podemos calcular uma estimativa para o erro:
No nosso caso:
Cuja média é:
Logo uma estimativa do erro é:
10Integração Numérica – Regras de Newton-Cotes
2
bfafabI
1728.0
2
232.02.008.0
2
8.0008.0
ff
%5.89t
Et 1
12f ba
3
16 Maio 2017
𝐸𝑡 = 1.640533 − 0.1728 = 1.467733
Regra do Trapézio Composta
Assumindo n+1 pontos equidistantes,
integrar nos n segmentos resultantes.
O integral total corresponde à soma dos
integrais obtidos em cada segmento:
I fn x x0
xn
dx fn x x0
x1
dx fn x x1
x2
dx fn x xn1
xn
dx
I x1 x0 f x0 f x1
2 x2 x1
f x1 f x2 2
xn xn1 f xn1 f xn
2
I h
2f x0 2 f xi
i1
n1
f xn
11Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio Composta
O erro da regra do trapézio composta corresponde à soma dos
erros cometidos em cada segmento:
Que pode ser estimado usando a aproximação:
n
n
i
i xfxfxfh
I1
1
0 22
12Integração Numérica – Regras de Newton-Cotes
n
abh
n
i
it fn
abE
13
3
12
f
n
abEa
2
3
12(dobrar o nº de segmentos corresponde a dividir por 4 o erro)
16 Maio 2017
Regra do Trapézio Composta
Exemplo: Usar a regra do trapézio com 2 segmentos para integrar :
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Como sabemos o valor exacto, o erro é:
A estimativa do erro é:
13Integração Numérica – Regras de Newton-Cotes
:)4.0(2 hn
0688.14
232.0)456.2(22.08.0
I
%9.34t
2.0)0( f 456.2)4.0( f 232.0)8.0( f
64.0)60(
)2(12
8.0
12 2
3
2
3
fn
abEa
16 Maio 2017
𝐸𝑡 = 1.640533 − 1.0688 = 0.57173
Regra do Trapézio Composta
Exemplo: Usar a regra do trapézio com n segmentos para integrar :
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
14Integração Numérica – Regras de Newton-Cotes
(dobrar o nº de segmentos corresponde a dividir por 4 o erro)
16 Maio 2017
Regra do Trapézio Compostafunction I = trap(func,a,b,n,varargin)
% trap: composite trapezoidal rule quadrature
% I = trap(func,a,b,n,pl,p2,...): composite trapezoidal rule
% input:
% func = name of function to be integrated
% a, b = integration limits
% n = number of segments (default = 100)
% pl,p2,... = additional parameters used by func
% output:
% I = integral estimate
if nargin<3,error('at least 3 input arguments required'),end
if ~(b>a),error('upper bound must be greater than lower'),end
if nargin<4|isempty(n),n=100;end
15Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio Composta
x = a; h = (b - a)/n;
s=func(a,varargin{:});
for i = 1 : n-1
x = x + h;
s = s + 2*func(x,varargin{:});
end
s = s + func(b,varargin{:});
I = (b - a) * s/(2*n);
16Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra do Trapézio Composta
Exemplo: Calcular a distância z percorrida por um bungee-jumper após 3
segundos com g=9.81 m/s2, m=68.1 kg , cd=0.25 kg/m
cuja solução analítica é:
Usando a solução analítica:
>> format long
>> z=@(t) (68.1/0.25)*log(cosh(sqrt(9.81*0.25/68.1)*t));
>> dist = z(3)
dist =
41.948050018677961
17Integração Numérica – Regras de Newton-Cotes
dttm
gc
c
gmdttvtz d
t
d
t
tanh )(
00
t
m
gc
c
mtz d
d
coshln )(
16 Maio 2017
Regra do Trapézio Composta
Exemplo: Calcular a distância z percorrida por um bungee-jumper após 3
segundos com g=9.81 m/s2, m=68.1 kg , cd=0.25 kg/m
cuja solução analítica é:
Usando a regra do trapézio composta com 5 segmentos:
>> v=@(t) sqrt(9.81*68.1/0.25)*tanh(sqrt(9.81*0.25/68.1)*t);
>> tr5=trap(v,0,3,5), dist
tr5 =
41.86992959072735
dist =
41.948050018677961
18Integração Numérica – Regras de Newton-Cotes
dttm
gc
c
gmdttvtz d
t
d
t
tanh )(
00
t
m
gc
c
mtz d
d
coshln )(
16 Maio 2017
Regra do Trapézio Composta
Exemplo: Calcular a distância z percorrida por um bungee-jumper após 3
segundos com g=9.81 m/s2, m=68.1 kg , cd=0.25 kg/m
cuja solução analítica é:
Usando a regra do trapézio composta com 10000 segmentos:
>> tr5=trap(v,0,3,10000), dist
tr5 =
41.948049999175282
dist =
41.948050018677961
19Integração Numérica – Regras de Newton-Cotes
dttm
gc
c
gmdttvtz d
t
d
t
tanh )(
00
t
m
gc
c
mtz d
d
coshln )(
16 Maio 2017
Regras de Simpson
Uma desvantagem da regra do trapézio resulta de o erro
depender da segunda derivada da função.
Polinómios de ordem superior podem ser melhores para
aproximar curvas: (a) Polinómio de 2º grau; (b) Polinómio de 3º grau
As fórmulas que resultam da integração desses polinómios
denominam-se Regras de Simpson.
20Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra de Simpson 1/3
A Regra de Simpson 1/3 corresponde a usar um
polinómio de segunda ordem que passe pelos 3 pontos:
Cuja integração se simplifica para:
I fn x x0
x2
dx
I h
3f x0 4 f x1 f x2
fn x x x1 x0 x1
x x2 x0 x2
f x0 x x0 x1 x0
x x2 x1 x2
f x1 x x0 x2 x0
x x1 x2 x1
f x2
21Integração Numérica – Regras de Newton-Cotes
2
abh
21
bax
16 Maio 2017
Regra de Simpson 1/3
Uma estimativa para o erro local de truncatura da aplicação da
regra de Simpson 1/3 é:
em que é um valor entre a e b.
O erro depende da quarta derivada da função e da distância
entre os pontos.
O erro pode ser reduzido partindo a curva em segmentos.
O erro depende do tamanho do passo elevado à 5ª potência
(em vez de elevado à 3ª potência como na regra do trapézio).
Et 1
2880f
4 ba 5
22Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra de Simpson 1/3
Exemplo: Usar a regra de Simpson 1/3 para integrar :
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Como sabemos o valor exacto, o erro é:
A estimativa do erro é:
23Integração Numérica – Regras de Newton-Cotes
:)4.0(2 hn
367467.16
232.0)456.2(42.08.0
I
%6.16t
2.0)0( f 456.2)4.0( f 232.0)8.0( f
2730667.08.0)2400(2880
18.0
2880
1 554 fEa
16 Maio 2017
𝐸𝑡 = 1.640533 − 1.367467 = 0.2730667
Regra de Simpson 1/3 Composta
A regra de Simpson 1/3 também pode
ser aplicada a uma sequência de sub-
intervalos:
Implica um número ímpar de pontos.
A fórmula é mais complicada que a da
regra do trapézio:
I fn x x0
xn
dx fn x x0
x2
dx fn x x2
x4
dx fn x xn2
xn
dx
I h
3f x0 4 f x1 f x2
h
3f x2 4 f x3 f x4
h
3f xn2 4 f xn1 f xn
I h
3f x0 4 f xi
i1i, odd
n1
2 f xi j2j , even
n2
f xn
24Integração Numérica – Regras de Newton-Cotes
)4(
4
5
180f
n
abEa
16 Maio 2017
Regra de Simpson 1/3 Composta
Exemplo: Usar a regra de Simpson 1/3 com n=4 para integrar:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Como sabemos o valor exacto, o erro é:
A estimativa do erro é:
25Integração Numérica – Regras de Newton-Cotes
:)2.0(4 hn
623467.112
232.0)456.2(2)464.3288.1(42.08.0
I
%04.1t
2.0)0( f 456.2)4.0( f 232.0)8.0( f288.1)2.0( f 464.3)6.0( f
017067.0)2400(
)4(180
8.0
180 4
5
)4(
4
5
fn
abEa
16 Maio 2017
𝐸𝑡 = 1.640533 − 1.623467 = 0.017067
Regra de Simpson 3/8
A Regra de Simpson 3/8 corresponde a usar um polinómio de 3ª grau que passe por 4 pontos.
A integração nos quatro pontos simplifica-se para:
A Regra de Simpson 3/8 é geralmente usada em conjunto com a regra de Simpson 1/3 quando o número de segmentos é ímpar.
I fn x x0
x3
dx
I 3h
8f x0 3 f x1 3 f x2 f x3
26Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Regra de Simpson 3/8
Exemplo: Usar a regra de Simpson 3/8 para integrar:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Como sabemos o valor exacto, o erro é:
27Integração Numérica – Regras de Newton-Cotes
:)2667.0(3 hn
51970.18
232.0)487177.3432724.1(32.08.0
I
%37.7t
2.0)0( f 232.0)8.0( f432724.1)2667.0( f 487177.3)5333.0( f
16 Maio 2017
𝐸𝑡 = 1.640533 − 1.51970 = 0.120833
Regra de Simpson 3/8 Exemplo: Usar a regras de Simpson 3/8 e 1/3 para integrar em 5 segmentos:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
O integral dos primeiros 2 segmentos é calculado pela regra de Simpsom 1/3
O integral dos últimos 3 segmentos é calculado pela regra de Simpsom 3/8
O total é:
Como sabemos o valor exacto, o erro é:
28Integração Numérica – Regras de Newton-Cotes
:)16.0(5 hn
3803237.06
743393.1)296919.1(42.032.0
I
%28.0t
2.0)0( f
232.0)8.0( f
296919.1)16.0( f 743393.1)32.0( f
186015.3)48.0( f 181929.3)64.0( f
264754.18
232.0)181929.3186015.3(3743393.148.0
I
645077.1264754.13803237.0 I
16 Maio 2017
𝐸𝑡 = 1.645077 − 1.640533 = 0.00454
Regras de Newton-Cotes de Ordem Superior
Podem ser usados polinómios de ordem superior
Quanto maior for a ordem do polinómio maior a ordem da derivada na estimativa do erro e maior potência do tamanho do passo.
29Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Integração com Segmentos Desiguais
As fórmulas anteriores foram simplificadas devido à
equidistância entre os pontos.
Frequentemente, em casos experimentais, apenas
sabemos os valores de alguns pontos não equidistantes.
A regra do trapézio pode ser facilmente adaptada a estes
casos:
I fn x x0
xn
dx fn x x0
x1
dx fn x x1
x2
dx fn x xn1
xn
dx
I x1 x0 f x0 f x1
2 x2 x1
f x1 f x2 2
xn xn1 f xn1 f xn
2
30Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Integração com Segmentos Desiguais
31Integração Numérica – Regras de Newton-Cotes
function I = trapuneq(x,y)
% trapuneq: unequal spaced trapezoidal rule quadrature
% I = trapuneq(x,y):
% Applies the trapezoidal rule to determine the integral
% for n data points (x, y) where x and y must be of the
% same length and x must be monotonically ascending
% input:
% x = vector of independent variables
% y = vector of dependent variables
% output:
% I = integral estimate
if nargin<2,error('at least 2 input arguments required'),end
if any(diff(x)<0),error('x not monotonically ascending'),end
n = length(x);
if length(y)~=n,error('x and y must be same length'); end
16 Maio 2017
Integração com Segmentos Desiguais
32Integração Numérica – Regras de Newton-Cotes
s = 0;
for k = 1:n-1
s = s + (x(k+l)-x(k))*(y(k)+y(k+l))/2;
end
I = s;
16 Maio 2017
Integração com Segmentos Desiguais Exemplo: Usar a regra do trapézio para integrar nos pontos da tabela:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Solução:>> x = [0 .12 .22 .32 .36 .4 .44 .54 .64 .7 .8];
>> y = 0.2+25*x-200*x.^2+675*x.^3-900*x.^4+400*x.^5;
>> trapuneq(x,y)
ans =
1.5948
33Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Funções do MATLAB
O MATLAB disponibiliza as seguintes funções para o
cálculo de integrais com a regra do trapézio:
z = trapz(y)
z = trapz(x, y)
calcula o integral de y sobre x. Se x for omitido,
assume h=1.
z = cumtrapz(y)
z = cumtrapz(x, y)
calcula a acumulada do integral de y sobre x. Se x for
omitido, assume h=1.
34Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Funções do MATLAB Exemplo: Usar a regra do trapézio para integrar nos pontos da tabela:
de a=0 a b=0.8. (o valor exacto calculado analiticamente é 1.640533)
Solução:>> x = [0 .12 .22 .32 .36 .4 .44 .54 .64 .7 .8];
>> y = 0.2+25*x-200*x.^2+675*x.^3-900*x.^4+400*x.^5;
>> trapz(x,y)
ans =
1.5948
35Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Funções do MATLAB
Exemplo: iIustrar a distância percorrida por um bungee-jumper ao longo do tempo com g=9.81 m/s2, m=68.1 kg , cd=0.25 kg/m
cuja solução analítica é:
Solução :
>> format short g
>> t=[0 1 1.4 2 3 4.3 6 6.7 8];
>> g=9.81;m=70;cd=0.275;
>> v=round(sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t));
>> z=cumtrapz(t,v)
z=
0 5 9.6 19.2 41.7 80.7 144.45 173.85 231.7
36Integração Numérica – Regras de Newton-Cotes
dttm
gc
c
gmdttvtz d
t
d
t
tanh )(
00
t
m
gc
c
mtz d
d
coshln )(
16 Maio 2017
Funções do MATLAB
Exemplo: iIustrar a distância percorrida por um bungee-jumper ao longo do
tempo com g=9.81 m/s2, m=68.1 kg , cd=0.25 kg/m
>> format short g
>> t=[0 1 1.4 2 3 4.3 6 6.7 8];
>> g=9.81;m=70;cd=0.275;
>> v=round(sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t));
>> z=cumtrapz(t,v)
z=
0 5 9.6 19.2 41.7 80.7 144.45 173.85 231.7
>> ta=linspace(t(1),t(length(t)));
>> za=m/cd*log(cosh(sqrt(g*cd/m)*ta));
>> plot(ta,za,t,z,'o')
>> title('Distance versus time')
>> xlabel('t (s)'),ylabel('x (m)')
>> legend('analytical','numerical')
37Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Integrais Múltiplos
Integrais múltiplos podem ser calculados numericamente
integrando uma dimensão de cada vez.
Integrais múltiplos podem ser usados
para calcular médias:
38Integração Numérica – Regras de Newton-Cotes16 Maio 2017
Integrais Múltiplos Exemplo: A temperatura de uma superfície é descrita pela seguinte equação:
Se a superfície tiver um comprimento de 8 m (dimensão x) e uma largura de 6 m
(dimensão y) qual é a sua temperatura média? (o valor exacto é 58.66667)
Solução: Usando a regra do trapézio com 2 segmentos para cada dimensão
Resultado: 2554/(68)=53
39Integração Numérica – Regras de Newton-Cotes16 Maio 2017
O MATLAB tem funções pré-definidas dblquad e triplequad para calcular integrais duplos e triplos respectivamente:
q = dblquad(fun, xmin, xmax, ymin, ymax, tol)
em que:q é o resultado do integralfun é a função a integrarxmin e xmax são os limites de integração da primeira variávelymin e ymax são os limites de integração da segunda variável
Exemplo:
>> q = dblquad(@(x,y) 2*x*y+2*x-x.^2-2*y.^2+72,0,8,0,6)
q =
2816
>> q/(6*8)
ans =
58.6667
Integrais Múltiplos
40Integração Numérica – Regras de Newton-Cotes16 Maio 2017