SET sets a pole/zero model property. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: SET sets a pole/zero model property. CALL: pzmodel = set(pzmodel, 'name', str); pzmodel = set(pzmodel, 'gain', g); pzmodel = set(pzmodel, 'poles', p); pzmodel = set(pzmodel, 'zeros', z); pzmodel = set(pzmodel, 'created', time-object); pzmodel = set(pzmodel, 'version', cvs version string); VERSION: $Id: set.m,v 1.4 2007/10/15 17:16:56 ingo Exp $ HISTORY: 30-01-2007 M Hewitson Creation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function pzm = set(pzm, varargin) 0002 % SET sets a pole/zero model property. 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: SET sets a pole/zero model property. 0007 % 0008 % CALL: pzmodel = set(pzmodel, 'name', str); 0009 % pzmodel = set(pzmodel, 'gain', g); 0010 % pzmodel = set(pzmodel, 'poles', p); 0011 % pzmodel = set(pzmodel, 'zeros', z); 0012 % pzmodel = set(pzmodel, 'created', time-object); 0013 % pzmodel = set(pzmodel, 'version', cvs version string); 0014 % 0015 % VERSION: $Id: set.m,v 1.4 2007/10/15 17:16:56 ingo Exp $ 0016 % 0017 % HISTORY: 30-01-2007 M Hewitson 0018 % Creation 0019 % 0020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0021 0022 VERSION = '$Id: set.m,v 1.4 2007/10/15 17:16:56 ingo Exp $'; 0023 0024 % Check if this is a call for parameters or for the cvs-version number 0025 if nargin == 2 0026 if isa(pzm, 'pzmodel') && ischar(varargin{1}) 0027 in = char(varargin{1}); 0028 if strcmp(in, 'Params') 0029 pzm = plist(); 0030 return 0031 elseif strcmp(in, 'Version') 0032 pzm = VERSION; 0033 return 0034 end 0035 end 0036 end 0037 0038 propArgin = varargin; 0039 fields = fieldnames(pzm); 0040 0041 while length(propArgin) >= 2 0042 prop = varargin{1}; 0043 val = varargin{2}; 0044 propArgin = propArgin(3:end); 0045 0046 if ~ismember(prop, fields) 0047 error(['### ', prop, ' is not a valid pole/zero model property.']); 0048 else 0049 pzm.(prop) = val; 0050 end 0051 0052 end