jeudi 14 janvier 2016

Monte carlo integration not working?

I wish to integrate (1/x)*(2/(1+(log(x))^2)) from 0 to 1. Wolfram alpha tells me this should be pi. But when I do monte carlo integration in R, I keep getting 3.00 and 2.99 after trying over 10 times. This is what I have done:

y=runif(10^6)
f=(1/y)*(2/(1+(log(y))^2))
mean(f)

I copied the exact function into wolfram alpha to check that the integral should be pi

I tried to check if my y is properly distributed by checking it's mean and plotting a historgram, and it seems to be ok. Could there be something wrong with my computer?

Edit: Maybe someone else could copy my code and run it themselves, to confirm that it isn't my computer acting up.




Aucun commentaire:

Enregistrer un commentaire