# CLT para distribuicao da media amostral
# Exemplo com U(0,1)


# qtd de NPAs para cada Xi
n = 40 

# quantidade de Xi's
numsim = 100

# gerando NPAs
db = matrix(runif(n * numsim), numsim)

# media das linhas
RowMeans = rowMeans(db)

# media teorica
(mediaTeorica = (1+0)/2)
## [1] 0.5
# media empirica  da distribuicao da media amostral
(mediaEmpirica = mean(RowMeans))
## [1] 0.4929963
# variancia teorica de uma uniforme
(varianciaTeorica = (1-0)^2/12)
## [1] 0.08333333
# variancia teorica da distribuicao da media amostral
varianciaTeorica/n
## [1] 0.002083333
# variancia empirica da distribuicao da media amostral
(varianciaEmpirica = var(RowMeans)) 
## [1] 0.001551643
# histograma da uniforme
hist(c(db), probability = T, col = "grey") 

# histograma da distribuicao da media amostral
hist(RowMeans, probability = T, col = "grey")  
curve(dnorm(x, mean = mediaEmpirica, sd = varianciaEmpirica^.5), add = T, col = "red")