parseArgs関数が非常に役立つことがわかりました。
そのドキュメントは次のとおりです。
解析用のヘルパー関数varargin
。次のような引数を取る関数を簡単に記述できます。subaxis(4,2,1,'spacing',0,'marginleft',.1,'H','pt',.1)
ArgStruct=parseArgs(varargin,ArgStruct[,FlagtypeParams[,Aliases]])
ArgStruct
デフォルト値を持つ名前付き引数でいっぱいの構造体です。
- Flagtype パラメータは、値を必要としないパラメータです。(存在する場合、値は 1 に設定されます)
- エイリアスを使用して、1 つの引数名を複数の argstruct フィールドにマップできます
使用例:
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, e.g.
% {'Holdaxis'}, ... %this argument has no value (flag-type)
% {'Spacing' {'sh','sv'}; 'Padding' {'pl','pr','pt','pb'}; 'Margin' {'ml','mr','mt','mb'}});
disp(Args)