Parse function arguments

A useful tool for parsing function arguments like 'cellspacing',6,'monkey',1
5.5K Downloads
Updated 27 Oct 2004

No License

Helper function for parsing varargin. Makes it easy to write functions that take arguments like this: subaxis(4,2,1,'spacing',0,'marginleft',.1,'H','pt',.1)


ArgStruct=parseArgs(varargin,ArgStruct[,FlagtypeParams[,Aliases]])

* ArgStruct is the structure full of named arguments with default values.
* Flagtype params is params that don't require a value. (the value will be set to 1 if it is present)
* Aliases can be used to map one argument-name to several argstruct fields


example usage:
--------------
function parseargtest(varargin)

%define the acceptable named arguments and assign default values
Args=struct('Holdaxis',0, ...
'SpacingVertical',0.05,'SpacingHorizontal',0.05, ...
'PaddingLeft',0,'PaddingRight',0,'PaddingTop',0,'PaddingBottom',0, ...
'MarginLeft',.1,'MarginRight',.1,'MarginTop',.1,'MarginBottom',.1, ...
'rows',[],'cols',[]);

%The capital letters define abrreviations.
% Eg. parseargtest('spacingvertical',0) is equivalent to parseargtest('sv',0)

Args=parseArgs(varargin,Args, ... % fill the arg-struct with values entered by the user
{'Holdaxis'}, ... %this argument has no value (flag-type)
{'Spacing' {'sh','sv'}; 'Padding' {'pl','pr','pt','pb'}; 'Margin' {'ml','mr','mt','mb'}});

disp(Args)

Cite As

Aslak Grinsted (2024). Parse function arguments (https://www.mathworks.com/matlabcentral/fileexchange/3448-parse-function-arguments), MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

Improved flag parameter functionality.