MATLAB's flexible nature is very convenient in most situations. However, this flexibility can also be the cause of hard-to-find bugs.
In many cases, it is desirable to have a data type which is CONST. That is, a datatype which cannot be changed after the first assignment. MATLAB has seen heavy criticism due to its lack of a CONST data type. Although the basic functionality of CONST variables can be achieved through a class with constant properties, that approach leaves much to be desired.
That is where this file comes in. It implements all the functionality of a basic, scalar MATLAB structure, but after a field has been added and assigned a value, that field can no longer be changed.
That means, it strikes a middle ground by offering the flexibility of adding fields dynamically, but disallowing *changing* of fields values.
A simple example session:
C = const; % empty const
C.myField = 'test'; % first assignment; OK
C.myField = 4; % ERROR!
Much more is possible; have a look at the function documentation inside const.m for more information.
Rody Oldenhuis (2023). CONST structure (https://github.com/rodyo/FEX-const/releases/tag/v1.3), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
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
See release notes for this release on GitHub: https://github.com/rodyo/FEX-const/releases/tag/v1.3
Improved error handling a little bit
[linked to Github]