Estimación del valor de Ï€.La siguiente figura sugiere como estimar el valor de Ï€ con una simulación. En la figura, un circuÃto con un áreaigual a Ï€/4, está inscrito en un cuadrado cuya área es igual a 1. Se elige de forma aleatoria 100 puntos dentro del cuadrado . La probabilidad de que un punto esté dentro del cÃrculo es igual a la pracción del área del cuadrado que abarca a este, la cual es Ï€/4.Por tanto, se puede estimar el valor de Ï€/4 al contar el número de puntos dentro del cÃrculo, que es 79 para obtener la estimación de Ï€/4≈0.76. De este último resultado se concluye que π≈4(0.79)=3.14.Este ejercicio presenta un experimento de simulación que fue diseñado para estimar el valor de Ï€ al generar 1000 puntos en el cuadrado.
x = runif(1000,0,1)
y = runif(1000,0,1)
#creamos un vector que almacena las distancias
dis_p_c <- numeric()
#calculamos las distancias
for (i in 1:length(x)){dis_p_c[i] = (x[i]-0.5)^2 + (y[i]-0.5)^2}
#guardamos los puntos tanto dentro como fuera del circulo
#1 -> esta dentro
#0 -> esta fuera
puntos = ifelse(dis_p_c < 0.25, 1, 0)
#graficamos los puntos
t <- seq(0, 2*pi, length.out = 100)
plot(0, 0, asp = 1, type = "n",
xlim = c(0, 1), ylim = c(0, 1),
ann = F)
abline(v = seq(0, 1, 0.1), lty = 2, col = "gray50")
abline(h = seq(0, 1, 0.1), lty = 2, col = "gray50")
radio <- 1/2
a <- 0.5 ## origen circunferencia eje x
b <- 0.5 ## origen circunferencia eje y
xx <- a + cos(t)*radio
yy <- b + sin(t)*radio
points(xx, yy, type = "l", col = "blue")
points(x,y,pch = 20)
sum(puntos)
## [1] 764
4 * sum(puntos)/length(x)
## [1] 3.056
4 * sum(puntos)/length(x) - pi
## [1] -0.08559265