Description Usage Arguments Value Note See Also Examples
RMmatrix
is a multivariate covariance model
depending on one multivariate covariance model, or
one or several univariate covariance models C0,….
The corresponding covariance function is given by
C(h) = M phi(h) M^t
if a multivariate case is given. Otherwise it returns a matrix
whose diagonal elements are filled with the univarate model(s)
C0
, C1
, etc, and the
offdiagonals are all zero.
1 2 |
C0 |
a k-variate covariance |
C1,C2,C3,C4,C5,C6,C7,C8,C9 |
optional univariate models |
M |
a k times k matrix, which is multiplied from left and right to the given model; M may depend on the location, hence it is then a matrix-valued function and C will be non-stationary with C(x, y) = M(x) phi(x, y) M(y)^t |
vdim |
positive integer. This argument should be given if and only
if a multivariate model is created from a single univariate model and
|
var,scale,Aniso,proj |
optional arguments; same meaning for any
|
RMmatrix
returns an object of class
RMmodel
.
RMmatrix
also allows variogram models are arguments.
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
## RFoptions(seed=NA) to make them all random again
## Not run:
## first example: bivariate Linear Model of Coregionalisation
x <- y <- seq(0, 10, 0.2)
model1 <- RMmatrix(M = c(0.9, 0.43), RMwhittle(nu = 0.3)) +
RMmatrix(M = c(0.6, 0.8), RMwhittle(nu = 2))
plot(model1)
simu1 <- RFsimulate(RPdirect(model1), x, y)
plot(simu1)
## second, equivalent way of defining the above model
model2 <- RMmatrix(M = matrix(ncol=2, c(0.9, 0.43, 0.6, 0.8)),
c(RMwhittle(nu = 0.3), RMwhittle(nu = 2)))
simu2 <- RFsimulate(RPdirect(model2), x, y)
stopifnot(all.equal(as.array(simu1), as.array(simu2)))
## third, equivalent way of defining the above model
model3 <- RMmatrix(M = matrix(ncol=2, c(0.9, 0.43, 0.6, 0.8)),
RMwhittle(nu = 0.3), RMwhittle(nu = 2))
simu3 <- RFsimulate(RPdirect(model3), x, y)
stopifnot(all(as.array(simu3) == as.array(simu2)))
## End(Not run)
## second example: bivariate, independent fractional Brownian motion
## on the real axis
x <- seq(0, 10, 0.1)
modelB <- RMmatrix(c(RMfbm(alpha=0.5), RMfbm(alpha=1.5))) ## see the Note above
print(modelB)
simuB <- RFsimulate(modelB, x)
plot(simuB)
## third example: bivariate non-stationary field with exponential correlation
## function. The variance of the two components is given by the
## variogram of fractional Brownian motions.
## Note that the two components have correlation 1.
x <- seq(0, 10, 0.1)
modelC <- RMmatrix(RMexp(), M=c(RMfbm(alpha=0.5), RMfbm(alpha=1.5)))
print(modelC)
simuC <- RFsimulate(modelC, x, x, print=1)
#print(as.vector(simuC))
plot(simuC)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.