TIMES overloads .* operator for analysis objects. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: TIMES overloads .* operator for analysis objects. This just does the same as times (.*) for analysis objects. CALL: a = a1.*5; VERSION: $Id: times.m,v 1.10 2007/11/02 13:17:41 ingo Exp $ The following call returns a parameter list object that contains the default parameter values: >> pl = times(ao, 'Params') HISTORY: 05-02-07 M Hewitson Creation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function b = times(varargin) 0002 % TIMES overloads .* operator for analysis objects. 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: TIMES overloads .* operator for analysis objects. 0007 % This just does the same as times (.*) for analysis objects. 0008 % 0009 % CALL: a = a1.*5; 0010 % 0011 % VERSION: $Id: times.m,v 1.10 2007/11/02 13:17:41 ingo Exp $ 0012 % 0013 % The following call returns a parameter list object that 0014 % contains the default parameter values: 0015 % 0016 % >> pl = times(ao, 'Params') 0017 % 0018 % HISTORY: 05-02-07 M Hewitson 0019 % Creation 0020 % 0021 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0022 0023 ALGONAME = mfilename; 0024 VERSION = '$Id: times.m,v 1.10 2007/11/02 13:17:41 ingo Exp $'; 0025 0026 % Check if this is a call for parameters 0027 if nargin == 2 0028 if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0029 in = char(varargin{2}); 0030 if strcmp(in, 'Params') 0031 b = getDefaultPL(); 0032 return 0033 elseif strcmp(in, 'VERSION') 0034 b = VERSION; 0035 return 0036 end 0037 end 0038 end 0039 0040 % capture input variable names 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 %--------- create output AO 0057 0058 % make a new history object 0059 h = history(ALGONAME, VERSION, plist(), [a1.hist a2.hist]); 0060 h = set(h, 'invars', invars); 0061 0062 % get names for output 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 % make output analysis object 0075 % op = op(2:end); 0076 b = ao(do, h); 0077 b = setnh(b, 'name', sprintf('%s %s %s', n1, op, n2)); 0078 0079 0080 % Get default params 0081 function plo = getDefaultPL() 0082 0083 plo = plist(); 0084 0085 0086 % END