Home > classes > @tsdata > set.m

set

PURPOSE ^

SET sets a tsdata property.

SYNOPSIS ^

function ts = set(ts, varargin)

DESCRIPTION ^

 SET sets a tsdata property.

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

 DESCRIPTION: SET sets a tsdata property.

 CALL: ts = set(ts, 'name',    'my_name');
       ts = set(ts, 'fs',       fs);
       ts = set(ts, 'x',        x);
       ts = set(ts, 'y',        y);
       ts = set(ts, 'nsecs',    nsecs);
       ts = set(ts, 't0',       Matlab serial date number);
       ts = set(ts, 'xunits',  'Time');
       ts = set(ts, 'yunits',  'Volts');
       ts = set(ts, 'created',  time());
       ts = set(ts, 'version', 'tsdata/set.m,v 1.7...');

 VERSION: $Id: set.m,v 1.12 2007/11/13 16:03:20 ingo Exp $

 HISTORY: 30-01-07 M Hewitson
             Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function ts = set(ts, varargin)
0002 % SET sets a tsdata property.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SET sets a tsdata property.
0007 %
0008 % CALL: ts = set(ts, 'name',    'my_name');
0009 %       ts = set(ts, 'fs',       fs);
0010 %       ts = set(ts, 'x',        x);
0011 %       ts = set(ts, 'y',        y);
0012 %       ts = set(ts, 'nsecs',    nsecs);
0013 %       ts = set(ts, 't0',       Matlab serial date number);
0014 %       ts = set(ts, 'xunits',  'Time');
0015 %       ts = set(ts, 'yunits',  'Volts');
0016 %       ts = set(ts, 'created',  time());
0017 %       ts = set(ts, 'version', 'tsdata/set.m,v 1.7...');
0018 %
0019 % VERSION: $Id: set.m,v 1.12 2007/11/13 16:03:20 ingo Exp $
0020 %
0021 % HISTORY: 30-01-07 M Hewitson
0022 %             Creation
0023 %
0024 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0025 
0026 VERSION  = '$Id: set.m,v 1.12 2007/11/13 16:03:20 ingo Exp $';
0027 
0028 % Check if this is a call for parameters
0029 if nargin == 2
0030   if isa(ts, 'tsdata') && ischar(varargin{1})
0031     in = char(varargin{1});
0032     if strcmp(in, 'Params')
0033       ts = plist;
0034       return
0035     elseif strcmp(in, 'Version')
0036       ts = VERSION;
0037       return
0038     end
0039   end
0040 end
0041 
0042 if (nargout ~= 0)
0043 
0044   propArgin = varargin;
0045 
0046   while length(propArgin) >= 2
0047     prop = propArgin{1};
0048     val  = propArgin{2};
0049     propArgin = propArgin(3:end);
0050     switch prop
0051       case 'name'
0052         ts.name = val;
0053       case 'created'
0054         ts.created = val;
0055       case 'version'
0056         ts.version = val;
0057       case 'x'
0058         ts.x = val;
0059       case 'y'
0060         ts.y = val;
0061       case 'fs'
0062         ts.fs = val;
0063       case 'nsecs'
0064         ts.nsecs = val;
0065       case 'xunits'
0066         ts.xunits = val;
0067       case 'yunits'
0068         ts.yunits = val;
0069       case 't0'
0070         if isa(val, 'time')
0071           ts.t0 = val;
0072         elseif ischar(val) || isnumeric(val)
0073           ts.t0 = time(val);
0074         end
0075       otherwise
0076         error([val, ' is not a property of tsdata class']);
0077     end
0078   end
0079 
0080 else
0081   if ischar(varargin{2})
0082     error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0083                         inputname(1), ...
0084                         inputname(1), ...
0085                         varargin{1},  ...
0086                         varargin{2});
0087   elseif isnumeric(varargin{2})
0088     error('### please use: %s = set(%s, ''%s'', %d);', ...
0089                         inputname(1), ...
0090                         inputname(1), ...
0091                         varargin{1},  ...
0092                         varargin{2});
0093   else
0094     error('### please use: %s = set(%s, ''key'', ''value'');', ...
0095                         inputname(1), ...
0096                         inputname(1));
0097   end
0098 end

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