Learn R Programming

geoR (version 1.2-5)

matern: Computer Values of the Matern Correlation Function

Description

This function computes values of the $\mbox{Mat\'{e}rn}$ correlation function for given distances and parameters.

Usage

matern(u, phi, kappa)

Arguments

u
a vector, matrix or array with values of the distances between pairs of data locations.
phi
value of the range parameter $\phi$.
kappa
value of the smoothness parameter $\kappa$.

Value

  • A vector matrix or array, according to the argument u, with the values of the $\mbox{Mat\'{e}rn}$ correlation function for the given distances.

Details

The $\mbox{Mat\'{e}rn}$ model is defined as: $$\rho(u;\phi,\kappa) ={2^{\kappa-1} \Gamma(\kappa)}^{-1} (u/\phi)^\kappa K_\kappa(u/\phi)$$ where $\phi$ and $\kappa$ are parameters and $K_\kappa(\cdot)$ denotes the modified Bessel function of the third kind of order $\kappa$. The family is valid for $\phi>0$ and $\kappa>0$.

References

Further information about geoR can be found at: http://www.maths.lancs.ac.uk/~ribeiro/geoR.

See Also

cov.spatial for the correlation functions implemented in geoR, and besselK for computation of the Bessel functions.

Examples

Run this code
#
# Models with fixed range and varying smoothness parameter
#
curve(matern(x, phi= 0.25, kappa = 0.5),from = 0, to = 1,
      xlab = "distance", ylab = expression(rho(h)), lty = 2,
      main=expression(paste("varying  ", kappa, "and fixed  ", phi)))
curve(matern(x, phi= 0.25, kappa = 1),from = 0, to = 1, add = TRUE)
curve(matern(x, phi= 0.25, kappa = 2),from = 0, to = 1, add = TRUE,
      lwd = 2, lty=2)
curve(matern(x, phi= 0.25, kappa = 3),from = 0, to = 1, add = TRUE,
      lwd = 2)
legend(0.6,1, c(expression(kappa == 0.5), expression(kappa == 1),
    expression(kappa == 2), expression(kappa == 3)),
    lty=c(2,1,2,1), lwd=c(1,1,2,2))
#
# Correlations with equivalent "practical range"
# and varying smoothness parameter
#
curve(matern(x, phi = 0.25, kappa = 0.5),from = 0, to = 1,
      xlab = "distance", ylab = expression(gamma(h)), lty = 2,
      main = "models with equivalent "practical" range")
curve(matern(x, phi = 0.188, kappa = 1),from = 0, to = 1, add = TRUE)      
curve(matern(x, phi = 0.14, kappa = 2),from = 0, to = 1,
      add = TRUE, lwd=2, lty=2)      
curve(matern(x, phi = 0.117, kappa = 2),from = 0, to = 1,
      add = TRUE, lwd=2)      
legend(0.4,1, c(expression(paste(kappa == 0.5, "and  ",
       phi == 0.250)),
       expression(paste(kappa == 1, "and  ", phi == 0.188)),
       expression(paste(kappa == 2, "and  ", phi == 0.140)),
       expression(paste(kappa == 3, "and  ", phi == 0.117))),
       lty=c(2,1,2,1), lwd=c(1,1,2,2))

Run the code above in your browser using DataLab