CORRELATION_CHEBFUN
Investigate KL Expansions for Given Correlation Functions


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

These examples won't work unless you get a copy of the chebfun library, install it, and make it visible in the MATLAB path. That is, to run these examples, you must first get a copy of the chebfun library and make it available, either by the "addpath()" command, or else by going to the FILE menu in MATLAB, then "Set Path...", selecting the folder where chebun resides and adding it to your path.

Information about the chebfun library is available at http://www2.maths.ox.ac.uk/chebfun/ , including instructions for getting and installing a copy for yourself. You have to do that first, before anything in this library will work.

Alas, the "fred()" function in chebfun conflicts with a function of the same name, but totally different utility, in the MATLAB "datafeed" toolbox. I was only able to access the fred() I wanted by issuing the command "rmpath ( '/usr/local/matlab/toolbox/datafeed/datafeed' )".

Correlation functions available include:

Licensing:

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

Languages:

CORRELATION_CHEBFUN is available in a MATLAB version.

Related Data and Programs:

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

Reference:

  1. Zachary Battles, Lloyd Trefethen,
    An extension of Matlab to continuous functions and operators,
    SIAM Journal on Scientific Computing,
    Volume 25, Number 5, 2004, pages 1743-1770.
  2. Toby Driscoll,
    Mercer's theorem and the Karhunen-Loeve expansion,
    Oxford University Mathematical Institute.
  3. Dongbin Xiu,
    Numerical Methods for Stochastic Computations: A Spectral Method Approach,
    Princeton, 2010,
    ISBN13: 978-0-691-14212-8,
    LC: QA274.23.X58.

Source Code:

BESSELJ considers the besselj correlation function. The domain used is [0.0, 10.0]. We were able to compute 10 eigenmodes.

BESSELK considers the besselk correlation function. The domain used is [0.0, 10.0]. We were able to compute 20 eigenmodes.

BROWNIAN considers the brownian correlation function. This correlation function is not isotropic. The domain should begin at 0, but the correlation function rises sharply there, so the domain used here is [0.1, 5.0]. We were able to compute 20 eigenmodes.

CIRCULAR considers the circular correlation function. The domain used here is [0.0, 10.0]. We were able to compute 5 eigenmodes.

CONSTANT considers the constant correlation function. The domain used here is [0.0, 10.0]. We were able to compute 1 eigenmode.

CUBIC considers the cubic correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

DAMPED_COSINE considers the damped_cosine correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

DAMPED_SINE considers the damped_sine correlation function. The domain used here is [0.0, 10.0]. We were able to compute 10 eigenmodes.

EXPONENTIAL considers the exponential correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

GAUSSIAN considers the gaussian correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

HOLE considers the hole correlation function. The domain used here is [0.0, 1.0]. We were able to compute 20 eigenmodes.

LINEAR considers the linear correlation function. The domain used here is [0.0, 1.0]. We were able to compute 20 eigenmodes.

MATERN considers the matern correlation function. The domain used is [0.0, 10.0]. We were able to compute 10 eigenmodes.

PENTASPHERICAL considers the pentaspherical correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

POWER considers the power correlation function. The exponent E is set to 2. The domain used here is [0.0, 1.0]. We were able to compute 20 eigenmodes.

RATIONAL_QUADRATIC considers the rational_quadratic correlation function. The domain used here is [0.0, 10.0]. We were able to compute 20 eigenmodes.

SPHERICAL considers the spherical correlation function. The domain used here is [0.0, 1.0]. We were able to compute 20 eigenmodes.

WHITE_NOISE considers the white_noise correlation function. The domain used here is [0.0, 1.0 ]. We were able to compute 0 eigenmodes, which is consistent with the behavior of the white_noise correlation function.

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


Last modified on 04 November 2012.