getOptions
getOptions is a simple, user friendly way to handle and parse variable argument inputs (varargin) into MATLAB functions.
Please see my 2014 write-up (https://bahanonu.com/getOptions) for details and reasons behind implementing and using this function.
Install by adding getOptions directory to path. Usage instructions in getOptions.m, in the README, on GitHub, or briefly below.
===
Instructions on using getOptions.
There are two ways to input options to a function that getOptions will parse. The first involves passing an 'options' parameter with a structure containing all options that the user would like to modify.
Method #1
opts.Option1= 1;
opts.Option2 = 0;
exampleFxn(inputArg1,'options',opts);
The second method involves passing Name-Value arguments as is normal in MATLAB.
Method #2
exampleFxn(inputArg1,'Option1',1,'Option2',0);
Next add getOptions to beginning of a function as below with all options put inside a structure.
function [out1] = exampleFxn(in1,varargin)
% ========================
% FUNCTION OPTIONS
% Description option #1
opts.Option1 = '';
% Description option #2
opts.Option2 = 1;
% Description option #3
opts.Option3 = 1;
% get options
opts = getOptions(opts,varargin); % ***HERE IS WHERE getOptions IS USED***
% disp(opts)
% unpack options into current workspace (not recommended)
% fn=fieldnames(opts);
% for i=1:length(fn)
% eval([fn{i} '=opts.' fn{i} ';']);
% end
% ========================
% Your function
end
Zitieren als
Biafra Ahanonu (2024). getOptions (https://github.com/bahanonu/getOptions/releases/tag/v1.0.1), GitHub. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.1 | See release notes for this release on GitHub: https://github.com/bahanonu/getOptions/releases/tag/v1.0.1 |
||
1.0.0 |