Description Usage Arguments Value See Also Examples
RMangle delivers an anisotropy matrix for the
argument Aniso in RMmodel in two dimensions.
RMangle requires one or two stretching values, passed by
ratio or diag, and an angle.
In two dimensions and with
angle equal to a and diag equal to (d1, d2) the
anisotropy matrix A is
A = diag(d1, d2) %*% matrix(ncol=2, c(cos(a), sin(a), -sin(a), cos(a)))
In three dimensions and with
angle equal to a, second angle L
and diag equal to (d1, d2, d3) the
anisotropy matrix A is
A = diag(d1, d2, d3) %*% matrix(ncol=3, c(cos(a) * cos(L), sin(a) * cos(L), sin(L), -sin(a), cos(a), 0, -cos(a) * sin(L), -sin(a) * sin(L), cos(L)
))
i.e. Ax turns a vector x first in the x-z plane, then
in the x-y plane.
1 |
angle |
angle |
lat.angle |
second angle; in 3 dimensions only |
ratio |
equivalent to |
diag |
the diagonal components of the matrix |
RMangle returns an object of class RMmodel.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
## RFoptions(seed=NA) to make them all random again
model <- RMexp(Aniso=RMangle(angle=pi/4, ratio=3))
plot(model, dim=2)
x <- seq(0, 2, 0.05)
z <- RFsimulate(x, x, model=model)
plot(z)
model <- RMexp(Aniso=RMangle(angle=pi/4, lat.angle=pi/8, diag=c(1,2,3)))
x <- seq(0, 2, 0.2)
z <- RFsimulate(x, x, x, model=model)
plot(z, MARGIN.slices=3)
## next model gives an example how to estimate the parameters back
n <- 20
x <- runif(n, 0, 10)
y <- runif(n, 0, 10)
coords <- expand.grid(x, y)
model <- RMexp(Aniso=RMangle(angle=pi/4, diag=c(1/4, 1/12)))
d <- RFsimulate(model, x=coords[, 1], y=coords[, 2], n=10)
estmodel <- RMexp(Aniso=RMangle(angle=NA, diag=c(NA, NA)))
system.time(RFfit(estmodel, data=d, modus_operandi='sloppy'))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.