Merge Options
% output = mergeOptions(default, user, name)
%
% Merge a default options struct with a user-defined options struct. Works
% recursively, and will issue warning messages if the user attempts to
% define a field that is not in the default options.
%
% BEHAVIOR:
%
% - All fields in DEFAULT will be present in OUTPUT
% - If a field is in both DEFAULT and USER, then the value from USER is
% present in OUTPUT
% - If a field is present in USER, but not DEFAULT, then issue a warning.
% - Applies recursively
%
%
% NOTES:
%
% The argument NAME is optional, and contains a string specifying the
% name of the options struct. This is primarily used for printing
% warnings to the user.
%
% This function works recursively. For example, if there is a struct
% inside of a struct, then it will recursively apply this merge.
%
Cite As
Matthew Kelly (2024). Merge Options (https://www.mathworks.com/matlabcentral/fileexchange/54837-merge-options), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: Particle Swarm Optimization
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.