# hit-miss+int.R
# semplice esempio di uso di tecnica hit/miss
# sia per estrarre nr random che per fare integrale
#
# G.D'Agostini  febbraio 2010
#-------------------------------------------
 
 
myf <- function(x) 1-x        # funzione facile (cambiare a piacere)
 
n=100000
x <- runif(n, 0, 1) # x uniformi fra 0 e 1
k <- max( myf(x) ) * 1.1      # max myf() con margine di sicurezza esagerato
ry <- runif(n, 0, k)          # y uniformi fra 0 e k
xr <- x[ ry <= myf(x)]        # ecco i numeri casuali generati secondo myf()
                              #   (ovviamente sono in numero minore di n)
int <- length(xr)/n * k       # e questo e' l'integrale
 
hist(xr,nc=100)               # istogramma