DBSCAN
A simple DBSCAN implementation of the original paper: "A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise" -- Martin Ester et.al. DBSCAN is capable of clustering arbitrary shapes with noise.
Since no spatial access method is implemented, the run time complexity will be N^2 rather than N*logN.
**************************************************************************
An additional demo (demo.m) with spiral synthetic dataset is included. And a stepwise animation of clustering (demo_stepwise) is also provided.
**************************************************************************
Input: DistMat, Eps, MinPts
DistMat: A N*N distance matrix, the (i,j) element contains the distance from point-i to point-j.
Eps: A scalar value for Epsilon-neighborhood threshold.
MinPts: A scalar value for minimum points in Eps-neighborhood that holds the core-point condition.
**************************************************************************
Output: Clust
Clust: A N*1 vector describes the cluster membership for each point. 0 is reserved for NOISE.
Cite As
Tianxiao (2026). DBSCAN (https://github.com/captainjtx/DBSCAN), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: 6 functions for generating artificial datasets
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
datasets
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 | Change Title
|
|
