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))
}
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