Examples of Correlation Functions

CORRELATION is a MATLAB library which contains examples of statistical correlation functions.

The (nonstationary) correlation function c(s,t) must satisfy the following properties:

  1. -1 ≤ c(s,t) ≤ +1;
  2. c(s,t) = c(t,s);
  3. c(s,s) = 1;

Most of the correlation functions considered here determine the correlation of two random values y(x1) and y(x2), depending only on distance, that is, on the norm ||x1-x2||, which we will denote by "r". Such correlation functions are called "stationary".

The stationary correlation function c(r) must satisfy the following properties:

  1. -1 ≤ c(r) ≤ +1;
  2. c(0) = 1;

It is often the case that a typical scale length "r0" is specified, called the "correlation length". In that case, the correlation function may be expressed in terms of the normalized distance r/r0.

Because correlation functions model physical situations, it is usually the case that the correlation function will smoothly and steadily decrease to 0 with r, or that it will oscillate between positive and negative values, with an amplitude that is steadily decreasing. One of the most popular correlation functions is the gaussian correlation, which has many desirable statistical and mathematical properties.

Correlation functions available include:


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


CORRELATION is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

BROWNIAN_MOTION_SIMULATION, a MATLAB program which simulates Brownian motion in an M-dimensional region.

CNOISE, a MATLAB library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.

COLORED_NOISE, a MATLAB library which generates samples of noise obeying a 1/f^alpha power law.

CORRELATION_CHEBFUN, a MATLAB library which uses the chebfun library to compute truncated Karhunen-Loeve expansions of stochastic processes with a given correlation function.

PINK_NOISE, a MATLAB library which computes a "pink noise" signal obeying a 1/f power law.

RANDOM_WALK_1D_SIMULATION, a MATLAB program which simulates a random walk in a 1-dimensional region.

SDE, a MATLAB library which illustrates the properties of stochastic differential equations (SDE's), and common algorithms for their analysis, by Desmond Higham;


  1. Petter Abrahamsen,
    A Review of Gaussian Random Fields and Correlation Functions,
    Norwegian Computing Center, 1997.
  2. Claude Dietrich, Garry Newsam,
    Fast and exact simulation of stationary Gaussian processes through the circulant embedding of the covariance matrix,
    SIAM Journal on Scientific Computing,
    Volume 18, Number 4, pages 1088-1107, July 1997.

Source Code:

Examples and Tests:

You can go up one level to the MATLAB source codes.

Last modified on 12 November 2012.