| brownian.motion {animation} | R Documentation |
Brownian motion, or random walk, can be regarded as the trace of some cumulative normal random numbers.
brownian.motion(n = 10, xlim = c(-20, 20), ylim = c(-20, 20), ...)
n |
Number of points in the scatterplot |
xlim,ylim |
Arguments passed to
|
... |
other arguments passed to
|
The location of the next step is “current location + random Gaussian numbers”, i.e.,
x[k + 1] = x[k] + rnorm(1)
y[k + 1] = y[k] + rnorm(1)
where (x, y) stands for the location of a point.
None (invisible NULL).
The maximum number of steps in the motion is specified in
ani.options('nmax').
Yihui Xie <http://yihui.name>
http://vis.supstat.com/2012/11/brownian-motion-with-r
oopt = ani.options(interval = 0.05, nmax = ifelse(interactive(), 150, 2))
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow", main = "Demonstration of Brownian Motion")
ani.options(oopt)
## create an HTML animation page
saveHTML({
par(mar = c(3, 3, 1, 0.5), mgp = c(2, 0.5, 0), tcl = -0.3, cex.axis = 0.8, cex.lab = 0.8,
cex.main = 1)
ani.options(interval = 0.05, nmax = ifelse(interactive(), 150, 10))
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow")
}, single.opts = "'controls': ['first', 'previous', 'play', 'next', 'last', 'loop', 'speed'], 'delayMin': 0",
title = "Demonstration of Brownian Motion", description = c("Random walk on the 2D plane: for each point",
"(x, y), x = x + rnorm(1) and y = y + rnorm(1)."))
ani.options(oopt)