pi.greco2=function(nrepl=10000){ somma = 0 for(i in 1:nrepl){ x=runif(1, min=0, max=1) somma= somma + 1/sqrt(1 -x^2) } return( 2*somma/nrepl ) } ===================================== pi.greco=function(nrepl=10000){ xy=runif(nrepl*2, min=-1, max=1) dim(xy)=c(nrepl,2) inside=apply(xy^2,1,sum)<1 plot(xy, pch=20, cex=.5, col=c("navy","pink")[inside+1], xlab="x", ylab="y", main=paste("nrepl =",nrepl)) a=seq(0,2*pi,length.out=100) xy.circle=cbind(cos(a),sin(a)) lines(xy.circle,col="pink",lwd=2) return( sum(inside)/nrepl *4) } ============================================ pi.greco6 = function(nrepl=10000){ x=runif(nrepl, min=0, max=0.5) dim(x) = c(nrepl,1) somma= sum(1/sqrt(1 -x^2),1) print(somma*3/nrepl) } =================================== nepero = function(nrepl=10){ sommatoria = 0 for(i in 1:nrepl){ somma=0 passi=0 while(somma<1){ x = runif(1,min=0,max=1) somma= somma + x passi = passi +1 } sommatoria = sommatoria + passi numero = sommatoria/nrepl } return(numero) }