Cada punto \((Xi,Yi)\) se encuentra
dentro del círculo si su distancia desde el centro (0.5,0.5) es menor a
0.5. Para cada par \((Xi,Yi)\)
determine si la distancia desde el centro es menor a 0.5. Esto último se
puede realizar al calcular el valor \((Xi−0.5)^2+(Yi−0.5)^2\), que es el cuadrado
de la distancia, y al determinar si es menor que 0.25.
d=function(a){(a[1]-0.5)^2 +(a[2]-0.5)^2}
xy= data.frame(x,y) #Crea un data frame con las coordenadas (x,y)
dist= apply(xy, 1, d)
cont= as.numeric(dist <= 0.25)
¿Cuántos de los puntos están dentro del círculo? ¿Cuál es su
estimación de \(\pi\)?
cat("tamaño de muestra:", n,"\n")
tamaño de muestra: 10000
cat("Número de puntos dentro del círculo:", sum(cont), "\n")
Número de puntos dentro del círculo: 7894
cat("estimación de pi:", 4*(sum(cont)/n), "\n")
estimación de pi: 3.1576
Grafica
plot(x, y, col = ifelse(cont == 1, "blue", "red"), pch = 20, cex = 0.5, asp = 1,
main = "", xlab = "x", ylab = "y")
symbols(0.5, 0.5, circles = 0.5, add = TRUE, inches = FALSE)
