MC.hitormiss {animation} | R Documentation |
Integrate a function using the Hit-or-Miss Monte Carlo algorithm
MC.hitormiss(FUN = function(x) x - x^2, n = ani.options("nmax"), from = 0, to = 1, col.points = c("black", "red"), pch.points = c(20, 4), ...)
FUN |
the function to be integrated |
n |
number of points to be sampled from the Uniform(0, 1) distribution |
from,to |
the limits of integration |
col.points,pch.points |
colors and point characters for points which ``hit'' or ``miss'' the area under the curve |
... |
other arguments passed to points
|
We compute the proportion of points hitting the area under the curve, and the integral can be estimated by the proportion multiplied by the total area of the rectangle (from xmin to xmax, ymin to ymax).
A list containing
x1 |
the Uniform random numbers generated on x-axis |
x2 |
the Uniform random numbers generated on y-axis |
y |
function values evaluated at x1 |
n |
number of points drawn from the Uniform distribtion |
est |
the estimated value of the integral |
This function is for demonstration purpose only; the integral might be very inaccurate when n
is small.
Yihui Xie <http://yihui.name>
http://animation.yihui.name/compstat:hit_or_miss_monte_carlo
oopt = ani.options(interval = 0.2, nmax = 100) # should be close to 1/6 MC.hitormiss()$est # should be close to 1/12 MC.hitormiss(from = 0.5, to = 1)$est ## Not run: ## HTML animation page ani.options(interval = 0.5, title = "Hit or Miss Monte Carlo Integration", description = "Generate Uniform random numbers and compute the proportion of points under the curve.") ani.start() MC.hitormiss() ani.stop() ## End(Not run) ani.options(oopt)