File Exchange

image thumbnail

Merge Options

version 1.1.0.0 (1.76 KB) by Matthew Kelly
Merge a struct of default options with a struct of user options

0 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.
%

Comments and Ratings (0)

Updates

1.1.0.0

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

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: Particle Swarm Optimization