0001 function xy = set(xy, 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 VERSION = '$Id: set.m,v 1.7 2007/11/13 16:03:20 ingo Exp $';
0026
0027
0028 if nargin == 2
0029 if isa(xy, 'xydata') && ischar(varargin{1})
0030 in = char(varargin{1});
0031 if strcmp(in, 'Params')
0032 xy = plist;
0033 return
0034 elseif strcmp(in, 'Version')
0035 xy = VERSION;
0036 return
0037 end
0038 end
0039 end
0040
0041 if (nargout ~= 0)
0042
0043 propArgin = varargin;
0044
0045 while length(propArgin) >= 2
0046 prop = propArgin{1};
0047 val = propArgin{2};
0048 propArgin = propArgin(3:end);
0049 switch prop
0050 case 'name'
0051 xy.name = val;
0052 case 'created'
0053 xy.created = val;
0054 case 'version'
0055 xy.version = val;
0056 case 'y'
0057 xy.y = val;
0058 case 'x'
0059 xy.x = val;
0060 case 'xunits'
0061 xy.xunits = val;
0062 case 'yunits'
0063 xy.yunits = val;
0064 otherwise
0065 error([val, ' is not a property of xydata class']);
0066 end
0067 end
0068
0069 else
0070 if ischar(varargin{2})
0071 error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0072 inputname(1), ...
0073 inputname(1), ...
0074 varargin{1}, ...
0075 varargin{2});
0076 elseif isnumeric(varargin{2})
0077 error('### please use: %s = set(%s, ''%s'', %d);', ...
0078 inputname(1), ...
0079 inputname(1), ...
0080 varargin{1}, ...
0081 varargin{2});
0082 else
0083 error('### please use: %s = set(%s, ''key'', ''value'');', ...
0084 inputname(1), ...
0085 inputname(1));
0086 end
0087 end