Documente Academic
Documente Profesional
Documente Cultură
Exerccios e solues
Contedo
1 Integrao numrica 2 Integrao numrica pelo mtodo de Monte Carlo 3 Clculo do volume de hiperesferas 4 ndice de Gini 2 5 7 8
-Mestrado em Economia
1 Integrao numrica
Calcular uma aproximao dos seguinte integrais de modo numrico
1 0
sin x dx e
6 4
x3.5 dx.
Aproximao
Para calcular numericamente os integrais acima escritos temos que fazer uma aproximao ao integral. Vamos aproximar o integral pela soma da rea dos retngulos que resultam de discretizarmos o intervalo entre a e b em N pontos igualmente espaados. Neste caso a altura do retngulo dada pelo valor da funo no ponto xi , o extremo superior do intervalo i ou seja h N retngulos no total.
b a
f (x) dx
f (xi ) h = h
i=1 i=1
f (xi )
(1)
onde h =
0.8
ba n
e xi = a + i h,
i = 1 . . . n.
0.7
0.6
0.5
0.4
0.3
0.2
0.1
Figura 1: Aproximao do integral do seno entre 0 e 1 com 10 pontos. de notar que na formulao do problema podemos tirar partido da paralelizao do Octave/MATLAB. Existe j uma funo que calcula o somatrio (sum ) e por isso o mais difcil s calcular o valor dos pontos xi . Um exemplo para N = 10 pode ser encontrado abaixo.
2/ 8
-Mestrado em Economia
0.60000
0.70000
0.80000
linspace ( a+dx , b , N)
0.60000 0.70000 0.80000
>> x = a+dx : dx : b x = 0.10000 0.90000 0.20000 1.00000 0.30000 0.40000 0.50000 0.60000 0.70000 0.80000
ans
0.50139
Na implementao anterior usamos trs formas distintas de calcular os pontos xi a primeira seguiu directamente a denio acima. A segunda recorreu funo linspace que retorna um vector igualmente espaado entre os dois primeiros argumentos e com um nmero de pontos dado pelo terceiro argumento. A ltima implementao usa a j estuda gama de valores, com o primeiro a ser o primeiro valor, o segundo o incremento e o terceiro o valor nal. Se aumentarmos o nmero de pontos ento a preciso ir melhorar. Na implementao que se segue repetimos os mesmos cculos para N = 100000.
>> a= 0 ; b= 1 ; N = 100000; >> dx= ( ba ) /N dx = 1 . 0 0 0 0 e 05 >> x = a + [ 1 : N] dx ; >> dx sum ( sin ( x ) )
>> >>
quad ( @sin ,
= =
O resultado obtido ento comparado com o valor que se obtm quer da funo quad (de quadratura) que usada para fazer a integrao. A chamada desta funo apresentada aqui apenas para ilustrao, os detalhes do modo de funcionamento s sero apresentadas nas aulas seguintes. Finalmente e como neste caso conhecemos o valor exacto do integral subesttuimos e mais uma vez encontramos o mesmo resultado. Repetindo o procedimento anterior mas para a funo seguinte temos:
>> a= 4 ; b= 6 ; N = 100000; >> dx= ( ba ) /N
3/ 8
-Mestrado em Economia
ans ans
= =
591.68 591.68
>>
2/9(6^4.5 4^4.5)
Mais uma vez se compararmos o valor da nossa aproximao com a valor exacto vericamos que os resultados so iguais para a preciso apresentada.
>> dx sum ( x . ^ 3 . 5 )
rand ( 1 ,N) ( ba ) ;
ans
591.16
De notar que o valor no to bom como o anterior e para integrais uni-dimensionais o mtodo de Monte Carlo no a melhor opo. Para dimenses superiores no entanto o desempenho deste mtodo melhora quando comparado com as outras alternativas.
4/ 8
-Mestrado em Economia
d xd y
Soluo
A rea pretendida dada pela Figura 2.
1
0.5
0 -1 -0.5 0 0.5 1
-0.5
-1
Figura 2: Crculo unitrio centrado na origem. Para simplicar o clculo do integral proposto podemos reparar que
dxdy =
1 1
(x, y ) dxdy
onde (x, y ) a funo caracterstica de , ou seja, vale 1 se (x, y ) e zero nos outros casos. Podemos usar ainda a simetria da gura para reduzir o cculo do integral ao cculo do integral no primeiro quadrante.
1 1 1 1
(x, y ) dxdy = 4
1 0 0
(x, y ) dxdy
5/ 8
-Mestrado em Economia
Para usar Monte Carlo para o clculo da rea vamos agora gerar N pontos (xi , yi ) aleatriamente tal que quer xi quer yi se situam no intervalo [0, 1]. Do mesmo modo que aproximamos o integral no exerccio anterior poderiamos repetir o mesmo procedimento agora do seguinte modo
b a c d
f (x, y ) dxdy
f (xi , yi )A
i=1
)(dc) onde A = (baN por analogia com o caso anterior. O somatrio j sabemos como calcular do exerccio anterior, para calcular a funo caracterstica vamos usar as funes lgicas que actuam sobre vectores. Por exemplo:
>> a = [ 3 >> b = [ 2 >> a <= b 4 5 6]; 3];
ans
0
= 1 0
Os operadores lgicos retornam um novo vector constitudo s por zeros e uns em que zero quer dizer falso e um quer dizer verdadeiro. Neste exerccio a funo a integrar tem uma forma simples
(x, y ) = 1 se x2 + y 2 1 e 0 nos outros casos.
Tirando partido das possibilidade de paralelizao o cdigo ca ento da seguinte forma:
>> N = 1 0 0 0 0 0 0 ; >> x = >> y = >>
>> a r e a / pi
area =
ans
A ltima linha d-nos a comparao entre o valor obtido e o valor exacto. O resultado exacto at terceira casa decimal, nada mau para um programa com apenas quatro linhas.
6/ 8
-Mestrado em Economia
Qual o volume desta hiperesfera? 2. Repita este clculo para dimenses entre 6 e 10. Sugesto: crie uma funo que retorna o hipervolume para uma dada dimenso n. Para comparao com o valor exacto usar:
2 Cn = n ( 2 + 1)
n
onde (x) a funo gama que pode ser calculado invocando a funo gamma na linguagem. O volume de uma hiperesfera de raio r dado por Vn (r) = Cn rn .
7/ 8
-Mestrado em Economia
4 ndice de Gini
Suponha que a funo de distribuio relativa da riqueza de um dado pas dada por 2 FX (x) = x2 e(1x) com 0 x 1 e onde FX (x) = y signica que a proporo x mais pobre da populao uma proporo y da riqueza total do pas. 1. Desenhe a funo de distribuio no intervalo [0, 1], faa o mesmo para a funo identidade no mesmo intervalo e no mesmo grco. 2. Calcule o ndice de Gini que nos d uma medida da assimetria na distribuio de riqueza (para mais detalhes sobre o ndice de Gini ver os exerccios do mdulo 1.). a) Use a frmula dada no mdulo 1. b) Calcule o ndice como um integral em dimenso 1. c) Calcule o ndice como um integral em dimenso 2.
8/ 8