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