Simulation from an Isotropic Spatial Kernel via Polar Coordinates
To sample points from isotropic spatial kernels
f_2(s) = f(||s||) such as siaf.powerlaw
on a
bounded domain (i.e., ||s|| < \code{ub}), it is
convenient to switch to polar coordinates (r,θ),
which have a density proportional to
r f_2((r \cos(θ), r \sin(θ))) = r f(r)
(independent of the angle θ due to isotropy).
The angle is thus simply drawn uniformly in [0,2π), and
r can be sampled by the inversion method, where numeric root
finding is used for the quantiles (since the quantile function is not
available in closed form).
siaf.simulatePC(intrfr)
intrfr |
a function computing the integral of r f(r) from 0 to |
a function with arguments (n, siafpars, type, ub)
, which
samples n
points from the spatial kernel f_2(s) within the
disc of radius ub
, where siafpars
and type
are
passed as second and third argument to intrfr
.
The environment of the returned function will be the caller's environment.
Sebastian Meyer
simfun <- siaf.powerlaw()$simulate ## is internally generated as siaf.simulatePC(intrfr.powerlaw) set.seed(1) simfun(n=10, siafpars=log(c(sigma=1, d=2)), ub=5)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.