parseParameters

Parameter name-value pair parsing - concise syntax, no assignin, and very fast.

https://github.com/jeffchiou/parseParameters

Vous suivez désormais cette soumission

Why do we need another parameter parsing solution? MATLAB's inputParser class, while flexible, is relatively slow. Simpler methods are verbose and/or only handle positional arguments. Many FEX parameter parsers use assignin, which is convenient, but also slow and unsafe.
This function combines brevity in usage, high performance, and the convenience and clarity of parameter name-value pairs. It is around 9-20x faster than inputParser, and is one of the fastest parameter parsers on FEX. For up-to-date documentation and bug reports, see GitHub.

Syntax:
parseParameters(Defaults, callerVarargin, varargin)

Optional inputs:
isCaseSensitive (bool): Default false. Determines case sensitivity
expandStruct (bool): Default true. If false, parseParameters returns a struct similar to the Defaults struct.

Within yourFunction(...), specify defaults in a struct:
Defaults.x = 1;
Defaults.y = 5;

Then call
[x,y] = parseParameters(Defaults,varargin);

The user can then call
yourFunction(...,'Y',2,'x',3);
to change x and y.
Note that it is case insensitive by default, and the user's order doesn't matter.

Citation pour cette source

Jeffrey Chiou (2026). parseParameters (https://github.com/jeffchiou/parseParameters), GitHub. Extrait(e) le .

Remerciements

Inspiré par : loadOptions, ArgUtils

Catégories

En savoir plus sur Argument Definitions dans Help Center et MATLAB Answers

Informations générales

Compatibilité avec les versions de MATLAB

  • Compatible avec toutes les versions

Plateformes compatibles

  • Windows
  • macOS
  • Linux

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version Action
1.3.0.0

Description and summary reformatting/updating.

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.