Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
pessoais:eder [2011/06/05 20:03]
eder
pessoais:eder [2011/06/06 20:50]
eder [section 5]
Linha 24: Linha 24:
 <code R> <code R>
 ###​-----------------------------------------------------------------###​ ###​-----------------------------------------------------------------###​
-###buf +### Agulha de buffon 
-buf <- function(n){ +buffon ​<- function(n,l=1,a=1){ 
-  ​ttt <- NULL +  ​if(a<l){cat('​Erro:​ a < l, deve ser a > l\n')} 
-  ​ttt[1] <- 0 +  ​if(a>​=l){ 
-  ​<- runif(n) +  ​theta <- runif(n,0,pi
-  ​th <- runif(n,0,pi+  ​dist <- runif(n,0,a/2
-  ​st <- sin(th+  ​inter <- sum(dist <= l/2*sin(theta)
-  ​for i in 1:n)+  ​phi_est <- round((n/inter)*(2*l/a),12
-    if(st[i]>​x[i]){ +  ​cat('​Número Simulação',​n,'​phi_estimado',​phi_est,'​Erro',​round(pi-phi_est,​12),'​\n'​) 
-      ​ttt[i+1] ​ <ttt[i]+1 +  ​return(c(n,​phi_est)) 
-    +}
-    else { + 
-      ​ttt[i+1] ​<- ttt[i] +<- seq(10000,​1000000,​by=20000
-    }} +res <- matrix(NA,​ncol=2,​nrow=length(n)
-    if (ttt[n+1]>​0){ +con <- 1 
-      plot((0:n)[ttt>​0],​2*(0:n)[ttt>​0]/​ttt[ttt>​0],​type='​l',​xlab='​numero simulação',​ylab='pi') +for (i in n)
-    } +  res[con,<- buffon(i) 
-    else{print('no sucesso')} +  con <- con+1 
-    abline(pi,0) +
-    } + 
-   +plot(res,​type='​l',​ylab=expression(pi),xlab='Simulações') 
-  buf(100000)+abline(h=pi,col='​red'​)
 ###​-----------------------------------------------------------------###​ ###​-----------------------------------------------------------------###​
 ### MOnte carlo ### MOnte carlo
Linha 78: Linha 78:
 MCcirculo(1,​seq(5,​5000,​by=1000),​plotS=FALSE) MCcirculo(1,​seq(5,​5000,​by=1000),​plotS=FALSE)
 ###​-----------------------------------------------------------------###​ ###​-----------------------------------------------------------------###​
-### inversão de p 
 ### Inversão de Probabilidade ### Inversão de Probabilidade
 +### OBJ: gerar x~exp transformando de uma uniforme
 NS <- 10000 NS <- 10000
 +lam <- 0.5
 +#​f(x)=exp(lam) F(x)=1-exp(-lam*x),​ logo: F^-1(x)= -lam^-1*log(1-x)
 +Gexp <- function(x,​lam){-(log(1-U))/​lam}
 +
 U <- runif(NS) U <- runif(NS)
-X <- - log(U) +X <- Gexp(U,lam
-Y <- rexp(NS)+Y <- rexp(NS,lam) 
 par(mfrow=c(1,​3)) par(mfrow=c(1,​3))
 hist(U,​freq=FALSE,​main='​Uniforme',​col='​lightblue'​) hist(U,​freq=FALSE,​main='​Uniforme',​col='​lightblue'​)
 lines(density(U),​col='​red',​lwd=2) lines(density(U),​col='​red',​lwd=2)
 +
 hist(X,​freq=FALSE,​main='​Expoencial via uniforme',​col='​lightblue'​) hist(X,​freq=FALSE,​main='​Expoencial via uniforme',​col='​lightblue'​)
 lines(density(X),​col='​red',​lwd=2) lines(density(X),​col='​red',​lwd=2)
-lines(curve(dexp(x,​1),​min(X),​max(X),​add=TRUE),​col='​blue',​lwd=2)+lines(curve(dexp(x,​lam),​min(X),​max(X),​add=TRUE),​col='​blue',​lwd=2) 
 hist(Y,​freq=FALSE,​main='​Expoencial do R',​col='​lightblue'​) hist(Y,​freq=FALSE,​main='​Expoencial do R',​col='​lightblue'​)
 lines(density(Y),​col='​red',​lwd=2) lines(density(Y),​col='​red',​lwd=2)
-lines(curve(dexp(x,​1),​min(Y),​max(Y),​add=TRUE),​col='​blue',​lwd=2)+lines(curve(dexp(x,​lam),​min(Y),​max(Y),​add=TRUE),​col='​blue',​lwd=2)
 ###​-----------------------------------------------------------------###​ ###​-----------------------------------------------------------------###​
 ### Regressão Beta ### Regressão Beta

QR Code
QR Code pessoais:eder (generated for current page)