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 VERSION = '$Id: plus.m,v 1.12 2007/10/22 11:52:44 ingo Exp $';
0024
0025
0026 if nargin == 2
0027 if isa(varargin{1}, 'ao') && ischar(varargin{2})
0028 in = char(varargin{2});
0029 if strcmp(in, 'Params')
0030 b = getDefaultPL();
0031 return
0032 elseif strcmp(in, 'Version')
0033 b = VERSION;
0034 return
0035 end
0036 end
0037 end
0038
0039
0040 invars = {};
0041 for j=1:nargin
0042 iname = inputname(j);
0043 if isempty(iname) && isnumeric(varargin{j})
0044 iname = num2str(varargin{j});
0045 elseif isempty(iname) && ischar(varargin{j})
0046 iname = varargin{j};
0047 end
0048 invars = [invars cellstr(iname)];
0049 end
0050
0051 ALGONAME = mfilename;
0052 VERSION = '$Id: plus.m,v 1.12 2007/10/22 11:52:44 ingo Exp $';
0053
0054 op = '+';
0055
0056 [a1,a2,do] = aooperate(varargin, op);
0057
0058
0059
0060
0061 h = history(ALGONAME, VERSION, [], [a1.hist a2.hist]);
0062 h = set(h, 'invars', invars);
0063
0064
0065 if isempty(char(invars{1}))
0066 n1 = a1.name;
0067 else
0068 n1 = char(invars{1});
0069 end
0070 if isempty(char(invars{2}))
0071 n2 = a2.name;
0072 else
0073 n2 = char(invars{2});
0074 end
0075
0076
0077
0078 b = ao(do, h);
0079 b = set(b, 'name', sprintf('%s %s %s', n1, op, n2));
0080
0081
0082
0083 function pl_default = getDefaultPL()
0084
0085 pl_default = plist();
0086
0087