Generamos 1000 coordenadas x e y con distribución uniforme en el intervalo (0,1).
set.seed(123)
n <- 1000
x <- runif(n, min = 0, max = 1)
y <- runif(n, min = 0, max = 1)
Cada punto (x, y) está dentro del círculo si su distancia al centro (0.5, 0.5) es menor a 0.5, lo que equivale a la condición:
\[ (X_i - 0.5)^2 + (Y_i - 0.5)^2 < 0.25 \]
dentro_circulo <- (x - 0.5)^2 + (y - 0.5)^2 < 0.25
puntos_dentro <- sum(dentro_circulo)
Respuesta:
Dado que la relación de puntos dentro del círculo es aproximadamente π/4, estimamos π como:
pi_estimado <- (puntos_dentro / n) * 4
pi_estimado
## [1] 3.2
Respuesta:
Visualizamos los puntos generados y diferenciamos los que están dentro y fuera del círculo.
Para mejorar la precisión, repetimos el experimento con 10,000 y 100,000 puntos.
simular_pi <- function(n) {
x <- runif(n, 0, 1)
y <- runif(n, 0, 1)
dentro <- sum((x - 0.5)^2 + (y - 0.5)^2 < 0.25)
return((dentro / n) * 4)
}
pi_10k <- simular_pi(10000)
pi_100k <- simular_pi(100000)
Respuesta:
Estimación de π con 10,000 puntos: 3.1528
Estimación de π con 100,000 puntos: 3.144
a.) y b.): Se generaron 1000 coordenadas Xi y Yi con distribución uniforme en el intervalo (0,1).
c.): Se encontraron 782 puntos dentro del círculo.
d.): La estimación de πcon estos 1000 puntos es 3.128, que es cercana al valor real π ≈ 3.1416
A medida que aumenta el número de puntos, la estimación de π se acerca más a su valor real (3.1416).