0001 function varargout = foo(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 ALGONAME = mfilename;
0026 VERSION = '$Id: ao_fcn_template.html,v 1.1 2007/06/08 14:15:09 hewitson Exp $';
0027
0028
0029 invars = {};
0030 as = [];
0031 ps = [];
0032 for j=1:nargin
0033 if isa(varargin{j}, 'ao')
0034 invars = [invars cellstr(inputname(j))];
0035 end
0036 if isa(varargin{j}, 'ao')
0037 as = [as varargin{j}];
0038 end
0039 if isa(varargin{j}, 'plist')
0040 ps = [ps varargin{j}];
0041 end
0042 end
0043
0044
0045 if isa(ps, 'plist')
0046 pl = combine(ps, getDefaultPL());
0047 else
0048 pl = getDefaultPL();
0049 end
0050
0051
0052 na = length(as);
0053
0054
0055 N = find(pl, 'N');
0056 X = find(pl, 'X');
0057
0058
0059
0060
0061 bs = [];
0062
0063
0064 for j=1:na
0065 a = as(j);
0066
0067
0068 adata = getAOdata(a);
0069
0070
0071 y = adata;
0072 x = 1:length(y);
0073
0074
0075
0076
0077 xy = xydata(x, y);
0078 xy = set(xy, 'name', sprintf('foo(%s)', a.data.name));
0079 xy = set(xy, 'xunits', a.data.yunits);
0080 xy = set(xy, 'yunits', 'Blah');
0081
0082
0083 h = history(ALGONAME, VERSION, pl, a.hist);
0084 h = set(h, 'invars', invars);
0085
0086
0087 b = ao(xy, h);
0088
0089
0090 if isempty(invars{j})
0091 n1 = a.name;
0092 else
0093 n1 = invars{j};
0094 end
0095 b = set(b, 'name', sprintf('foo(%s)', n1));
0096 bs = [bs b];
0097
0098
0099 end
0100
0101
0102 varargout{1} = bs;
0103
0104
0105
0106 function plo = getDefaultPL()
0107
0108 disp('* creating default plist...');
0109 plo = plist();
0110 plo = append(plo, param('N', 10));
0111 plo = append(plo, param('X', []));
0112 disp('* done.');
0113
0114
0115