| brownian.motion {animation} | R Documentation |
Demonstrate Brownian motion (random walk) in a 2D scatterplot.
brownian.motion(n = 10, xlim = c(-20, 20), ylim = c(-20, 20), ...)
n |
Number of points in the scatterplot |
xlim, ylim |
Arguments passed to plot.default to control the apperance of the scatterplot (title, points, etc), see points for details. |
... |
other arguments passed to plot.default |
Brownian motion, or random walk, can be regarded as the trace of some cumulative normal random numbers: the location of the next step is just ``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').
Yihui Xie
http://animation.yihui.name/prob:brownian_motion
# show an animation in (Windows/X Window...) a graphics device
# unless you have opened an invisible device like png(), pdf(), ...
oopt = ani.options(interval = 0.05, nmax = 150)
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow",
main = "Demonstration of Brownian Motion")
ani.options(oopt)
## Not run:
# create an HTML animation page
# store the old option to restore it later
oopt = ani.options(interval = 0.05, nmax = 100, ani.dev = png,
ani.type = "png",
title = "Demonstration of Brownian Motion",
description = "Random walk on the 2D plane: for each point
(x, y), x = x + rnorm(1) and y = y + rnorm(1).")
ani.start()
opar = par(mar = c(3, 3, 1, 0.5), mgp = c(2, .5, 0), tcl = -0.3,
cex.axis = 0.8, cex.lab = 0.8, cex.main = 1)
brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow")
par(opar)
ani.stop()
## End(Not run)
ani.options(oopt)