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
引用格式
Bill Whiten (2024). Optional function arguments (https://www.mathworks.com/matlabcentral/fileexchange/38881-optional-function-arguments), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
致谢
参考作品: Functions istext iscelltext, renamefields: Rename some field names in a struct, selectfields: Select specified field names from a struct
启发作品: 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!optndfts
optndfts/tests
版本 | 已发布 | 发行说明 | |
---|---|---|---|
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 |