Introducción

La figura sugiere como estimar el valor de π con una simulación. En la figura, un circuito con un área igual a π/4, está inscrito en un cuadrado cuya área es igual a 1. Se elige de forma aleatoria n puntos dentro del cuadrado. La probabilidad de que un punto esté dentro del círculo es igual a la fracció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, para obtener la estimación de π/4. De este último resultado se encontrar una aproximación para el valor de π.

Estimacion del Valor de PI

Métodos

Inicialmente vamos a generar 1000 coordenadas utilizando como distribución uniforme un valor minimo de 0 y un valor maximo de 1, esto mismo se realizará y se asignará a otra variable, se crea un vector que almacena las distancias y se calculan las distancias en un ciclo for, a continuación se guardan los puntos tanto dentro como fuera del circulo.

set.seed(123)
x = runif(1000,0,1)
y = runif(1000,0,1)
distancias <- numeric()

for (i in 1:length(x))
{distancias[i] = (x[i]-0.5)^2 + (y[i]-0.5)^2}

puntos = ifelse(distancias < 0.25, 1, 0) 

cantidadpuntos <- 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 = "Red")
abline(h = seq(0, 1, 0.1), lty = 2, col = "Red")

radio <- 1/2

a <- 0.5 ## origen circunferencia eje x
b <- 0.5 ## origen circunferencia eje y

x1 <- a + cos(cantidadpuntos)*radio
y1 <- b + sin(cantidadpuntos)*radio

points(x1, y1, type = "l", col = "Blue", lwd=2)
points(x,y,pch = 20)

Resultados

Se van a graficar los puntos con el fin de conocer el numero de puntos dentro del circulo, en total habian 800 puntos.

sum(puntos)
## [1] 800

Y se realiza la estimación de pi, que da un total de 3.2.

4 * sum(puntos)/length(x)
## [1] 3.2