MTIMES overloads * operator for analysis objects. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: MTIMES overloads * operator for analysis objects. This just does the same as times (*) for analysis objects. CALL: a = a1*scalar a = a1*a2 VERSION: $Id: mtimes.m,v 1.12 2007/11/02 13:17:41 ingo Exp $ The following call returns a parameter list object that contains the default parameter values: >> pl = mtimes(ao, 'Params') HISTORY: 05-02-07 M Hewitson Creation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function b = mtimes(varargin) 0002 % MTIMES overloads * operator for analysis objects. 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: MTIMES overloads * operator for analysis objects. 0007 % This just does the same as times (*) for analysis objects. 0008 % 0009 % CALL: a = a1*scalar 0010 % a = a1*a2 0011 % 0012 % VERSION: $Id: mtimes.m,v 1.12 2007/11/02 13:17:41 ingo Exp $ 0013 % 0014 % The following call returns a parameter list object that contains the 0015 % default parameter values: 0016 % 0017 % >> pl = mtimes(ao, 'Params') 0018 % 0019 % HISTORY: 05-02-07 M Hewitson 0020 % Creation 0021 % 0022 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0023 0024 ALGONAME = mfilename; 0025 VERSION = '$Id: mtimes.m,v 1.12 2007/11/02 13:17:41 ingo Exp $'; 0026 0027 %% Check if this is a call for parameters 0028 if nargin == 2 0029 if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0030 in = char(varargin{2}); 0031 if strcmp(in, 'Params') 0032 b = getDefaultPL(); 0033 return 0034 elseif strcmp(in, 'Version') 0035 b = VERSION; 0036 return 0037 end 0038 end 0039 end 0040 0041 % capture input variable names 0042 invars = {}; 0043 for j=1:nargin 0044 iname = inputname(j); 0045 if isempty(iname) && isnumeric(varargin{j}) 0046 iname = num2str(varargin{j}); 0047 elseif isempty(iname) && ischar(varargin{j}) 0048 iname = varargin{j}; 0049 end 0050 invars = [invars cellstr(iname)]; 0051 end 0052 0053 op = '*'; 0054 0055 [a1,a2,do] = aooperate(varargin, op); 0056 0057 %--------- create output AO 0058 0059 % make a new history object 0060 h = history(ALGONAME, VERSION, plist(), [a1.hist a2.hist]); 0061 h = set(h, 'invars', invars); 0062 0063 % get names for output 0064 if isempty(char(invars{1})) 0065 n1 = a1.name; 0066 else 0067 n1 = char(invars{1}); 0068 end 0069 if isempty(char(invars{2})) 0070 n2 = a2.name; 0071 else 0072 n2 = char(invars{2}); 0073 end 0074 0075 % make output analysis object 0076 % op = op(2:end); 0077 b = ao(do, h); 0078 b = setnh(b, 'name', sprintf('%s %s %s', n1, op, n2)); 0079 0080 %% Get default params 0081 function pl_default = getDefaultPL() 0082 0083 pl_default = plist(); 0084 0085 0086 % END