Cálculo de la probabilidad geométrica.
David J. Santana
24 de junio de 2016
Calcular la probabilidad de que un dardo caiga dentro de la circunferencia si suponemos que el dardo siempre cae de manera uniforme dentro del cuadrado.
R
library(plotrix)
#n=simulaciones
circulo=function(n){
#Primero simulamos el radio de la circunferencia.
R=runif(1,0,1)
#Ahora simulamos la posición donde caen muchos dardos.
posicionx=runif(n,-R,R)
posiciony=runif(n,-R,R)
#Graficamos el lugar donde cayó cada dardo.
par(pty="s")
plot(c(-R,R),c(-R,R),type="n",xlab="",ylab="",main="")
abline(v=c(-R,R),h=c(-R,R),asp = 1)
draw.circle(x=0,y=0,radius=R,nv=100 ,border='blue', col='lightblue',lty=1,lwd=2)
#Ahora vemos si cayó dentro de la circunferencia cada dardo.
#En ese caso la variable "exito" será uno.
exito=numeric(n)
for(i in 1:n){
exito[i]=1*(sqrt(posicionx[i]^2+posiciony[i]^2)<=R)
if(exito[i]==1){aux='red'}else{aux='yellow'}
points(posicionx[i],posiciony[i],pch=16,cex=2,col=aux)
}
#La aproximación a la probabilidad requerida es
aprox=mean(exito)
#El resultado teórico es
teor=pi/4
paste('La aproximación es ', aprox,' y el teórico es ',teor)
}
#Ejemplo
circulo(100)
## [1] "La aproximación es 0.78 y el teórico es 0.785398163397448"

No hay comentarios:
Publicar un comentario