tavolo=function(theta,y0,k){ plot(theta,10*y0,xlim=c(0,1),ylim=c(0,10),type = "o",pch=19, yaxt="n",xlab="theta",ylab="",main=paste("Biliardo n=",k), cex.main=1) rect(0,0,1,10) lines(c(theta,theta),c(0,10),lwd=1) } biglie=function(theta,x,y){ x.L=x[x<=theta];y.L=10*y[x<=theta] x.R=x[x>theta];y.R=10*y[x>theta] points(x.L,y.L,col='red',cex=4,pch='.') points(x.R,y.R,col='blue',cex=4,pch='.') } dens_beta=function(theta,xp,L,R,col){ plot(theta,xlim=c(0,1),ylim=c(0,40),pch='.', xlab="theta",ylab="Densità beta") points(xp,dbeta(xp,L,R),ty='l',col=col) lines(c(theta,theta),c(0,40),lty="dashed") } pausa=function(){ cat("\npremere enter\n") scan() } biliardo=function(n){ x=numeric();y=numeric() theta=runif(1);y0=runif(1) xp=seq(0,1,by=0.0001) par(mfrow=c(2,1),mar=c(4,4,1.5,1)) passo=n/10 k1=1; L1=0; R1=0 set=seq(passo,n,by=passo) for(k in set){ tavolo(theta,y0,k) for (i in k1:k){ x[i]=runif(1);y[i]=runif(1) biglie(theta,x,y) } L=length(x[x<=theta]);R=length(x[x>theta]) dens_beta(theta,xp,L+1,R+1,"red") k1=k+1 pausa() } print(L) print(R) print(theta) }