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