0001 function b = plus(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 if nargin == 2
0025 if isa(varargin{1}, 'ao') && ischar(varargin{2})
0026 in = char(varargin{2});
0027 if strcmp(in, 'Params')
0028 b = getDefaultPL();
0029 return
0030 end
0031 end
0032 end
0033
0034
0035 invars = {};
0036 for j=1:nargin
0037 iname = inputname(j);
0038 if isempty(iname) && isnumeric(varargin{j})
0039 iname = num2str(varargin{j});
0040 elseif isempty(iname) && ischar(varargin{j})
0041 iname = varargin{j};
0042 end
0043 invars = [invars cellstr(iname)];
0044 end
0045
0046 ALGONAME = mfilename;
0047 VERSION = '$Id: plus.m,v 1.11 2007/06/22 08:32:49 ingo Exp $';
0048
0049 op = '+';
0050
0051 [a1,a2,do] = aooperate(varargin, op);
0052
0053
0054
0055
0056 h = history(ALGONAME, VERSION, [], [a1.hist a2.hist]);
0057 h = set(h, 'invars', invars);
0058
0059
0060 if isempty(char(invars{1}))
0061 n1 = a1.name;
0062 else
0063 n1 = char(invars{1});
0064 end
0065 if isempty(char(invars{2}))
0066 n2 = a2.name;
0067 else
0068 n2 = char(invars{2});
0069 end
0070
0071
0072
0073 b = ao(do, h);
0074 b = set(b, 'name', sprintf('%s %s %s', n1, op, n2));
0075
0076
0077
0078 function pl_default = getDefaultPL()
0079
0080 disp('* creating default plist...');
0081 pl_default = plist();
0082 disp('* done.');
0083
0084