14
如何在MATLAB中处理函数参数的名称/值对
我有一个函数,将可选参数作为名称/值对。 function example(varargin) % Lots of set up stuff vargs = varargin; nargs = length(vargs); names = vargs(1:2:nargs); values = vargs(2:2:nargs); validnames = {'foo', 'bar', 'baz'}; for name = names validatestring(name{:}, validnames); end % Do something ... foo = strmatch('foo', names); disp(values(foo)) end example('foo', 1:10, 'bar', 'qwerty') 似乎在提取适当的值时需要付出很多努力(而且再次使用错误指定的输入仍然不是特别可靠)。有没有更好的方法来处理这些名称/值对?MATLAB附带有任何帮助程序功能吗?