clugen / MOCluGen

Multidimensional cluster generation in MATLAB/Octave

Home Page:https://clugen.github.io/MOCluGen/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checks codecov docs MIT View MOCluGen on File Exchange Open in MATLAB Online

MOCluGen

Summary

MOCluGen is a MATLAB/Octave implementation of the clugen algorithm for generating multidimensional clusters with arbitrary distributions. Each cluster is supported by a line segment, the position, orientation and length of which guide where the respective points are placed.

See the documentation and examples for more details.

Install and use

Download the most recent version from the releases page or clone the development version with following command:

$ git clone https://github.com/clugen/MOCluGen.git

Open MATLAB or GNU Octave and cd into the project's folder, and run the startup.m script:

>> startup

MOCluGen can now be used, e.g:

>> o = clugen(2, 4, 400, [1 0], pi / 8, [50, 10], 20, 1, 2, 'seed', 123);
>> scatter(o.points(:, 1), o.points(:, 2), 36, o.clusters, 'filled', 'MarkerEdgeColor', 'k');

Example 2D

>> o = clugen(3, 4, 1000, [1 0 0], pi / 8, [20 15 25], 16, 4, 3.5, 'seed', 123);
>> scatter3(o.points(:, 1), o.points(:, 2), o.points(:, 3), 36, o.clusters, 'filled', 'MarkerEdgeColor', 'k');

Example 3D

See also

  • pyclugen, a Python implementation of the clugen algorithm.
  • CluGen.jl, a Julia implementation of the clugen algorithm.
  • clugenr, an R implementation of the clugen algorithm.

Reference

If you use this software, please cite the following reference:

License

MIT License