-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathoverwrite_settings.m
More file actions
27 lines (26 loc) · 953 Bytes
/
overwrite_settings.m
File metadata and controls
27 lines (26 loc) · 953 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function settings = overwrite_settings(defaultSettings, overrideSettings)
% function settings = overwrite_settings(defaultSettings, overrideSettings)
% Returns the settings based on a combination of the defaults and the override settings.
%
% Parameters
% ----------
% defaultSettings : structure
% A structure with all of the default settings.
% overrideSettings : structure
% Contains any settings that should override the defaults.
%
% Returns
% -------
% settings : structure
% A stucture containing the overrideSettings and any defaults that weren't
% supplied in the overrideSettings.
% add the default options if not specified by the user
overrideNames = fieldnames(overrideSettings);
defaultNames = fieldnames(defaultSettings);
notGiven = setxor(overrideNames, defaultNames);
settings = overrideSettings;
if length(notGiven) > 0
for i = 1:length(notGiven)
settings.(notGiven{i}) = defaultSettings.(notGiven{i});
end
end