Problema 1

Estimación del valor de π

La siguiente 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 π .

“Figura Tentativa de Dispresion”
“Figura Tentativa de Dispresion”

Solucion del problema planteado

  1. En primera instancia debemos crear una serie de coordenadas tanto en el eje X como en el Eje Y y este seria una muestra de la matriz creada:

#seteamos la cantidad de coordenadas
coordenadas = 100000
#primero creamos las coordenadas en X
CoordenadasX= runif(coordenadas,min=0,max=1) # generamos coordenadas X entre 0 y 1
CoordenadasY= runif(coordenadas,min=0,max=1) # generamos coordenadas y entre 0 y 1

#creamos un dataframe con las dos coodenadas
dataframe = data.frame(corX=CoordenadasX,corY=CoordenadasY)

Muestra = dataframe[1:10, 1:2]
Muestra
##            corX       corY
## 1  0.3183808650 0.91007051
## 2  0.0792412108 0.63595131
## 3  0.4714398207 0.04364484
## 4  0.5837078900 0.15341921
## 5  0.3118840619 0.00465588
## 6  0.6839641216 0.59576309
## 7  0.2976962207 0.19481904
## 8  0.0006773365 0.68614743
## 9  0.5625010270 0.99693421
## 10 0.7892843394 0.97692760

  1. Ahora procederemos a ver una distribución de las coordenadas en una pequeña gráfica:

#graficamos los puntos de dispercion
plot(dataframe, pch = 19, col = "black")
points(mean(dataframe$corX), mean(dataframe$corY), cex = 2, col = 'red', pch = 16)

  1. ahora procederemos a crear una función la cual nos permitirá reconocer cuantos puntos estan dentro de la distancia del circulo , esto da como resultado lo siguiente

#procederemos a carlucalr la distancia del centro con una funcion
Calculo_diferencia <- function(dataframe){
  diferencia =(dataframe$corX-0.5)^2+(dataframe$corY-0.5)^2
  
  #devolvemos la variable
   return(diferencia)
}

ConteoDentro=0
ConteoFuera=0
TotalCoordenadas=0

#llamamos a la funcion y le pasamos las coordenadas
Resultado=Calculo_diferencia(dataframe)
for (i in 1:coordenadas){
  #realizamos conteo de cuantos estan dentro del circulo
   if(Resultado[i]<=0.25)
   {
     ConteoDentro=ConteoDentro+1
   }else{
       ConteoFuera=ConteoFuera+1
       }
   TotalCoordenadas=TotalCoordenadas+1
}
## [1] "Los registros dentro de la circunferencia son 78348"
## [1] "Los registros fuera de la circunferencia son 21652"

  1. Como siguiente paso calcularemos el porcentaje de área que cubren los puntos

#buscamos el porcentraje de adentro 
porcentajeD = (ConteoDentro*100)/TotalCoordenadas
paste("porcentaje dentro de la circunferencia son",porcentajeD)
## [1] "porcentaje dentro de la circunferencia son 78.348"
#calcular el area del cirulo
area = (1*porcentajeD)/100
area
## [1] 0.78348

  1. Y como paso final obtendremos la simulación de l valor de PI

# realizamos estimacion del PI
PI= area/(0.5^2)
paste("la estimacion de PI para un caso de ",TotalCoordenadas,"es de: ",PI)
## [1] "la estimacion de PI para un caso de  1e+05 es de:  3.13392"

Resultado

Como resultados finales del proceso se obtuvieron los siguientes puntos:


  1. Cantidad de puntos dentro y fueras del área del círculo fueron:

## [1] "Los registros dentro de la circunferencia son 78348"
## [1] "Los registros fuera de la circunferencia son 21652"

  1. Se tiene como resultado de estimación de π es siguiente valor

## [1] "la estimacion de PI para un caso de  1e+05 es de:  3.13392"

Conclusion

Teniendo en cuenta todo el proceso llevado a cabo en la solución del problema podemos llegar a las siguientes conclusiones:
Para el caso de la simulación del valor PI, se evidencia que entre mayor sea la cantidad de coordenadas creadas será mas cercano el valor de PI
La simulación permite llegar aun valor cercano mas no exacto de PI y este puede varias de iteración a iteración debido a que las coordenadas se crean aleatoriamente
Se considera que la simulación fue un éxito y se llegó a un valor muy cercano de PI