Podemos obtener una estimación de \(\pi\) utilizando el método de Monte Carlo de la siguiente manera: primero, graficamos un círculo de área \(\pi/4\) inscrito dentro de un cuadrado de área 1. Luego, generamos puntos aleatorios con distribución uniforme (0,1) las cuales seran nuestras coordenadas para los ejes \(x\) y \(y\). Contamos los puntos que se encuentran dentro del círculo, y, por último, nuestro \(\pi\) estimado será el conteo de puntos dentro del círculo sobre el total de puntos generados, multiplicado por 4.
## Actividad 2
set.seed(100)
distan<- function(n){
x <- runif(n, 0,1)
y <- runif(n, 0,1)
distancias <- (x - 0.5)^2 +(y - 0.5)^2
dentro <- distancias < 0.25
conteo_dentro <- sum(dentro)
estimacion_pi <- (conteo_dentro / n)*4
cat("Número de puntos dentro:", conteo_dentro, "y el valor estimado de Pi es:", estimacion_pi )
rad <- 0.5 # Valor del radio
xcenter <- 0.5 # Coordenada en x del centro
ycenter <- 0.5 # Coordenada en y del centro
plot(c(0, 1), c(0, 1), type="n", xlab="", ylab="", asp=1)
theta <- seq(0, 2 * pi, length = 200)
polygon(x=rad * cos(theta) + xcenter,
y=rad * sin(theta) + ycenter,
lwd=3, col='steelblue1', border='steelblue4')
grid()
points(x,y,pch = 20)
}
distan(1000)
## Número de puntos dentro: 775 y el valor estimado de Pi es: 3.1
Al realizar esta primera estimación de \(\pi\), no se obtiene un valor tan cercano al valor real.
distan(10000)
## Número de puntos dentro: 7860 y el valor estimado de Pi es: 3.144
Al incrementar el número de puntos graficados se obtiene una estimación más cercana al valor \(\pi\), sin embargo, esta estimación puede mejorar un poco más incrementando el número de registros.
distan(100000)
## Número de puntos dentro: 78551 y el valor estimado de Pi es: 3.14204
Al incrementar el número de puntos graficados se obtiene una estimación del valor \(\pi\) más precisa. Aunque visualmente no se distinguen para ejemplificar el conteo.