Você está na página 1de 2

#distribuições discretas pelo método da #geometrica(p=0.

2)
transformada da inversa. k=1
p=0.2
#bernoulli(p=0.5) while(runif(1)>p){
p=0.5 k=k+1}
x=c() k
u=runif(1)
if(u < p) {x=1} #distribuições continuas pelo método da
hist(x) transformada da inversa.

#Binomial(n=50,p=0.2) #normal(box-muller transformation)


p=0.2 n=5000
n=50 u1=runif(n)
x=c() u2=runif(n)
for (i in 1:n) { z1=sqrt(-2*log(u1))*cos(2*pi*u2)
u=runif(1) z2=sqrt(-2*log(u1))*sin(2*pi*u2)
if(u < p){x[i]=1} else{x[i]=0}} hist(z1,col="wheat",label=T)

#poisson(lamb=2) por exponenciais #normal por teorema central de limite


lamb=2 mean=4
i=0 sd=6
u=runif(1) x=c()
y=-(1/lamb)*log(u) n=100#numero de repetições
sum=y k=24#tamanho da amostra
while(sum<1){ for(i in 1:n){
y=-(1/lamb)*log(u) u=runif(k)
sum=sum+y x[i]=sd*((12/k)^1/2)*(sum(u)-(k/2))+mean}
i=i+1}
x=i
#lognormal
#binomial negativa(p=0.2,r=2) mean=4
p=0.2 sd=6
r=2 n=100
sucess=0 k=24
while(sucess<r){ x=c()
if (runif(1)>p){ for(i in 1:n){
k=k+1 u=runif(k)
print=0} #fracasso x[i]=exp(sd*((12/k)^1/2)*(sum(u)-(k/2))
else{ +mean)}
sucess=sucess+1
print=1}} #sucesso #exponencial(lamb=2)
k+r-1 #numero de tentativas para obter o n=100#numero de repetiçoes
r-ésimo sucesso x=c()
lamb=2
for(i in 1:n){
u=runif(1)
x[i]=-(1/lamb)*log(u)}
#cauchy #seguradora
u=numeric(1000) k=800
n=100 n=1000
media=numeric(n) count=0
for ( i in 1:n){ e=c()
u=runif(1000) for(i in 1:n){
x=tan(pi*(u-0.5)) u=runif(1)
media[i]=mean(x)} e[i]=(-k)*log(u)
if(e[i]>5000){
#uniforme(a,b) count=count+1}}
a=2 p=count/n
b=4
n=100 #questao5
for(i in 1:n){ n=100
u=runif(1) x=c()
x[i]= a +(b-a)*u for (i in 1:n){
} x[i]=i}
count=0
#weibull(alfa,beta) retirada=sample(x,n,replace=FALSE)
alfa=1 for (i in 1:n){
beta=2 if(retirada[i]==i){count=count+1}}
x=c() count/n
n=100#numero de repetiçoes
for (i in 1:n){
u=runif(1)
x[i]=beta*((-log(u))^1/alfa)}

#gamma(n,lamb)
k=20#numero de amostras
n=100#numero de repetiçoes
lamb=1
x=c()
for (i in 1:n){
u=runif(k)
x[i]=-(1/lamb)*sum(log(u))}

#quadrante circular
n=1000 #numero de repetiçoes
k=2
z=numeric(0)
for (i in 1:n){
xy=runif(k)
z[i]=xy[1]^2 + xy[2]^2}
vi=ifelse(z<1,1,0)
sum(vi)/n

Você também pode gostar