[英]matlab inputparser
I want to validate input arguments with inputparser
, where the input arguments have 2 required inputs
and varargin
. 我想使用
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{:}) ??
How can i validate varargin where my varargin is with variable length. 我如何验证varargin长度可变的varargin。
like : myfun('sum','hallo','Name','address',...)
像:
myfun('sum','hallo','Name','address',...)
If (and only if) your variable input arguments take the form of parameter-value pairs, you can do this: 如果(且仅当)变量输入参数采用参数-值对的形式,则可以执行以下操作:
function result = myfun(varargin)
p = inputParser;
p.addRequired('input1', @validation1);
p.addRquuired('input2', @validation2);
p.KeepUnmatched = true;
p.parse(varargin{:});
params = p.Unmatched;
end
Otherwise, you are stuck with manually parsing the inputs, I am afraid: 否则,您将无法手动解析输入,恐怕:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.