n <- 1000 # numero de coordenadas a generar
x <- runif(n, min = 0, max = 1)
y <- runif(n, min = 0, max = 1)
# Calcular distancia al centro (0.5, 0.5)
dist <- (x - 0.5)^2 + (y - 0.5)^2
# Determinar si la distancia es menor a 0.25
dentro <- dist <= 0.25
d.1 ¿Cuantos de los puntos estan dentro del circulo?
print(sum(dentro))
## [1] 815
d.2 ¿Cual es su estimacion de Pi?
pi_est <- 4 * sum(dentro) / n
print(pi_est)
## [1] 3.26
Como se podrian graficar estos resultados?
plot(x, y, xlim=c(0,1), ylim=c(0,1))
points(x[dentro], y[dentro], col="red")
# Numero de puntos a generar
n1 <- 10000
# Generar coordenadas x e y aleatorias entre 0 y 1
x1 <- runif(n1, min = 0, max = 1)
y1 <- runif(n1, min = 0, max = 1)
# Calcular distancia al centro
dist1 <- (x1 - 0.5)^2 + (y1 - 0.5)^2
# Determinar si esta dentro del circulo
dentro1 <- dist1 <= 0.25
# Contar puntos dentro del circulo
puntos_dentro1 <- sum(dentro1)
# Estimar pi
pi_est1 <- 4 * puntos_dentro1 / n1
# Mostrar el resultado
pi_est1
## [1] 3.1196
Como se podrian graficar estos resultados?
plot(x1, y1, xlim=c(0,1), ylim=c(0,1))
points(x1[dentro1], y1[dentro1], col="red")
# Numero de puntos a generar
n2 <- 100000
# Generar coordenadas x e y aleatorias entre 0 y 1
x2 <- runif(n2, min = 0, max = 1)
y2 <- runif(n2, min = 0, max = 1)
# Calcular distancia al centro
dist2 <- (x2 - 0.5)^2 + (y2 - 0.5)^2
# Determinar si esta dentro del circulo
dentro2 <- dist2 <= 0.25
# Contar puntos dentro del circulo
puntos_dentro2 <- sum(dentro2)
# Estimar pi
pi_est2 <- 4 * puntos_dentro2 / n2
# Mostrar el resultado
pi_est2
## [1] 3.1382
Como se podrian graficar estos resultados?
plot(x2, y2, xlim=c(0,1), ylim=c(0,1))
points(x2[dentro2], y2[dentro2], col="red")