image thumbnail

kstest_2s_2d(x1, x2, alpha)

version (3.7 KB) by Dylan Muir
Performs a two-sample, two-tailed, two-dimensional Kolmogorov-Smirnov test, with accurate p-values


Updated 23 Oct 2017

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:

Cite As

Dylan Muir (2022). kstest_2s_2d(x1, x2, alpha) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!