## TDIST

TDIST Computes the distribution (PDF, CDF or QF - quantiles) of a linear combination of independent SYMMETRIC (zero-mean) random variables (RVs), say Y = sum_i \lambda_i X_i, with X_i having specific distributions:

- STUDENT's t distribution with 0 < df < Inf,

- NORMAL distribution N(0,1),

- RECTANGULAR (uniform) distribution R(-1,1),

- symmetric TRIANGULAR distribution T(-1,1),

- symmetric ARCSINE distribution (U-distribution) U(-1,1),

TDIST is based on numerical inversion of the characteristic function (Gil-Pelaez method). The required integration is performed by the 14-points Gaussian quadrature over N sub-intervals of [0, Tmax].

SYNTAX:

[yfun,xfun,results] = TDIST(X,df,lambda,funtype,options)

INPUT:

X - vector of appropriate (funtype) x values if X = [] then xfun is generated automatically

df - vector of degrees of freedom of independent STUDENT's t RVs, t_df, for 0 < df < Inf. Further,

set df = Inf for the NORMAL RVs, N(0,1),

set df = -1 for the RECTANGULAR RVs, R(-1,1),

set df = -2 for the symmetric TRIANGULAR RVs, T(-1,1),

set df = -3 for the symmetric ARCSINE RVs, U(-1,1),

set df < -10 for the symmetric mixture of CHI2 and -CHI2 RVs with nu = abs(df+10) degrees of freedom.

lambda - vector of coefficients of the linear combination

funtype - default value is 1 (calculates the CDF)

The following funtypes are legible:

0: TDIST calculates CDF and PDF, yfun = [CDF,PDF].

1: TDIST calculates the cumulative distribution function, CDF at X, yfun = CDF.

2: TDIST calculates the probability density function, PDF, at X, yfun = PDF.

3: TDIST calculates the quantile function, QF at X, yfun = QF.

4: TDIST calculates the characteristic function, CHF at X, yfun = CHF.

EXAMPLE 1: (CDF of a linear combination of RVs defined by df)

df = [Inf 1 -1 -2 -3];

lambda = [1 1 5 1 10];

funtype = 1;

[cdf,x] = tdist([],df,lambda,funtype);

EXAMPLE 2: (PDF of a linear combination of RVs defined by df)

df = [Inf 1 -1 -2 -3];

lambda = [1 1 5 1 10];

funtype = 2;

[pdf,x] = tdist([],df,lambda,funtype);

EXAMPLE 3: (QF of a linear combination of RVs defined by df)

options.isPlot = false;

df = [Inf 1 -1 -2 -3];

lambda = [1 1 5 1 10];

funtype = 3;

prob = [0.9 0.95 0.99]';

qf = tdist(prob,df,lambda,funtype,options);

disp([prob qf]);

EXAMPLE 4: (CHF of a linear combination of RVs defined by df)

options.isPlot = true;

df = [Inf 1 -1 -2 -3];

lambda = [1 1 5 1 10];

funtype = 4;

t = linspace(0,pi);

chf = tdist(t,df,lambda,funtype,options);

EXAMPLE 5 (Create PDF as a CHEBFUN function and use it to compute CDF)

df_true = [1 2 3 10];

df = -10 - df_true; % symmetric chi2-mixture distributions

lambda = [1 1 1 1];

funtype = 2;

N = 2^10;

xmax = 130;

x = -xmax * cos((0:N)*pi/N);

f = tdist(x,df,lambda,funtype);

pdf = chebfun(f,[-xmax,xmax]);

integrate = sum(pdf);

cdf = cumsum(pdf);

xnew = linspace(-50,50);

figure

plot(xnew,cdf(xnew))

EXAMPLE 6: (Create a CHEBFUN for the QF)

options.isChebfun = true;

options.n = 2^8;

options.N = 2^9;

df = [Inf 1 -1 -2 -3];

lambda = [1 1 5 1 10];

funtype = 3;

[qf,prob,results] = tdist([],df,lambda,funtype,options);

QF = results.chebfun;

disp(QF([0.9 0.95 0.99]'))

The algorithm requires evaluation of the BesselK and BesselJ functions.

The algorithm requires evaluation of the BesselK and BesselJ functions.

REFERENCES:

[1] GIL-PELAEZ, J. Note on the inversion theorem. Biometrika 38 (1951), 481–482.

[2] WITKOVSKY , V. On the exact computation of the density and of the quantiles of linear combinations of t and F random variables. Journal of Statistical Planning and Inference 94 (2001), 1–13.

[3] WITKOVSKY , V. Matlab algorithm TDIST: The distribution of a linear combination of Student’s t random variables. In COMPSTAT 2004 Symposium (2004), J. Antoch, Ed., Physica-Verlag/Springer 2004, Heidelberg, Germany,1995–2002.

[4] DRISCOLL, T. A., HALE, N., TREFETHEN, L. N. Chebfun Guide. Pafnuty Publications, Oxford, 2014.

Viktor Witkovsky (witkovsky@gmail.com)

Ver.: 01-Dec-2014 01:30:48

### Cite As

Viktor Witkovsky (2023). TDIST (https://www.mathworks.com/matlabcentral/fileexchange/4199-tdist), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility

##### Platform Compatibility

Windows macOS Linux##### Categories

##### Tags

##### Acknowledgements

**Inspired by:**
LambertWchi2, Chebfun - current version, Collective Risk Model Tool

**Inspired:**
HPmixed: The High Performance Mixed Effects Model Toolbox, LambertWchi2

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!### Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Version | Published | Release Notes | |
---|---|---|---|

1.6.0.1 | Institute of Measurement Science SAS included in Summary |
||

1.6.0.0 | Corrected was the error in computing the quantile function QF (changed was the starting value for the iteration procedure. Now, qf0 = 0). |
||

1.5.0.0 | Added CHF2PDF. A simple function for evaluation of the PDF from the characteristic function by the Fast Fourier Transform (FFT). |
||

1.4.0.0 | Added symmetric CHI2 distribution (symmetric mixture of CHI2 and minus CHI2 distributions). Possibility to create a CHEBFUN representation of the output functions. |
||

1.3.0.0 | TDIST distributions: Student's t_nu, Normal N(0,1), Rectangular R(-1,1,), Triangular T(-1,1), Arcsine U(-1,1) |
||

1.2.0.0 | Summary updated |
||

1.1.0.0 | Completely rewritten version |
||

1.0.0.0 | Corrected help (funtype 3 and 4). |