Estimacion del valor del número \(\pi\)

Para realizar la estimación del número \(\pi\) crearemos una funcion que genere \(n\) coordenadas en el eje X y Y, mediante una distribucion uniforme y permita contar cuantas coordenadas estan dentro del círculo con centro en \((0.5,0.5)\) y el valor aproximado del número \(\pi\)

pi <- function(n) {
  # n numero de muestras a usar  
  x <- runif(n, min = 0, max = 1) # coordenada aleatoria eje x
  y <- runif(n, min = 0, max = 1) # coordenada aleatoria eje y
  
  z <- numeric(n) # vector z de longitud n
  contador <- 0
  
  for (i in 1:n) {
    z[i] <- (x[i] - 0.5)^2 + (y[i] - 0.5)^2
    if (z[i] < 0.25) {
      contador <- contador + 1
    }
  }
  
  val <- round(contador / n, 3)
  aproxpi <- 4 * val
  return(list(positivos= contador,valor_pi=aproxpi))
}

Pruebas

prueba # 1

\(n=1.000\)

resultado<-pi(1000)
resultado
## $positivos
## [1] 780
## 
## $valor_pi
## [1] 3.12

prueba # 2

\(n=10.000\)

resultado_1<-pi(10000)
resultado_1
## $positivos
## [1] 7908
## 
## $valor_pi
## [1] 3.164

prueba # 3

\(n=100.000\)

resultado<-pi(100000)
resultado
## $positivos
## [1] 78379
## 
## $valor_pi
## [1] 3.136