ParseVarArgIn

parses a parameter list. Given a set of property names, it assigns the appropriate values to variab
2.1K Downloads
Updated 27 Jul 2005

No License

PARSEVARARGIN parses a parameter list. Given a set of property names, PARSEVARARGIN assigns the appropriate values to variables. The variables get the name of the property. For instance, if you call a function, foo:

foo(in,'Color','green','Charm',5);

and in foo, you call PARSEVARARGIN:

ParseVarargin({'Color','Charm','Strangeness'});

PARSEVARARGIN will create a variable Color, with the value 'green', a
variable Charm, with the value 5, and a variable Strangness, with the
value NaN.

PARSEVARARGIN will do type checking if you provide types and it will
assign NaN to parameters that are not specified.

Example
clear all;
W = 10;
in = double(rand(10,W)>.5);
XLabel = cellstr(datestr(today-[W:-1:1],'mm/dd/yy'));
Title = 'Exercise Schedule Checkerboard';
Name = 'HeartRateAnalyser';
varargin = {in,'XLabel',XLabel,'Title',Title,'Name',Name};
Prop = {'XLabel','YLabel','Title','Name'};
PClass = {'cell','cell','char','char'};
clear W in Xlabel Title
who
ParseVarargin(varargin,Prop,PClass);
clear varargin Prop PClass
who
Name
Title
XLabel
YLabel


See also varargout nargin nargout inputname function lists paren
CatOrSplitFiles CheckerboardPlot varargin nargin
assignin evalin


Key words varargout nargin nargout inputname function lists paren CatOrSplitFiles CheckerboardPlot parameter workspace assign input output arguments



It's not fancy, but it works

Cite As

Michael Robbins (2024). ParseVarArgIn (https://www.mathworks.com/matlabcentral/fileexchange/8123-parsevarargin), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Argument Definitions in Help Center and MATLAB Answers

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