Tree data structure as a MATLAB class

A per-value class that implements a generic tree data structure.
Updated 29 Nov 2022

A tree is a hierarchical data structure where every node has exactly one parent (expect the root) and no or several children.
Along with this relational structure, each node can store any kind of data.

This class implements it using plain MATLAB syntax and arrays. Most useful methods are implemented, using overloading of MATLAB functions for tree objects.

For instance you can type:

>> find ( (a.^2 .* b) > (c - 5) & d )

with a, b, c and d being tree objects.

Very handy, trivial to use. A rather long tutorial is included to walk you through trees, and show how to make the best out of them.

The tutorial can be found here:

Cite As

Jean-Yves Tinevez (2024). Tree data structure as a MATLAB class (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Construction in Help Center and MATLAB Answers

Inspired: BiofilmQ

Community Treasure Hunt

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

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

- Move to gihub
- Add some extra tuning capabilities to plots.

Put back the thumbnail.

- Iteration, plotting and string conversion can be done by forcing the children to be iterated in alphabetical (or any) order.
- Tree plotting hsa several new options to customize its look.
- Two new methods to condense and decondense a tree.

Fixed a severe bug in the chop method, noticed by Francisco Marquez Gutierrez (thanks!).

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.