0001 function b = minus(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 ALGONAME = mfilename;
0023 VERSION = '$Id: minus.m,v 1.10 2007/11/02 13:17:41 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
0041 invars = {};
0042 for j=1:nargin
0043 iname = inputname(j);
0044 if isempty(iname) && isnumeric(varargin{j})
0045 iname = num2str(varargin{j});
0046 elseif isempty(iname) && ischar(varargin{j})
0047 iname = varargin{j};
0048 end
0049 invars = [invars cellstr(iname)];
0050 end
0051
0052 op = '-';
0053
0054 [a1,a2,do] = aooperate(varargin, op);
0055
0056
0057
0058
0059 h = history(ALGONAME, VERSION, plist(), [a1.hist a2.hist]);
0060 h = set(h, 'invars', invars);
0061
0062
0063 if isempty(char(invars{1}))
0064 n1 = a1.name;
0065 else
0066 n1 = char(invars{1});
0067 end
0068 if isempty(char(invars{2}))
0069 n2 = a2.name;
0070 else
0071 n2 = char(invars{2});
0072 end
0073
0074
0075
0076 b = ao(do, h);
0077 b = setnh(b, 'name', sprintf('%s %s %s', n1, op, n2));
0078
0079
0080
0081
0082 function pl_default = getDefaultPL()
0083
0084 pl_default = plist();
0085
0086
0087