A multidimensional map class
MapN provides a multidimensional map container.
A MapN object contains key lists and values. A value is some unit of data that you want stored in the MapN object, and a key list is a unique reference to that data.
MapN is modelled on containers.Map, but whereas a containers.Map object is indexed by a single scalar or string key, a MapN object is indexed by an ordered set of such keys, expressed as a comma-separated list of arguments.
A MapN object is constructed like this:
M = MapN();
Values are stored using M(key1, key2, ...) = value, for example:
M(1, 'a') = 'a string value';
M(1, 'b') = 287.2;
M(2) = [1 2 3; 4 5 6];
M(2, 'x', pi) = {'a' 'cell' 'array'};
and values are retrieved using M(key1, key2, ...), for example
v = M(1, 'b');
u = M(2);
This contribution also includes a memoize function, inspired by the blog entry at http://blogs.mathworks.com/loren/2006/02/08/use-nested-functions-to-memoize-costly-functions/ The memoize function demonstrates one use of MapN.
Cite As
David Young (2024). A multidimensional map class (https://www.mathworks.com/matlabcentral/fileexchange/33068-a-multidimensional-map-class), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: davestanley/MultiDimensionalDictionary
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.