Optional function arguments
Optional function arguments: optndfts
Allows optional arguments to be specified as name value pairs, and
default values given for those augments not specified e.g.
function strt=demo1(arg1,varargin) % insert values to replace defaults
strt=optndfts(varargin,'aa',1,'bb',2,'cc',3); % default values
return % optndfts returns a struct
end
demo1(123,'bb',22,'aa',11)
ans =
aa: 11
bb: 22
cc: 3
Result is a struct, varagin input values can be list of name value pairs,
cell array of name value pairs, or a struct.
Also can allow for optional arguments that are not named:
function strt=demo2(arg1,varargin) % insert values to replace defaults
strt=optndfts(varargin,{'aa','bb'},'aa',1,'bb',2,'cc',3,'dd',4);
return % optndfts returns a struct
end
demo2(123,11,22,'dd',44)
ans =
aa: 11
bb: 22
cc: 3
dd: 44
demo2(123,11,'dd',44)
ans =
aa: 11
bb: 2
cc: 3
dd: 44
demo2(123,'dd',44)
ans =
aa: 1
bb: 2
cc: 3
dd: 44
A second output argument if present is a struct containing name value
pairs not given in the default values, these can be used to override
defaults for functions called within original function.
Functions selectfields and renamefields, with error messages suppressed,
can also be used to assist in passing options from an outer function
to nested functions (see doc selectfield, and doc renamefields).
Test files contain examples.
See doc optndfts
Cite As
Bill Whiten (2024). Optional function arguments (https://www.mathworks.com/matlabcentral/fileexchange/38881-optional-function-arguments), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: Functions istext iscelltext, renamefields: Rename some field names in a struct, selectfields: Select specified field names from a struct
Inspired: Select points from graph: graphpoints, linfitregsel - term selection in linear regression, Greyboxbuild: complete a greybox model, Greyboxeval - Model quality evaluation, Expert2 Propositional Logic, Boxplot: boxplotx without toolboxes, Reconcile multiple examinations, Equation selection using subset regression: regsubsets, nlsq & nnnlsq Least squares
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.
optndfts
optndfts/tests
Version | Published | Release Notes | |
---|---|---|---|
3.1.1.0 | Includes reference to rename fields and selectfields |
||
3.1.0.0 | Now can use char or string |
||
3.0.0.0 | One example adjust to give output.
|
||
2.0.0.0 | v3.0 (2015-09-07) compatible with v2.0 and v1.0
|
||
1.0.0.0 |