File Exchange

image thumbnail

Two-dimensional (2D) paired Kolmogorov-Smirnov test

version 1.2 (2.6 KB) by

Performs a two-sample, two-tailed, two-dimensional Kolmogorov-Smirnov test, with accurate p-values



View License

The two-sample Kolmogorov-Smirnov test is a statistical test used to determine whether two sets of data arise from the same or different distributions. The null hypothesis is that both data sets were drawn from the same continuous distribution. The test included here is designed to compare two-dimensional distributions.
The algorithm in this function is taken from Peacock [1].
Usage: [H, pValue, KSstatistic] = kstest_2s_2d(x1, x2 <, alpha>)

'x1' is an [Nx2] matrix, each row containing a two-dimensional sample. 'x2' is an [Mx2] matrix, each row likewise containing a two-dimensional sample. The optional argument 'alpha' is used to set the desired significance level for rejecting the null hypothesis.

'H' is a logical value: true indicates that the null hypothesis should be rejected. 'pValue' is an estimate for the P value of the test statistic. 'KSstatistic' is the raw value for the test statistic ('D' in [1]).

In contrast to kstest2, this function can only perform a two-tailed test. This is because Peacock does not provide a method for estimating P in the one-tailed case [1]. Suggestions for a one-tailed test are welcome.

[1] J. A. Peacock, "Two-dimensional goodness-of-fit testing in astronomy", Monthly Notices Royal Astronomy Society 202 (1983) 615-627. Available from:

Comments and Ratings (1)



Updated description


Updated description


Updated description


Updated formatting


Updated description and summary

MATLAB Release
MATLAB 7.11 (R2010b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video