Genere n coordenadas x: X1, . . . , Xn. Utilice la distribución uniforme con valor mínimo de 0 y valor máximo de 1. La distribución uniforme genera variables aleatorias que tienen la misma probabilidad de venir de cualquier parte del intervalo (0,1).
n <- 100000 # Puedes cambiar este valor según tus necesidades
### Generar n coordenadas x con distribución uniforme entre 0 y 1
coordenadas_x <- runif(n, min = 0, max = 1)
### Imprimir las coordenadas generadas
print(coordenadas_x[1:10])
## [1] 0.82557270 0.10920231 0.71311497 0.90090153 0.29629537 0.02157409
## [7] 0.91892909 0.96337580 0.30817363 0.76698481
Genere 100000 coordenadas y : Y1,…,Yn, utilizando nuevamente la distribución uniforme con valor mínimo de 0 y valor máximo de 1.
### Generar 100000 coordenadas Y con distribución uniforme entre 0 y 1
coordenadas_y <- runif(n, min = 0, max = 1)
### Imprimir las primeras 10 coordenadas generadas para verificar
print(coordenadas_y[1:10])
## [1] 0.88517564 0.02909783 0.53156484 0.53242381 0.26898131 0.58273772
## [7] 0.99183810 0.54924293 0.68163564 0.57910423
### Inicializar un vector para almacenar los resultados
dentro_del_circulo <- numeric(n)
### Calcular si cada par (Xi, Yi) está dentro del círculo
for (i in 1:n) {
distancia_al_centro_cuadrada <- (coordenadas_x[i] - 0.5)^2 + (coordenadas_y[i] - 0.5)^2
if (distancia_al_centro_cuadrada < 0.25) {
dentro_del_circulo[i] <- 1
} else {
dentro_del_circulo[i] <- 0
}
}
### Contar cuántos puntos están dentro del círculo
puntos_dentro_del_circulo <- sum(dentro_del_circulo)
¿Cuántos de los puntos están dentro del círculo?
print(“Número de puntos dentro del círculo:”, puntos_dentro_del_circulo, “”)
¿Cuál es su estimación de π?
x <- 4 * (78475/100000)
print(x)
## [1] 3.139