File Exchange

image thumbnail

Optional function arguments

version 2.0 (7.78 KB) by

Optional function arguments with default values: optndfts

0 Downloads

Updated

View License

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

See doc optndfts

Comments and Ratings (0)

Updates

2.0

v3.0 (2015-09-07) compatible with v2.0 and v1.0
Improved handling of cell arrays in optional arguments

2.0

v2.0 compatible with v1.0
Now includes optional initial unnamed arguments
Now includes second output for other name values pairs

2.0

Compatible with v1.0
Now includes optional initial unnamed arguments
Now includes second output for other name values pairs

MATLAB Release
MATLAB 8.5 (R2015a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video