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.