getargs.m

来自「关于高斯混合模型(GMM)的matlab源代码:」· M 代码 · 共 42 行

M
42
字号
%GETARGS  parse variable argument list into a struct
 %
 % S = GETARGS(defaultS, varglist)
 %
 % varglist - a cell array of name, value pairs
 % defaultS - struct containing the default values
 %
 % Example:
 %   function foo(par1, varargin);
 %   args = struct( 'param1', 0, 'param2', eye(3) );
 %   args = getargs( args, varargin );
 %   disp(args.param1);
 %
 %  foo(2, 'param1', 14) will print 14
 %
 % Author:
 %   Pekka Paalanen <paalanen@lut.fi>
 %
 % $name$
 % $Id: getargs.m,v 1.1 2004/08/16 15:06:44 paalanen Exp $
 
 function S = getargs(defaultS, varglist);
 
 if mod(length(varglist),2) ~=0
     error('Odd number of variable parameters');
 end
 
 S = defaultS;
 i=1;
 while i <= length(varglist)
     if isfield(S, varglist{i})
         % for Matlab R12
         %S = setfield(S, varglist{i}, varglist{i+1});
         
         % for Matlab R13 and above
         S.(varglist{i}) = varglist{i+1};
     else
         warning_wrap('getargs:unknown_param', ...
                 ['Unknown parameter "' varglist{i} '"']);
     end
     i = i+2;
 end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?