Merge Options

Merge a struct of default options with a struct of user options
100 Downloads
Updated 19 Jan 2016

View License

% 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
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Structures in Help Center and MATLAB Answers
Acknowledgements

Inspired: Particle Swarm Optimization

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.1.0.0

Bug Fix: old version was not properly overwriting default values in sub-structs.

1.0.0.0