1

inputparser入力引数に とがある場合、 で 入力引数を検証したいと思い2 required inputsますvarargin

  function = myfun( input1,input2,varargin)
  p = inputParser;
  addRequired(p,'input1',@(x) any(validatestring(x,{'sum','sub'})))
  addRequired(p,'input2',@ischar)

  parse(p,input1,input2,varargin{:})  ??

私のvararginが可変長であるvararginを検証するにはどうすればよいですか。

お気に入り :myfun('sum','hallo','Name','address',...)

4

1 に答える 1

0

変数の入力引数がパラメーターと値のペアの形式をとる場合 (およびその場合のみ)、これを行うことができます。

function result = myfun(varargin)
    p = inputParser;
    p.addRequired('input1', @validation1);
    p.addRquuired('input2', @validation2);
    p.KeepUnmatched = true;
    p.parse(varargin{:});
    params = p.Unmatched;
end

そうしないと、手動で入力を解析することになります。

function result = myfun(input1, input2, varargin)
    p = inputParser;
    p.addRequired('input1', @validation1);
    p.addRquuired('input2', @validation2);
    p.parse(input1, input2);

    for item in varargin:
        % MANUAL VALIDATION GOES HERE
    end

end
于 2013-03-04T15:14:12.647 に答える