Version (1.96 KB) by Jared
Easy-to-use interface for parsing function inputs in the form of parameter-value pairs.


Updated 15 Jan 2013

View License

Easy-to-use interface for converting parameter-value pairs into variables within a function. Unlike inputParser and other typical parameter-value parsers, easyparse is able to (and by default does) directly create variables within the called function, rather than as fields of a struct.

- To create variables in the function workspace according to varargin consisting of parameter-value pairs, use this syntax in your function:

- To create only variables with allowed_names, create a cell array of allowed names and use this syntax:
easyparse(varargin, allowed_names);

- To create a struct with fields specified by the names in varargin, (similar to the output of inputParser) ask for an output argument:
s = easyparse(...);

As an example, let's say you wanted a function, epdemo, that took inputs 'blee', 'bloo', and 'blah'. Then epdemo would be called with in the typical parameter value manner:
epdemo('blee', 1:10, 'blah', 4, 'bloo', 0);

To parse these inputs within epdemo requires a single line:

function epdemo(varargin)

foo = blee*100;
bar = bloo - blah;

CAVEAT UTILITOR: this function relies on assignin statements. Input checking is performed to limit potential damage, but use at your own risk.

One of a series of simple functions to provide easier input parsing within MATLAB.

Cite As

Jared (2023). easyparse (https://www.mathworks.com/matlabcentral/fileexchange/39772-easyparse), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux
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

Improved input checks: now, easyparse warns you that it will not parse variables with names identical to already-defined functions to avoid unintended results.

Typo fixed.

Typo fixed.

Typo fixed.

Typo fixed.

Added demo to description.