Guide to Matlab/Octave Software

picture 4
Matlab provides a wide range of functions for generating random variables and carrying out statistical analysis.  It includes statistics, fuzzy and time series analysis tool boxes.

The SAFE toolbox

The SAFE (Sensitivity Analysis for Environmental Applications) toolbox is a set of Matlab routines and workflows for carrying out a wide range of sensitivity analyses (see Pianosi, F., J. Rougier, J. Freer, J. Hall, D. B. Stephenson, K. J. Beven, and T. Wagener, 2016, Sensitivity Analysis of environmental models: a systematic review with practical workflows, Environmental Modelling and Software, 79: 214-232). The SAFE toolbox is hosted by the University of Bristol at

The CURE toolbox

The CURE (CREDIBLE Uncertainty and Risk Estimation) is a set of Matlab/Octave routines and workflows for a variety of forms of uncertainty estimation (including Forward Uncertainty Estimation, Bayesian MCMC methods, Approximate Bayesian Computation (ABC) methods,  Generalised Likelihood Uncertainty Estimation (GLUE) methods.  The  CURE toolbox is hosted by the University of Bristol and will be released real soon now.

The CAPTAIN toolbox

The CAPTAIN tool box for time series analysis includes routines on which some of the real-time forecasting methods described in Section 5.3 of Environmental Modelling: An Uncertain Future? may be found at

Octave implements much of the functionality of Matlab in a package freely available under the GNU General Public License

Generation of random variables

Matlab has a number of inbuilt random number generators for different forms of distribution.

The EU Joint Research Centre (JRC) Simlab package includes a wide variety of distribution generation functions ( with a “cook book” for new users.

Both the SAFE and CURE toolboxes (see above) include routines for the generation of independent and correlated random variables.

Generalised Sensitivity Analysis (GSA)

The JRC Simlab package noted above includes the Sobol’ method of generalised sensitivity analysis.  JRC also maintains a sensitivity analysis forum with details of some other software packages ( )

Routines for Hornberger-Spear-Young GSA are included in the SAFE package (see above)

Generalised Likelihood Uncertainty Estimation (GLUE)

A Matlab implementation of GLUE is available from the EU Joint Research Laboratory (see ). This package also includes routines for HSY Generalised Sensitivity Analysis.

An implementation of GLUE is included in the CURE toolbox (see above).