0001 function ts = set(ts, varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 VERSION = '$Id: set.m,v 1.12 2007/11/13 16:03:20 ingo Exp $';
0027
0028
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