Home > classes > @ao > setnh.m

setnh

PURPOSE ^

SET set an analysis object property without recording the history.

SYNOPSIS ^

function ao = setnh(ao, varargin)

DESCRIPTION ^

 SET set an analysis object property without recording the history.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: SET set an analysis object property without recording the history.

 CALL: ao = setnh(ao, 'name',       'name');
       ao = setnh(ao, 'provenance',  provenance-object);
       ao = setnh(ao, 'description','description');
       ao = setnh(ao, 'hist',        history-object);
       ao = setnh(ao, 'data',        data);
       ao = setnh(ao, 'mfile',       mfile);
       ao = setnh(ao, 'mfilename',  'mfilename');
       ao = setnh(ao, 'mdlfile',    'mdlfile');
       ao = setnh(ao, 'mdlfilename','mdlfilename');
       ao = setnh(ao, 'version',    'cvs-version');
       ao = setnh(ao, 'created',     time-object);
       ao = setnh(ao,  plist-object);         --> plist-object with key/value paies
       ao = setnh(ao, 'fs',          fs);     --> ao.data.fs = fs;
       ao = setnh(ao, 't0',          t0);     --> ao.data.t0 = t0;
       ao = setnh(ao, 'xunits',     'xunits'); --> ao.data.xunits = 'xunits';
       ao = setnh(ao, 'yunits',     'yunits'); --> ao.data.xunits = 'yunits';

 The following call returns a parameter list object that contains the
 default parameter values:

 >> pl = ao(ao, 'Params')

 VERSION: $Id: setnh.m,v 1.3 2007/11/14 16:30:18 ingo Exp $

 HISTORY: 30-01-07 M Hewitson
             Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function ao = setnh(ao, varargin)
0002 % SET set an analysis object property without recording the history.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SET set an analysis object property without recording the history.
0007 %
0008 % CALL: ao = setnh(ao, 'name',       'name');
0009 %       ao = setnh(ao, 'provenance',  provenance-object);
0010 %       ao = setnh(ao, 'description','description');
0011 %       ao = setnh(ao, 'hist',        history-object);
0012 %       ao = setnh(ao, 'data',        data);
0013 %       ao = setnh(ao, 'mfile',       mfile);
0014 %       ao = setnh(ao, 'mfilename',  'mfilename');
0015 %       ao = setnh(ao, 'mdlfile',    'mdlfile');
0016 %       ao = setnh(ao, 'mdlfilename','mdlfilename');
0017 %       ao = setnh(ao, 'version',    'cvs-version');
0018 %       ao = setnh(ao, 'created',     time-object);
0019 %       ao = setnh(ao,  plist-object);         --> plist-object with key/value paies
0020 %       ao = setnh(ao, 'fs',          fs);     --> ao.data.fs = fs;
0021 %       ao = setnh(ao, 't0',          t0);     --> ao.data.t0 = t0;
0022 %       ao = setnh(ao, 'xunits',     'xunits'); --> ao.data.xunits = 'xunits';
0023 %       ao = setnh(ao, 'yunits',     'yunits'); --> ao.data.xunits = 'yunits';
0024 %
0025 % The following call returns a parameter list object that contains the
0026 % default parameter values:
0027 %
0028 % >> pl = ao(ao, 'Params')
0029 %
0030 % VERSION: $Id: setnh.m,v 1.3 2007/11/14 16:30:18 ingo Exp $
0031 %
0032 % HISTORY: 30-01-07 M Hewitson
0033 %             Creation
0034 %
0035 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0036 
0037 VERSION = '$Id: setnh.m,v 1.3 2007/11/14 16:30:18 ingo Exp $';
0038 
0039 % Check if this is a call for parameters or for the cvs-version number
0040 if nargin == 2
0041   if isa(ao, 'ao') && ischar(varargin{1})
0042     in = char(varargin{1});
0043     if strcmp(in, 'Params')
0044       ao = getDefaultPL();
0045       return
0046     elseif strcmp(in, 'Version')
0047       ao = VERSION;
0048       return
0049     end
0050   end
0051 end
0052 
0053 if (nargout ~= 0)
0054 
0055 %   hist_pl   = plist();
0056   fields    = fieldnames(ao);
0057   propArgin = varargin;
0058 
0059   if nargin >= 2 && isa(propArgin{1}, 'plist')
0060     pl        = propArgin{1};
0061     propArgin = {};
0062     for ii = 1:nparams(pl)
0063       propArgin{end+1} = pl.params(ii).key;
0064       propArgin{end+1} = pl.params(ii).val;
0065     end
0066   end
0067 
0068 
0069   while length(propArgin) >= 2
0070     prop = propArgin{1};
0071     val  = propArgin{2};
0072     propArgin = propArgin(3:end);
0073 
0074     if ~ismember(prop, [fields; 't0'; 'fs'; 'xunits'; 'yunits'])
0075       error(['### ', prop, ' is not a valid analysis object property.']);
0076     else
0077 
0078       %% For all analysis objects (ao can be a vector or a matrix)
0079       for jj = 1:numel(ao)
0080 
0081         %% Also pass through some parameters to data object
0082         if strcmp(prop, 'fs')
0083           d = ao(jj).data;
0084           if isa(d, 'tsdata') || isa(d, 'fsdata')
0085             d = setnh(d, 'fs', val);
0086           else
0087             error('### No ''fs'' property for this data type');
0088           end
0089           ao(jj).data = d;
0090 
0091         elseif strcmp(prop, 't0')
0092 
0093           d = ao(jj).data;
0094           if isa(d, 'tsdata')
0095             d = setnh(d, 't0', val);
0096           else
0097             error('### The data object is not from the class tsdata');
0098           end
0099           ao(jj).data = d;
0100 
0101         elseif strcmp(prop, 'xunits')
0102           d = ao(jj).data;
0103           d = set(d, 'xunits', val);
0104           ao(jj).data = d;
0105 
0106         elseif strcmp(prop, 'yunits')
0107           d = ao(jj).data;
0108           d = set(d, 'yunits', val);
0109           ao(jj).data = d;
0110 
0111         else
0112           ao(jj).(prop) = val;
0113         end
0114 
0115       end % for
0116 
0117     end
0118 
0119 %     hist_pl = append(hist_pl, prop, val);
0120 
0121   end
0122 
0123 %   for jj = 1:numel(ao)
0124 %       h = history('setnh', VERSION, hist_pl);
0125 %       h = setnh(h, 'inhists', ao(jj).hist);
0126 %       h = setnh(h, 'invars',  cellstr(inputname(1)));
0127 %
0128 %       ao(jj).hist = h;
0129 %   end
0130 
0131 else
0132   if ischar(varargin{2})
0133     error('### please use: %s = setnh(%s, ''%s'', ''%s'');', ...
0134                         inputname(1), ...
0135                         inputname(1), ...
0136                         varargin{1},  ...
0137                         varargin{2});
0138   elseif isnumeric(varargin{2})
0139     error('### please use: %s = setnh(%s, ''%s'', %d);', ...
0140                         inputname(1), ...
0141                         inputname(1), ...
0142                         varargin{1},  ...
0143                         varargin{2});
0144   else
0145     error('### please use: %s = setnh(%s, ''key'', ''value'');', ...
0146                         inputname(1), ...
0147                         inputname(1));
0148   end
0149 
0150 end
0151 
0152 
0153 % Get default params
0154 function plo = getDefaultPL()
0155 
0156 plo = plist();

Generated on Tue 22-Jan-2008 10:39:13 by m2html © 2003