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 21:13]
eder [section 5]
pessoais:eder [2011/06/12 17:36]
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 100: Linha 100:
 lines(density(Y),​col='​red',​lwd=2) lines(density(Y),​col='​red',​lwd=2)
 lines(curve(dexp(x,​lam),​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)
 +###​-----------------------------------------------------------------###​
 +### Metodos de integração numerica
 +#Função
 +f <- function(x){exp(-x^2)}
 +a <- -3
 +b <- 3
 +# integrar de -3,3
 +x <- seq(a,​b,​l=100)
 +plot(x,​f(x),​type='​l',​ylim=c(0,​1))
 +# Integração nativa do R - Gauss–Kronrod quadrature
 +integrate(f,​a,​b)
 +###Simpson 1/3 - INtervalos par, igualmente espaçados
 +n <- 1200
 +xi <- seq(a,​b,​l=n+1)
 +i <- seq(2,​n,​by=2)
 +j <- seq(3,​n-1,​by=2)
 +((b-a)/​n/​3)*(f(a)+4*sum(f(xi[i]))+2*sum(f(xi[j]))+f(b))
 +###Simpson 3/8 - Intervalos divisiveis por 3
 +n <- 1200
 +xi <- seq(a,​b,​l=n+1)
 +i <- seq(2,​n,​by=3)
 +j <- seq(4,​n-2,​by=3)
 +((3*(b-a)/​n)/​8)*(f(a)+3*sum(f(xi[i])+f(xi[i+1]))+2*sum(f(xi[j]))+f(b))
 +### Quadratura gausiana 3º Ordem
 +w <- c(0.555555,​0.888888,​0.555555)
 +xi <- c(-0.77459667,​0,​0.77459667)
 +(b-a)/​2*sum(f((b-a)/​2*xi+(a+b)/​2)*w)
 +### Quadratura gausiana 4º Ordem
 +w <- c(0.3478548,​0.6521452,​0.6521452,​0.3478548)
 +xi <- c(-0.86113631,​-0.33998104,​0.33998104,​0.86113631)
 +(b-a)/​2*sum(f((b-a)/​2*xi+(a+b)/​2)*w)
 +### Quadratura gausiana 6º Ordem
 +w <- c(0.1713245,​0.3607616,​0.4679139,​0.4679139,​0.3607616,​0.1713245)
 +xi <- c(-0.933246951,​-0.66120938,​-0.23861919,​0.23861919,​0.66120938,​0.933246951)
 +(b-a)/​2*sum(f((b-a)/​2*xi+(a+b)/​2)*w)
 +###Monte Carlo
 +n <- 10000
 +xi <- runif(n,​a,​b)
 +Ls <- max(f(seq(a,​b,​l=100)))
 +Li <- 0
 +yi <- runif(n,​Li,​Ls)
 +sum(f(xi)>​=yi)/​n*((b-a)*(Ls-Li))
 +points(xi,​yi)
 +###Laplace
 +#f' <- -2*x*exp(-x^2)
 +D2f  <- function(x){(4*x^2-2)*exp(-x^2)}
 +D2f(0)
 +((2*pi)/​((-D2f(0))))^0.5*f(0)
 +##Avaliando
 +x <- seq(a,​b,​l=100)
 +plot(x,​f(x),​type='​l',​ylim=c(0,​2))
 +lines(x,​((2*pi)/​((-D2f(0))))^0.5*f(x),​col="​red"​)
 ###​-----------------------------------------------------------------###​ ###​-----------------------------------------------------------------###​
 ### Regressão Beta ### Regressão Beta

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